diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 51114e7d..a4ae1028 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -503,6 +503,21 @@ "configurationBatteryMultiwiiCurrent": { "message": "Enable support for legacy Multiwii MSP current output" }, + "configuration3d": { + "message": "3D" + }, + "configuration3dDeadbandLow": { + "message": "3D Deadband Low" + }, + "configuration3dDeadbandHigh": { + "message": "3D Deadband High" + }, + "configuration3dNeutral": { + "message": "3D Neutral" + }, + "configuration3dDeadbandThrottle": { + "message": "3D Deadband Throttle" + }, "configurationSystem": { "message": "System configuration" }, diff --git a/js/data_storage.js b/js/data_storage.js index 53f87245..82ad2dad 100755 --- a/js/data_storage.js +++ b/js/data_storage.js @@ -165,6 +165,13 @@ var MISC = { vbatwarningcellvoltage: 0 }; +var _3D = { + deadband3d_low: 0, + deadband3d_high: 0, + neutral3d: 0, + deadband3d_throttle: 0 +}; + var DATAFLASH = { ready: false, sectors: 0, diff --git a/js/msp.js b/js/msp.js index 1cdc18c0..35f5e74b 100644 --- a/js/msp.js +++ b/js/msp.js @@ -52,6 +52,7 @@ var MSP_codes = { MSP_WP: 118, MSP_BOXIDS: 119, MSP_SERVO_CONFIGURATIONS: 120, + MSP_3D: 124, MSP_SET_RAW_RC: 200, MSP_SET_RAW_GPS: 201, @@ -67,6 +68,7 @@ var MSP_codes = { MSP_SET_HEAD: 211, MSP_SET_SERVO_CONFIGURATION: 212, MSP_SET_MOTOR: 214, + MSP_SET_3D: 217, // MSP_BIND: 240, @@ -409,6 +411,16 @@ var MSP = { MISC.vbatmaxcellvoltage = data.getUint8(offset++, 1) / 10; // 10-50 MISC.vbatwarningcellvoltage = data.getUint8(offset++, 1) / 10; // 10-50 break; + case MSP_codes.MSP_3D: + var offset = 0; + _3D.deadband3d_low = data.getUint16(offset, 1); + offset += 2; + _3D.deadband3d_high = data.getUint16(offset, 1); + offset += 2; + _3D.neutral3d = data.getUint16(offset, 1); + offset += 2; + _3D.deadband3d_throttle = data.getUint16(offset, 1); + break; case MSP_codes.MSP_MOTOR_PINS: console.log(data); break; @@ -1129,6 +1141,16 @@ MSP.crunch = function (code) { } } break; + case MSP_codes.MSP_SET_3D: + buffer.push(lowByte(_3D.deadband3d_low)); + buffer.push(highByte(_3D.deadband3d_low)); + buffer.push(lowByte(_3D.deadband3d_high)); + buffer.push(highByte(_3D.deadband3d_high)); + buffer.push(lowByte(_3D.neutral3d)); + buffer.push(highByte(_3D.neutral3d)); + buffer.push(lowByte(_3D.deadband3d_throttle)); + buffer.push(highByte(_3D.deadband3d_throttle)); + break; default: return false; diff --git a/tabs/configuration.html b/tabs/configuration.html index a53226a0..26094a1e 100644 --- a/tabs/configuration.html +++ b/tabs/configuration.html @@ -241,6 +241,7 @@ +