mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-19 14:25:13 +03:00
Add support for MAG gain calibration
This commit is contained in:
parent
14e2e1ad1b
commit
b85c671b77
4 changed files with 41 additions and 5 deletions
5
js/fc.js
5
js/fc.js
|
@ -401,6 +401,11 @@ var FC = {
|
||||||
},
|
},
|
||||||
opflow: {
|
opflow: {
|
||||||
Scale: null
|
Scale: null
|
||||||
|
},
|
||||||
|
magGain: {
|
||||||
|
X: null,
|
||||||
|
Y: null,
|
||||||
|
Z: null
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1271,6 +1271,12 @@ var mspHelper = (function (gui) {
|
||||||
CALIBRATION_DATA.magZero.Z = data.getInt16(17, true);
|
CALIBRATION_DATA.magZero.Z = data.getInt16(17, true);
|
||||||
CALIBRATION_DATA.opflow.Scale = (data.getInt16(19, true) / 256.0);
|
CALIBRATION_DATA.opflow.Scale = (data.getInt16(19, true) / 256.0);
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) {
|
||||||
|
CALIBRATION_DATA.magGain.X = data.getInt16(21, true);
|
||||||
|
CALIBRATION_DATA.magGain.Y = data.getInt16(23, true);
|
||||||
|
CALIBRATION_DATA.magGain.Z = data.getInt16(25, true);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSPCodes.MSP_SET_CALIBRATION_DATA:
|
case MSPCodes.MSP_SET_CALIBRATION_DATA:
|
||||||
|
@ -1919,6 +1925,18 @@ var mspHelper = (function (gui) {
|
||||||
|
|
||||||
buffer.push(lowByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256)));
|
buffer.push(lowByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256)));
|
||||||
buffer.push(highByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256)));
|
buffer.push(highByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256)));
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) {
|
||||||
|
buffer.push(lowByte(CALIBRATION_DATA.magGain.X));
|
||||||
|
buffer.push(highByte(CALIBRATION_DATA.magGain.X));
|
||||||
|
|
||||||
|
buffer.push(lowByte(CALIBRATION_DATA.magGain.Y));
|
||||||
|
buffer.push(highByte(CALIBRATION_DATA.magGain.Y));
|
||||||
|
|
||||||
|
buffer.push(lowByte(CALIBRATION_DATA.magGain.Z));
|
||||||
|
buffer.push(highByte(CALIBRATION_DATA.magGain.Z));
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSPCodes.MSP_SET_POSITION_ESTIMATION_CONFIG:
|
case MSPCodes.MSP_SET_POSITION_ESTIMATION_CONFIG:
|
||||||
|
|
|
@ -98,17 +98,29 @@
|
||||||
</div>
|
</div>
|
||||||
<table id="mag-calibrated-data" class="cf_table">
|
<table id="mag-calibrated-data" class="cf_table">
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="MagX"><span>X</span></label></td>
|
<td><label for="MagX"><span>Zero X</span></label></td>
|
||||||
<td><input type="number" name="MagX" min="0" max="2000"></td>
|
<td><input type="number" name="MagX" min="0" max="2000"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="MagY"><span>Y</span></label></td>
|
<td><label for="MagY"><span>Zero Y</span></label></td>
|
||||||
<td><input type="number" name="MagY" min="0" max="2000"></td>
|
<td><input type="number" name="MagY" min="0" max="2000"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="MagZ"><span>Z</span></label></td>
|
<td><label for="MagZ"><span>Zero Z</span></label></td>
|
||||||
<td><input type="number" name="MagZ" min="0" max="2000"></td>
|
<td><input type="number" name="MagZ" min="0" max="2000"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><label for="MagGainX"><span>Gain X</span></label></td>
|
||||||
|
<td><input type="number" name="MagGainX" min="0" max="2000"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><label for="MagGainY"><span>Gain Y</span></label></td>
|
||||||
|
<td><input type="number" name="MagGainY" min="0" max="2000"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><label for="MagGainZ"><span>Gain Z</span></label></td>
|
||||||
|
<td><input type="number" name="MagGainZ" min="0" max="2000"></td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -103,6 +103,7 @@ TABS.calibration.initialize = function (callback) {
|
||||||
$('[name=accGain' + item + ']').val(CALIBRATION_DATA.accGain[item]);
|
$('[name=accGain' + item + ']').val(CALIBRATION_DATA.accGain[item]);
|
||||||
$('[name=accZero' + item + ']').val(CALIBRATION_DATA.accZero[item]);
|
$('[name=accZero' + item + ']').val(CALIBRATION_DATA.accZero[item]);
|
||||||
$('[name=Mag' + item + ']').val(CALIBRATION_DATA.magZero[item]);
|
$('[name=Mag' + item + ']').val(CALIBRATION_DATA.magZero[item]);
|
||||||
|
$('[name=MagGain' + item + ']').val(CALIBRATION_DATA.magGain[item]);
|
||||||
});
|
});
|
||||||
$('[name=OpflowScale]').val(CALIBRATION_DATA.opflow.Scale);
|
$('[name=OpflowScale]').val(CALIBRATION_DATA.opflow.Scale);
|
||||||
updateCalibrationSteps();
|
updateCalibrationSteps();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue