mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-16 21:05:35 +03:00
more dynamic approach to pid parsing
This commit is contained in:
parent
4c309967bb
commit
2ce29db887
1 changed files with 3 additions and 5 deletions
|
@ -226,7 +226,7 @@ function send_message(code, data, callback_sent, callback_msp) {
|
|||
});
|
||||
}
|
||||
|
||||
function process_data(code, message_buffer, message_length_expected) {
|
||||
function process_data(code, message_buffer, message_length) {
|
||||
var data = new DataView(message_buffer, 0); // DataView (allowing us to view arrayBuffer as struct/union)
|
||||
|
||||
switch (code) {
|
||||
|
@ -329,8 +329,7 @@ function process_data(code, message_buffer, message_length_expected) {
|
|||
break;
|
||||
case MSP_codes.MSP_PID:
|
||||
// PID data arrived, we need to scale it and save to appropriate bank / array
|
||||
var needle = 0;
|
||||
for (var i = 0; i < 10; i++) {
|
||||
for (var i = 0, needle = 0; i < (message_length / 3); i++, needle += 3) {
|
||||
// main for loop selecting the pid section
|
||||
switch (i) {
|
||||
case 0:
|
||||
|
@ -356,7 +355,6 @@ function process_data(code, message_buffer, message_length_expected) {
|
|||
PIDs[i][2] = data.getUint8(needle + 2) / 1000;
|
||||
break;
|
||||
}
|
||||
needle += 3;
|
||||
}
|
||||
break;
|
||||
case MSP_codes.MSP_BOX:
|
||||
|
@ -522,7 +520,7 @@ function process_data(code, message_buffer, message_length_expected) {
|
|||
clearInterval(MSP.callbacks[i].timer);
|
||||
|
||||
// fire callback
|
||||
MSP.callbacks[i].callback({'command': code, 'data': data, 'length': message_length_expected});
|
||||
MSP.callbacks[i].callback({'command': code, 'data': data, 'length': message_length});
|
||||
|
||||
// remove object from array
|
||||
MSP.callbacks.splice(i, 1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue