mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-22 07:44:03 -04:00
autotest: add test for accelerometer pose calibration
This commit is contained in:
parent
881eadb993
commit
e080493a7c
@ -5021,6 +5021,10 @@ Brakes have negligible effect (with=%0.2fm without=%0.2fm delta=%0.2fm)
|
||||
"Upload/Download of items in different frames",
|
||||
self.test_mission_frames),
|
||||
|
||||
("AccelCal",
|
||||
"Accelerometer Calibration testing",
|
||||
self.accelcal),
|
||||
|
||||
("DownLoadLogs", "Download logs", lambda:
|
||||
self.log_download(
|
||||
self.buildlogs_path("APMrover2-log.bin"),
|
||||
|
@ -3655,6 +3655,48 @@ switch value'''
|
||||
if self.get_distance_int(gps1, gps2) > 1:
|
||||
raise NotAchievedException("NMEA output inaccurate")
|
||||
|
||||
def mavproxy_load_module(self, module):
|
||||
self.mavproxy.send("module load %s\n" % module)
|
||||
self.mavproxy.expect("Loaded module %s" % module)
|
||||
|
||||
def mavproxy_unload_module(self, module):
|
||||
self.mavproxy.send("module unload %s\n" % module)
|
||||
self.mavproxy.expect("Unloaded module %s" % module)
|
||||
|
||||
def accelcal(self):
|
||||
ex = None
|
||||
try:
|
||||
self.customise_SITL_commandline(["-M", "calibration"])
|
||||
self.mavproxy_load_module("sitl_calibration")
|
||||
self.mavproxy_load_module("calibration")
|
||||
self.mavproxy_load_module("relay")
|
||||
self.mavproxy.send("sitl_accelcal\n")
|
||||
self.mavproxy.send("accelcal\n")
|
||||
self.mavproxy.expect("Init Gyro")
|
||||
self.mavproxy.expect("Calibrated")
|
||||
for wanted in [ "level",
|
||||
"on its LEFT side",
|
||||
"on its RIGHT side",
|
||||
"nose DOWN",
|
||||
"nose UP",
|
||||
"on its BACK",
|
||||
]:
|
||||
timeout = 2
|
||||
self.mavproxy.expect("Place vehicle %s and press any key." % wanted, timeout=timeout)
|
||||
self.mavproxy.expect("sitl_accelcal: sending attitude, please wait..", timeout=timeout)
|
||||
self.mavproxy.expect("sitl_accelcal: attitude detected, please press any key..", timeout=timeout)
|
||||
self.mavproxy.send("\n")
|
||||
self.mavproxy.expect("APM: Calibration successful", timeout=timeout)
|
||||
except Exception as e:
|
||||
self.progress("Caught exception: %s" %
|
||||
self.get_exception_stacktrace(e))
|
||||
ex = e
|
||||
self.mavproxy_unload_module("relay")
|
||||
self.mavproxy_unload_module("calibration")
|
||||
self.mavproxy_unload_module("sitl_calibration")
|
||||
if ex is not None:
|
||||
raise ex
|
||||
|
||||
def test_button(self):
|
||||
self.set_parameter("SIM_PIN_MASK", 0)
|
||||
self.set_parameter("BTN_ENABLE", 1)
|
||||
|
Loading…
Reference in New Issue
Block a user