MSP commands for ADVANCED_CONFIG

pull/51/head
Pawel Spychalski (DzikuVx) 8 years ago
parent 81d141dda0
commit 540d90a45a

@ -37,6 +37,7 @@ var SENSOR_ALIGNMENT;
var RX_CONFIG;
var FAILSAFE_CONFIG;
var RXFAIL_CONFIG;
var ADVANCED_CONFIG;
var FC = {
isRatesInDps: function () {
@ -199,6 +200,16 @@ var FC = {
vbatwarningcellvoltage: 0
};
ADVANCED_CONFIG = {
gyroSyncDenominator: null,
pidProcessDenom: null,
useUnsyncedPwm: null,
motorPwmProtocol: null,
motorPwmRate: null,
servoPwmRate: null,
gyroSync: null
};
_3D = {
deadband3d_low: 0,
deadband3d_high: 0,

@ -43,6 +43,9 @@ var MSP_codes = {
MSP_TRANSPONDER_CONFIG: 82,
MSP_SET_TRANSPONDER_CONFIG: 83,
MSP_ADVANCED_CONFIG: 90,
MSP_SET_ADVANCED_CONFIG: 91,
// Multiwii MSP commands
MSP_IDENT: 100,
MSP_STATUS: 101,
@ -1070,6 +1073,28 @@ var MSP = {
case MSP_codes.MSP_SET_TRANSPONDER_CONFIG:
console.log("Transponder config saved");
break;
case MSP_codes.MSP_ADVANCED_CONFIG:
var offset = 0;
ADVANCED_CONFIG.gyroSyncDenominator = data.getUint8(offset, 1);
offset++;
ADVANCED_CONFIG.pidProcessDenom = data.getUint8(offset, 1);
offset++;
ADVANCED_CONFIG.useUnsyncedPwm = data.getUint8(offset, 1);
offset++;
ADVANCED_CONFIG.motorPwmProtocol = data.getUint8(offset, 1);
offset++;
ADVANCED_CONFIG.motorPwmRate = data.getUint16(offset, 1);
offset += 2;
ADVANCED_CONFIG.servoPwmRate = data.getUint16(offset, 1);
offset += 2;
ADVANCED_CONFIG.gyroSync = data.getUint8(offset, 1);
break;
case MSP_codes.MSP_SET_ADVANCED_CONFIG:
console.log("Advanced config saved");
break;
case MSP_codes.MSP_SET_MODE_RANGE:
console.log('Mode range saved');
break;
@ -1454,6 +1479,21 @@ MSP.crunch = function (code) {
buffer.push(SENSOR_ALIGNMENT.align_mag);
break;
case MSP_codes.MSP_SET_ADVANCED_CONFIG:
buffer.push(ADVANCED_CONFIG.gyroSyncDenominator);
buffer.push(ADVANCED_CONFIG.pidProcessDenom);
buffer.push(ADVANCED_CONFIG.useUnsyncedPwm);
buffer.push(ADVANCED_CONFIG.motorPwmProtocol);
buffer.push(lowByte(ADVANCED_CONFIG.motorPwmRate));
buffer.push(highByte(ADVANCED_CONFIG.motorPwmRate));
buffer.push(lowByte(ADVANCED_CONFIG.servoPwmRate));
buffer.push(highByte(ADVANCED_CONFIG.servoPwmRate));
buffer.push(ADVANCED_CONFIG.gyroSync);
break;
default:
return false;
}

@ -68,13 +68,23 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
}
function load_sensor_alignment() {
var next_callback = load_html;
var next_callback = loadAdvancedConfig;
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
MSP.send_message(MSP_codes.MSP_SENSOR_ALIGNMENT, false, false, next_callback);
} else {
next_callback();
}
}
function loadAdvancedConfig() {
var next_callback = load_html;
if (semver.gte(CONFIG.flightControllerVersion, "1.3.0")) {
MSP.send_message(MSP_codes.MSP_ADVANCED_CONFIG, false, false, next_callback);
} else {
next_callback();
}
}
//Update Analog/Battery Data
function load_analog() {
MSP.send_message(MSP_codes.MSP_ANALOG, false, false, function () {
@ -605,7 +615,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
}
function save_rx_config() {
var next_callback = save_to_eeprom;
var next_callback = saveAdvancedConfig;
if(semver.gte(CONFIG.apiVersion, "1.21.0")) {
MSP.send_message(MSP_codes.MSP_SET_RX_CONFIG, MSP.crunch(MSP_codes.MSP_SET_RX_CONFIG), false, next_callback);
} else {
@ -613,6 +623,15 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
}
}
function saveAdvancedConfig() {
var next_callback = save_to_eeprom;
if(semver.gte(CONFIG.flightControllerVersion, "1.3.0")) {
MSP.send_message(MSP_codes.MSP_SET_ADVANCED_CONFIG, MSP.crunch(MSP_codes.MSP_SET_ADVANCED_CONFIG), false, next_callback);
} else {
next_callback();
}
}
function save_to_eeprom() {
MSP.send_message(MSP_codes.MSP_EEPROM_WRITE, false, false, reboot);
}

Loading…
Cancel
Save