From da2cf627d8b0a2926fdb73e371c85dcfdbb1766c Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Mon, 1 Apr 2019 20:32:42 +1100 Subject: [PATCH] Tools: autotest: add test for buttons --- Tools/autotest/apmrover2.py | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Tools/autotest/apmrover2.py b/Tools/autotest/apmrover2.py index 47d66dc1a4..7d1ea29948 100644 --- a/Tools/autotest/apmrover2.py +++ b/Tools/autotest/apmrover2.py @@ -966,6 +966,44 @@ Brakes have negligible effect (with=%0.2fm without=%0.2fm delta=%0.2fm) if ex is not None: raise ex + def drain_mav_seconds(self, seconds): + tstart = self.get_sim_time_cached() + while self.get_sim_time_cached() - tstart < seconds: + self.drain_mav(); + self.delay_sim_time(0.5) + + def test_button(self): + self.set_parameter("SIM_PIN_MASK", 0) + self.set_parameter("BTN_ENABLE", 1) + btn = 2 + pin = 3 + self.set_parameter("BTN_PIN%u" % btn, pin) + self.drain_mav() + m = self.mav.recv_match(type='BUTTON_CHANGE', blocking=True, timeout=1) + self.progress("m: %s" % str(m)) + if m is None: + raise NotAchievedException("Did not get BUTTON_CHANGE event") + mask = 1<