mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-03-10 08:34:17 -03:00
autotest: add test for auxfunc triggering via script
This commit is contained in:
parent
0545c3941b
commit
9a13b5c9b6
@ -5060,6 +5060,19 @@ class AutoTest(ABC):
|
||||
**kwargs
|
||||
)
|
||||
|
||||
def wait_parameter_value(self, parameter, value, timeout=10):
|
||||
tstart = self.get_sim_time()
|
||||
while True:
|
||||
if self.get_sim_time_cached() - tstart > timeout:
|
||||
raise NotAchievedException("%s never got value %f" %
|
||||
(parameter, value))
|
||||
v = self.get_parameter(parameter, verbose=False)
|
||||
self.progress("Got parameter value (%s=%f)" %
|
||||
(parameter, v))
|
||||
if v == value:
|
||||
return
|
||||
self.delay_sim_time(0.1)
|
||||
|
||||
def get_servo_channel_value(self, channel, timeout=2):
|
||||
channel_field = "servo%u_raw" % channel
|
||||
tstart = self.get_sim_time()
|
||||
|
@ -5115,10 +5115,40 @@ Brakes have negligible effect (with=%0.2fm without=%0.2fm delta=%0.2fm)
|
||||
if ex is not None:
|
||||
raise ex
|
||||
|
||||
def test_scripting_auxfunc(self):
|
||||
self.start_subtest("Scripting aufunc triggering")
|
||||
|
||||
self.context_push()
|
||||
self.set_parameter('RELAY_PIN', 1)
|
||||
self.context_collect("STATUSTEXT")
|
||||
|
||||
ex = None
|
||||
example_script = "RCIN_test.lua"
|
||||
try:
|
||||
self.set_parameter("SCR_ENABLE", 1)
|
||||
self.install_example_script(example_script)
|
||||
self.reboot_sitl()
|
||||
self.wait_parameter_value("SIM_PIN_MASK", 121)
|
||||
self.wait_parameter_value("SIM_PIN_MASK", 123)
|
||||
self.wait_parameter_value("SIM_PIN_MASK", 121)
|
||||
except Exception as e:
|
||||
self.print_exception_caught(e)
|
||||
ex = e
|
||||
|
||||
self.remove_example_script(example_script)
|
||||
|
||||
self.context_pop()
|
||||
|
||||
self.reboot_sitl()
|
||||
|
||||
if ex is not None:
|
||||
raise ex
|
||||
|
||||
def test_scripting(self):
|
||||
self.test_scripting_hello_world()
|
||||
self.test_scripting_simple_loop()
|
||||
self.test_scripting_internal_test()
|
||||
self.test_scripting_auxfunc()
|
||||
|
||||
def test_mission_frame(self, frame, target_system=1, target_component=1):
|
||||
self.clear_mission(mavutil.mavlink.MAV_MISSION_TYPE_MISSION,
|
||||
|
Loading…
Reference in New Issue
Block a user