mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-22 15:55:28 +03:00
MSP layer for MSP_SENSOR_CONFIG
This commit is contained in:
parent
f7ff9f1b8b
commit
55293812d2
4 changed files with 75 additions and 11 deletions
27
js/fc.js
27
js/fc.js
|
@ -42,12 +42,13 @@ var INAV_PID_CONFIG;
|
||||||
var PID_ADVANCED;
|
var PID_ADVANCED;
|
||||||
var FILTER_CONFIG;
|
var FILTER_CONFIG;
|
||||||
var SENSOR_STATUS;
|
var SENSOR_STATUS;
|
||||||
|
var SENSOR_CONFIG;
|
||||||
|
|
||||||
var FC = {
|
var FC = {
|
||||||
isRatesInDps: function () {
|
isRatesInDps: function () {
|
||||||
return !!(typeof CONFIG != "undefined" && CONFIG.flightControllerIdentifier == "INAV" && semver.gt(CONFIG.flightControllerVersion, "1.1.0"));
|
return !!(typeof CONFIG != "undefined" && CONFIG.flightControllerIdentifier == "INAV" && semver.gt(CONFIG.flightControllerVersion, "1.1.0"));
|
||||||
},
|
},
|
||||||
resetState: function() {
|
resetState: function () {
|
||||||
SENSOR_STATUS = {
|
SENSOR_STATUS = {
|
||||||
isHardwareHealthy: 0,
|
isHardwareHealthy: 0,
|
||||||
gyroHwStatus: 0,
|
gyroHwStatus: 0,
|
||||||
|
@ -60,6 +61,15 @@ var FC = {
|
||||||
flowHwStatus: 0
|
flowHwStatus: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
SENSOR_CONFIG = {
|
||||||
|
accelerometer: 0,
|
||||||
|
barometer: 0,
|
||||||
|
magnetometer: 0,
|
||||||
|
pitot: 0,
|
||||||
|
rangefinder: 0,
|
||||||
|
opflow: 0
|
||||||
|
};
|
||||||
|
|
||||||
CONFIG = {
|
CONFIG = {
|
||||||
apiVersion: "0.0.0",
|
apiVersion: "0.0.0",
|
||||||
flightControllerIdentifier: '',
|
flightControllerIdentifier: '',
|
||||||
|
@ -628,5 +638,20 @@ var FC = {
|
||||||
},
|
},
|
||||||
getOsdDisabledFields: function () {
|
getOsdDisabledFields: function () {
|
||||||
return ['CRAFT_NAME', 'VTX_CHANNEL']
|
return ['CRAFT_NAME', 'VTX_CHANNEL']
|
||||||
|
},
|
||||||
|
getAccelerometerNames: function () {
|
||||||
|
return [ "NONE", "AUTO", "ADXL345", "MPU6050", "MMA845x", "BMA280", "LSM303DLHC", "MPU6000", "MPU6500", "MPU9250", "FAKE"];
|
||||||
|
},
|
||||||
|
getMagnetometerNames: function () {
|
||||||
|
return ["NONE", "HMC5883", "AK8975", "GPSMAG", "MAG3110", "AK8963", "IST8310", "FAKE"];
|
||||||
|
},
|
||||||
|
getBarometerNames: function () {
|
||||||
|
return ["NONE", "BMP085", "MS5611", "BMP280", "FAKE"];
|
||||||
|
},
|
||||||
|
getPitotNames: function () {
|
||||||
|
return ["NONE", "MS4525", "FAKE"];
|
||||||
|
},
|
||||||
|
getRangefinderNames: function () {
|
||||||
|
return ["NONE", "HCSR04", "SRF10"];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -54,6 +54,8 @@ var MSPCodes = {
|
||||||
MSP_SET_FILTER_CONFIG: 93,
|
MSP_SET_FILTER_CONFIG: 93,
|
||||||
MSP_PID_ADVANCED: 94,
|
MSP_PID_ADVANCED: 94,
|
||||||
MSP_SET_PID_ADVANCED: 95,
|
MSP_SET_PID_ADVANCED: 95,
|
||||||
|
MSP_SENSOR_CONFIG: 96,
|
||||||
|
MSP_SET_SENSOR_CONFIG: 97,
|
||||||
|
|
||||||
// Multiwii MSP commands
|
// Multiwii MSP commands
|
||||||
MSP_IDENT: 100,
|
MSP_IDENT: 100,
|
||||||
|
|
|
@ -834,6 +834,19 @@ var mspHelper = (function (gui) {
|
||||||
console.log("PID advanced saved");
|
console.log("PID advanced saved");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP_SENSOR_CONFIG:
|
||||||
|
SENSOR_CONFIG.accelerometer = data.getUint8(0, true);
|
||||||
|
SENSOR_CONFIG.barometer = data.getUint8(1, true);
|
||||||
|
SENSOR_CONFIG.magnetometer = data.getUint8(2, true);
|
||||||
|
SENSOR_CONFIG.pitot = data.getUint8(3, true);
|
||||||
|
SENSOR_CONFIG.rangefinder = data.getUint8(4, true);
|
||||||
|
SENSOR_CONFIG.opflow = data.getUint8(5, true);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP_SET_SENSOR_CONFIG:
|
||||||
|
console.log("Sensor config saved");
|
||||||
|
break;
|
||||||
|
|
||||||
case MSPCodes.MSP_INAV_PID:
|
case MSPCodes.MSP_INAV_PID:
|
||||||
INAV_PID_CONFIG.asynchronousMode = data.getUint8(0);
|
INAV_PID_CONFIG.asynchronousMode = data.getUint8(0);
|
||||||
INAV_PID_CONFIG.accelerometerTaskFrequency = data.getUint16(1, true);
|
INAV_PID_CONFIG.accelerometerTaskFrequency = data.getUint16(1, true);
|
||||||
|
@ -1208,6 +1221,15 @@ var mspHelper = (function (gui) {
|
||||||
buffer.push(highByte(PID_ADVANCED.axisAccelerationLimitYaw));
|
buffer.push(highByte(PID_ADVANCED.axisAccelerationLimitYaw));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP_SET_SENSOR_CONFIG:
|
||||||
|
buffer.push(SENSOR_CONFIG.accelerometer);
|
||||||
|
buffer.push(SENSOR_CONFIG.barometer);
|
||||||
|
buffer.push(SENSOR_CONFIG.magnetometer);
|
||||||
|
buffer.push(SENSOR_CONFIG.pitot);
|
||||||
|
buffer.push(SENSOR_CONFIG.rangefinder);
|
||||||
|
buffer.push(SENSOR_CONFIG.opflow);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadINAVPidConfig() {
|
function loadINAVPidConfig() {
|
||||||
var next_callback = load_html;
|
var next_callback = loadSensorConfig;
|
||||||
if (semver.gt(CONFIG.flightControllerVersion, "1.3.0")) {
|
if (semver.gt(CONFIG.flightControllerVersion, "1.3.0")) {
|
||||||
MSP.send_message(MSPCodes.MSP_INAV_PID, false, false, next_callback);
|
MSP.send_message(MSPCodes.MSP_INAV_PID, false, false, next_callback);
|
||||||
} else {
|
} else {
|
||||||
|
@ -60,6 +60,15 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadSensorConfig() {
|
||||||
|
var next_callback = load_html;
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "1.5.0")) {
|
||||||
|
MSP.send_message(MSPCodes.MSP_SENSOR_CONFIG, false, false, next_callback);
|
||||||
|
} else {
|
||||||
|
next_callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Update Analog/Battery Data
|
//Update Analog/Battery Data
|
||||||
function load_analog() {
|
function load_analog() {
|
||||||
MSP.send_message(MSPCodes.MSP_ANALOG, false, false, function () {
|
MSP.send_message(MSPCodes.MSP_ANALOG, false, false, function () {
|
||||||
|
@ -497,6 +506,12 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
$(".requires-v1_4").hide();
|
$(".requires-v1_4").hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "1.5.0")) {
|
||||||
|
|
||||||
|
$(".requires-v1_5").show();
|
||||||
|
} else {
|
||||||
|
$(".requires-v1_5").hide();
|
||||||
|
}
|
||||||
|
|
||||||
$('input[name="3ddeadbandlow"]').val(_3D.deadband3d_low);
|
$('input[name="3ddeadbandlow"]').val(_3D.deadband3d_low);
|
||||||
$('input[name="3ddeadbandhigh"]').val(_3D.deadband3d_high);
|
$('input[name="3ddeadbandhigh"]').val(_3D.deadband3d_high);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue