1
0
Fork 0
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:
Pawel Spychalski (DzikuVx) 2016-12-17 20:32:16 +01:00
parent f7ff9f1b8b
commit 55293812d2
4 changed files with 75 additions and 11 deletions

View file

@ -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"];
} }
}; };

View file

@ -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,

View file

@ -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;
} }

View file

@ -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);