diff options
author | Pawel Spychalski (DzikuVx) <pspychalski@gmail.com> | 2019-03-09 13:57:33 +0300 |
---|---|---|
committer | Pawel Spychalski (DzikuVx) <pspychalski@gmail.com> | 2019-03-09 13:57:33 +0300 |
commit | d242ecc2413021d480f162733bb9f6eba7a151de (patch) | |
tree | 3f28e6d89a7695d10998f129052960813ed177d6 /js | |
parent | 731b9e9e29755962e6f9c9445bf06c90ce4880af (diff) |
Add FF component to VEL XY
Diffstat (limited to 'js')
-rw-r--r-- | js/fc.js | 2 | ||||
-rw-r--r-- | js/msp/MSPCodes.js | 5 | ||||
-rw-r--r-- | js/msp/MSPHelper.js | 32 |
3 files changed, 35 insertions, 4 deletions
@@ -128,7 +128,7 @@ var FC = { PID_names = []; PIDs = new Array(10); for (var i = 0; i < 10; i++) { - PIDs[i] = new Array(3); + PIDs[i] = new Array(4); } RC_MAP = []; diff --git a/js/msp/MSPCodes.js b/js/msp/MSPCodes.js index 77fe20e9..40f8f234 100644 --- a/js/msp/MSPCodes.js +++ b/js/msp/MSPCodes.js @@ -201,5 +201,8 @@ var MSPCodes = { MSP2_INAV_TEMP_SENSOR_CONFIG: 0x201C, MSP2_INAV_SET_TEMP_SENSOR_CONFIG: 0x201D, - MSP2_INAV_TEMPERATURES: 0x201E + MSP2_INAV_TEMPERATURES: 0x201E, + + MSP2_PID: 0x2030, + MSP2_SET_PID: 0x2031 }; diff --git a/js/msp/MSPHelper.js b/js/msp/MSPHelper.js index b0556947..8f2b7f4d 100644 --- a/js/msp/MSPHelper.js +++ b/js/msp/MSPHelper.js @@ -320,6 +320,15 @@ var mspHelper = (function (gui) { PIDs[i][2] = data.getUint8(needle + 2); } break; + case MSPCodes.MSP2_PID: + // PID data arrived, we need to scale it and save to appropriate bank / array + for (i = 0, needle = 0; i < (dataHandler.message_length_expected / 4); i++, needle += 4) { + PIDs[i][0] = data.getUint8(needle); + PIDs[i][1] = data.getUint8(needle + 1); + PIDs[i][2] = data.getUint8(needle + 2); + PIDs[i][3] = data.getUint8(needle + 3); + } + break; case MSPCodes.MSP_ARMING_CONFIG: ARMING_CONFIG.auto_disarm_delay = data.getUint8(0); ARMING_CONFIG.disarm_kill_switch = data.getUint8(1); @@ -582,6 +591,9 @@ var mspHelper = (function (gui) { case MSPCodes.MSP_SET_PID: console.log('PID settings saved'); break; + case MSPCodes.MSP2_SET_PID: + console.log('PID settings saved'); + break; case MSPCodes.MSP_SET_RC_TUNING: console.log('RC Tuning saved'); break; @@ -1517,6 +1529,14 @@ var mspHelper = (function (gui) { buffer.push(parseInt(PIDs[i][2])); } break; + case MSPCodes.MSP2_SET_PID: + for (i = 0; i < PIDs.length; i++) { + buffer.push(parseInt(PIDs[i][0])); + buffer.push(parseInt(PIDs[i][1])); + buffer.push(parseInt(PIDs[i][2])); + buffer.push(parseInt(PIDs[i][3])); + } + break; case MSPCodes.MSP_SET_RC_TUNING: buffer.push(Math.round(RC_tuning.RC_RATE * 100)); buffer.push(Math.round(RC_tuning.RC_EXPO * 100)); @@ -2667,7 +2687,11 @@ var mspHelper = (function (gui) { }; self.loadPidData = function (callback) { - MSP.send_message(MSPCodes.MSP_PID, false, false, callback); + if (semver.gte(CONFIG.flightControllerVersion, '2.2.0')) { + MSP.send_message(MSPCodes.MSP2_PID, false, false, callback); + } else { + MSP.send_message(MSPCodes.MSP_PID, false, false, callback); + } }; self.loadPidNames = function (callback) { @@ -2779,7 +2803,11 @@ var mspHelper = (function (gui) { }; self.savePidData = function (callback) { - MSP.send_message(MSPCodes.MSP_SET_PID, mspHelper.crunch(MSPCodes.MSP_SET_PID), false, callback); + if (semver.gte(CONFIG.flightControllerVersion, '2.2.0')) { + MSP.send_message(MSPCodes.MSP2_SET_PID, mspHelper.crunch(MSPCodes.MSP2_SET_PID), false, callback); + } else { + MSP.send_message(MSPCodes.MSP_SET_PID, mspHelper.crunch(MSPCodes.MSP_SET_PID), false, callback); + } }; self.saveRcTuningData = function (callback) { |