From 96d2bdbb126bdce666e580ac96b02b3514797970 Mon Sep 17 00:00:00 2001 From: cTn Date: Thu, 6 Mar 2014 18:52:18 +0100 Subject: [PATCH] only enforce mincommand if necessary --- js/gui.js | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/js/gui.js b/js/gui.js index 81ed87c8..c5db096a 100644 --- a/js/gui.js +++ b/js/gui.js @@ -216,17 +216,35 @@ GUI_control.prototype.tab_switch_cleanup = function(callback) { case 'motor_outputs': GUI.interval_remove('motor_poll'); - // send data to mcu - var buffer_out = []; - - for (var i = 0; i < 8; i++) { - buffer_out.push(lowByte(MISC.mincommand)); - buffer_out.push(highByte(MISC.mincommand)); - } - - send_message(MSP_codes.MSP_SET_MOTOR, buffer_out, false, function() { + // only enforce mincommand if necessary + if (MOTOR_DATA != undefined) { + var update = false; + + for (var i = 0; i < MOTOR_DATA.length; i++) { + if (MOTOR_DATA[i] > MISC.mincommand) { + update = true; + break; + } + } + + if (update) { + // send data to mcu + var buffer_out = []; + + for (var i = 0; i < 8; i++) { + buffer_out.push(lowByte(MISC.mincommand)); + buffer_out.push(highByte(MISC.mincommand)); + } + + send_message(MSP_codes.MSP_SET_MOTOR, buffer_out, false, function() { + if (callback) callback(); + }); + } else { + if (callback) callback(); + } + } else { if (callback) callback(); - }); + } break; case 'sensors': GUI.interval_kill_all(['port_usage']);