mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-30 19:33:45 +08:00
Calibration remount detector: soft disable (#27993)
* Calibration remount detector: soft disable * Update test_calibrationd.py old-commit-hash: a979a54cf9ce02610cc0999a52a9fbed2f7d4cbb
This commit is contained in:
@@ -719,7 +719,7 @@ EVENTS: Dict[int, Dict[str, Union[Alert, AlertCallbackType]]] = {
|
|||||||
|
|
||||||
EventName.calibrationIncomplete: {
|
EventName.calibrationIncomplete: {
|
||||||
ET.PERMANENT: calibration_incomplete_alert,
|
ET.PERMANENT: calibration_incomplete_alert,
|
||||||
ET.SOFT_DISABLE: soft_disable_alert("Calibration in Progress"),
|
ET.SOFT_DISABLE: soft_disable_alert("Device remount detected: recalibrating"),
|
||||||
ET.NO_ENTRY: NoEntryAlert("Calibration in Progress"),
|
ET.NO_ENTRY: NoEntryAlert("Calibration in Progress"),
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ class Calibrator:
|
|||||||
# If spread is too high, assume mounting was changed and reset to last block.
|
# If spread is too high, assume mounting was changed and reset to last block.
|
||||||
# Make the transition smooth. Abrupt transitions are not good for feedback loop through supercombo model.
|
# Make the transition smooth. Abrupt transitions are not good for feedback loop through supercombo model.
|
||||||
if max(self.calib_spread) > MAX_ALLOWED_SPREAD and self.cal_status == Calibration.CALIBRATED:
|
if max(self.calib_spread) > MAX_ALLOWED_SPREAD and self.cal_status == Calibration.CALIBRATED:
|
||||||
self.reset(self.rpys[self.block_idx - 1], valid_blocks=INPUTS_NEEDED, smooth_from=self.rpy)
|
self.reset(self.rpys[self.block_idx - 1], valid_blocks=1, smooth_from=self.rpy)
|
||||||
|
|
||||||
write_this_cycle = (self.idx == 0) and (self.block_idx % (INPUTS_WANTED//5) == 5)
|
write_this_cycle = (self.idx == 0) and (self.block_idx % (INPUTS_WANTED//5) == 5)
|
||||||
if self.param_put and write_this_cycle:
|
if self.param_put and write_this_cycle:
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ class TestCalibrationd(unittest.TestCase):
|
|||||||
[0.0, 0.0, 0.0],
|
[0.0, 0.0, 0.0],
|
||||||
[0.0, 0.0, 0.0],
|
[0.0, 0.0, 0.0],
|
||||||
[1e-3, 1e-3, 1e-3])
|
[1e-3, 1e-3, 1e-3])
|
||||||
self.assertEqual(c.valid_blocks, INPUTS_NEEDED)
|
self.assertEqual(c.valid_blocks, 1)
|
||||||
np.testing.assert_allclose(c.rpy, [0.0, 0.0, -0.05], atol=1e-2)
|
np.testing.assert_allclose(c.rpy, [0.0, 0.0, -0.05], atol=1e-2)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user