GUI for SENSOR_CONFIG

pull/81/head
Pawel Spychalski (DzikuVx) 8 years ago
parent 55293812d2
commit b051cb5f0c

@ -1846,5 +1846,20 @@
},
"tabOSD": {
"message": "OSD"
},
"configurationSensors": {
"message": "Sensors"
},
"sensorAccelerometer": {
"message": "Accelerometer"
},
"sensorMagnetometer": {
"message": "Magnetometer"
},
"sensorBarometer": {
"message": "Barometer"
},
"sensorPitot": {
"message": "Pitot tube"
}
}

@ -497,6 +497,9 @@ hr
.motorstop .select,
.motorstop .checkbox,
.motorstop .number,
.config-section .select,
.config-section .checkbox,
.config-section .number,
.system .select,
.system .checkbox,
.system .number {
@ -506,6 +509,7 @@ hr
#esc-protocols label,
#servo-rate-container label,
.motorstop label,
.config-section label,
.system label {
position: absolute;
left: 10em;
@ -514,4 +518,8 @@ hr
.esc-priority label,
.features.esc label{
position: inherit;
}
.sensors select {
width: 8em;
}

@ -9,8 +9,8 @@
<p data-i18n="configurationFeaturesHelp"></p>
</div>
</div>
<div class="leftWrapper mixer">
<div class="gui_box grey">
<div class="leftWrapper">
<div class="mixer gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationMixer"></div>
</div>
@ -25,9 +25,100 @@
</div>
</div>
</div>
<div class="config-section sensors gui_box grey requires-v1_5">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationSensors"></div>
</div>
<div class="spacer_box">
<div class="checkbox">
<input type="checkbox" id="sensor-acc" class="toggle" />
<label for="sensor-acc">
<span data-i18n="sensorAccelerometer"></span>
</label>
</div>
<!--<div class="select">-->
<!--<select id="sensor-acc"></select>-->
<!--<label for="sensor-acc"> <span data-i18n="sensorAccelerometer"></span></label>-->
<!--</div>-->
<div class="select">
<select id="sensor-mag"></select>
<label for="sensor-mag"> <span data-i18n="sensorMagnetometer"></span></label>
</div>
<div class="select">
<select id="sensor-baro"></select>
<label for="sensor-baro"> <span data-i18n="sensorBarometer"></span></label>
</div>
<div class="select">
<select id="sensor-pitot"></select>
<label for="sensor-pitot"> <span data-i18n="sensorPitot"></span></label>
</div>
</div>
</div>
<div class="board gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationBoardAlignment"></div>
<div class="helpicon cf_tip" data-i18n_title="configHelp2"></div>
</div>
<div class="spacer_box">
<div class="board_align_content">
<div class="number">
<label> <input type="number" name="board_align_roll" step="0.1" min="-180" max="360" /> <span
data-i18n="configurationBoardAlignmentRoll"></span>
</label>
<div class="alignicon roll"></div>
</div>
<div class="number">
<label> <input type="number" name="board_align_pitch" step="0.1" min="-180" max="360" />
<span data-i18n="configurationBoardAlignmentPitch"></span>
</label>
<div class="alignicon pitch"></div>
</div>
<div class="number">
<label> <input type="number" name="board_align_yaw" step="0.1" min="-180" max="360" /> <span
data-i18n="configurationBoardAlignmentYaw"></span>
</label>
<div class="alignicon yaw"></div>
</div>
</div>
<div class="sensoralignment">
<div class="select">
<label>
<span data-i18n="configurationSensorAlignmentGyro"></span>
<select class="gyroalign">
<option value="0">Default</option>
<!-- list generated here -->
</select>
</label>
</div>
<div class="select">
<label>
<span data-i18n="configurationSensorAlignmentAcc"></span>
<select class="accalign">
<option value="0">Default</option>
<!-- list generated here -->
</select>
</label>
</div>
<div class="select">
<label>
<span data-i18n="configurationSensorAlignmentMag"></span>
<select class="magalign">
<option value="0">Default</option>
<!-- list generated here -->
</select>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="rightWrapper motorstop">
<div class="gui_box grey">
<div class="rightWrapper">
<div class="motorstop gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationEscFeatures"></div>
</div>
@ -118,69 +209,7 @@
</div>
</div>
</div>
</div>
<div class="clear-both"></div>
<div class="leftWrapper board">
<div class="gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationBoardAlignment"></div>
<div class="helpicon cf_tip" data-i18n_title="configHelp2"></div>
</div>
<div class="spacer_box">
<div class="board_align_content">
<div class="number">
<label> <input type="number" name="board_align_roll" step="0.1" min="-180" max="360" /> <span
data-i18n="configurationBoardAlignmentRoll"></span>
</label>
<div class="alignicon roll"></div>
</div>
<div class="number">
<label> <input type="number" name="board_align_pitch" step="0.1" min="-180" max="360" />
<span data-i18n="configurationBoardAlignmentPitch"></span>
</label>
<div class="alignicon pitch"></div>
</div>
<div class="number">
<label> <input type="number" name="board_align_yaw" step="0.1" min="-180" max="360" /> <span
data-i18n="configurationBoardAlignmentYaw"></span>
</label>
<div class="alignicon yaw"></div>
</div>
</div>
<div class="sensoralignment">
<div class="select">
<label>
<span data-i18n="configurationSensorAlignmentGyro"></span>
<select class="gyroalign">
<option value="0">Default</option>
<!-- list generated here -->
</select>
</label>
</div>
<div class="select">
<label>
<span data-i18n="configurationSensorAlignmentAcc"></span>
<select class="accalign">
<option value="0">Default</option>
<!-- list generated here -->
</select>
</label>
</div>
<div class="select">
<label>
<span data-i18n="configurationSensorAlignmentMag"></span>
<select class="magalign">
<option value="0">Default</option>
<!-- list generated here -->
</select>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="rightWrapper system">
<div class="gui_box grey">
<div class="system gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationSystem"></div>
</div>

@ -508,6 +508,39 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
if (semver.gte(CONFIG.flightControllerVersion, "1.5.0")) {
var $sensorAcc = $('#sensor-acc'),
$sensorMag = $('#sensor-mag'),
$sensorBaro = $('#sensor-baro'),
$sensorPitot = $('#sensor-pitot');
$sensorAcc.prop("checked", !!SENSOR_CONFIG.accelerometer);
$sensorAcc.change(function () {
if ($(this).is(":checked")) {
SENSOR_CONFIG.accelerometer = 1;
} else {
SENSOR_CONFIG.accelerometer = 0;
}
});
fillSelect($sensorMag, FC.getMagnetometerNames());
$sensorMag.val(SENSOR_CONFIG.magnetometer);
$sensorMag.change(function () {
SENSOR_CONFIG.magnetometer = $sensorMag.val();
});
fillSelect($sensorBaro, FC.getBarometerNames());
$sensorBaro.val(SENSOR_CONFIG.barometer);
$sensorBaro.change(function () {
SENSOR_CONFIG.barometer = $sensorBaro.val();
});
fillSelect($sensorPitot, FC.getPitotNames());
$sensorPitot.val(SENSOR_CONFIG.pitot);
$sensorPitot.change(function () {
SENSOR_CONFIG.pitot = $sensorPitot.val();
});
$(".requires-v1_5").show();
} else {
$(".requires-v1_5").hide();
@ -666,7 +699,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
}
function saveINAVPidConfig() {
var next_callback = save_to_eeprom;
var next_callback = saveSensorConfig;
if(semver.gt(CONFIG.flightControllerVersion, "1.3.0")) {
MSP.send_message(MSPCodes.MSP_SET_INAV_PID, mspHelper.crunch(MSPCodes.MSP_SET_INAV_PID), false, next_callback);
} else {
@ -674,6 +707,15 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
}
}
function saveSensorConfig() {
var next_callback = save_to_eeprom;
if(semver.gte(CONFIG.flightControllerVersion, "1.5.0")) {
MSP.send_message(MSPCodes.MSP_SET_SENSOR_CONFIG, mspHelper.crunch(MSPCodes.MSP_SET_SENSOR_CONFIG), false, next_callback);
} else {
next_callback();
}
}
function save_to_eeprom() {
MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, reboot);
}

Loading…
Cancel
Save