@@ -13671,6 +13671,36 @@ def PLDNoParameters(self):
13671
13671
self.set_parameter('SIM_PLD_ENABLE', 1)
13672
13672
self.wait_statustext('Set SIM_PLD_LAT, SIM_PLD_LAT and SIM_PLD_ALT')
13673
13673
13674
+ def ParamSetFilter(self):
13675
+ '''test LUA parameter-set-filter.lua applet'''
13676
+ self.install_applet_script_context("param-set-filter.lua")
13677
+ self.install_mavlink_module_context()
13678
+ self.set_parameters({
13679
+ 'SCR_ENABLE': 1,
13680
+ })
13681
+ self.set_parameters({
13682
+ 'MAV_OPTIONS': 2,
13683
+ })
13684
+ self.reboot_sitl()
13685
+
13686
+ self.wait_ready_to_arm() # scripts will be ready by now!
13687
+ self.start_subtest("set RTL_ALT freely")
13688
+ self.set_parameter("RTL_ALT", 23)
13689
+ self.set_parameter("RTL_ALT", 28)
13690
+
13691
+ self.start_subtest("Unable to set DISARM_DELAY freely")
13692
+ self.context_push()
13693
+ self.context_collect('STATUSTEXT')
13694
+ old_disarm_delay_value = self.get_parameter('DISARM_DELAY')
13695
+ self.send_set_parameter_direct('DISARM_DELAY', 78)
13696
+ self.wait_statustext('param-set-filter: param set denied (DISARM_DELAY)', check_context=True)
13697
+ self.assert_parameter_value('DISARM_DELAY', old_disarm_delay_value)
13698
+ self.context_pop()
13699
+
13700
+ self.start_subtest("Disabling applet via parameter should allow freely setting DISARM_DELAY")
13701
+ self.set_parameter("PSF_ENFORCE", 0)
13702
+ self.set_parameter("DISARM_DELAY", 56)
13703
+
13674
13704
def do_land(self):
13675
13705
self.change_mode('LAND')
13676
13706
self.wait_disarmed()
@@ -13685,6 +13715,7 @@ def tests2b(self): # this block currently around 9.5mins here
13685
13715
self.DynamicRpmNotchesRateThread,
13686
13716
self.PIDNotches,
13687
13717
self.StaticNotches,
13718
+ self.ParamSetFilter,
13688
13719
self.RefindGPS,
13689
13720
Test(self.GyroFFT, attempts=1, speedup=8),
13690
13721
Test(self.GyroFFTHarmonic, attempts=4, speedup=8),
0 commit comments