diff --git a/js/data_storage.js b/js/data_storage.js index d8cd27d11e..27ebe009cc 100644 --- a/js/data_storage.js +++ b/js/data_storage.js @@ -15,6 +15,7 @@ var CONFIG = { accelerometerTrims: [0, 0] }; +var PID_names = []; var PIDs = new Array(10); for (var i = 0; i < 10; i++) { PIDs[i] = new Array(3); diff --git a/js/msp.js b/js/msp.js index bc54367eba..aa0e124ed0 100644 --- a/js/msp.js +++ b/js/msp.js @@ -315,7 +315,7 @@ MSP.process_data = function(code, message_buffer, message_length) { case MSP_codes.MSP_BOXNAMES: AUX_CONFIG = []; // empty the array as new data is coming in - var buff = new Array(); + var buff = []; for (var i = 0; i < data.byteLength; i++) { if (data.getUint8(i) == 0x3B) { // ; (delimeter char) AUX_CONFIG.push(String.fromCharCode.apply(null, buff)); // convert bytes into ASCII and save as strings @@ -325,11 +325,22 @@ MSP.process_data = function(code, message_buffer, message_length) { } else { buff.push(data.getUint8(i)); } - } break; case MSP_codes.MSP_PIDNAMES: - console.log(data); + PID_names = []; // empty the array as new data is coming in + + var buff = []; + for (var i = 0; i < data.byteLength; i++) { + if (data.getUint8(i) == 0x3B) { // ; (delimeter char) + PID_names.push(String.fromCharCode.apply(null, buff)); // convert bytes into ASCII and save as strings + + // empty buffer + buff = []; + } else { + buff.push(data.getUint8(i)); + } + } break; case MSP_codes.MSP_WP: console.log(data); diff --git a/tabs/pid_tuning.js b/tabs/pid_tuning.js index 58e835bc3c..b5333b3abf 100644 --- a/tabs/pid_tuning.js +++ b/tabs/pid_tuning.js @@ -3,7 +3,11 @@ function tab_initialize_pid_tuning() { GUI.active_tab = 'pid_tuning'; // requesting MSP_STATUS manually because it contains CONFIG.profile - send_message(MSP_codes.MSP_STATUS, false, false, get_pid_data); + send_message(MSP_codes.MSP_STATUS, false, false, get_pid_names); + + function get_pid_names() { + send_message(MSP_codes.MSP_PIDNAMES, false, false, get_pid_data); + } function get_pid_data() { send_message(MSP_codes.MSP_PID, false, false, get_rc_tuning_data);