From 7b64263562b673e30cea79a5945a91b45e067bdd Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Tue, 12 Nov 2024 08:49:13 +1100 Subject: [PATCH] Tools: add ability to simulate more than 2 GPSs --- Tools/autotest/arducopter.py | 100 +++++++++--------- Tools/autotest/arduplane.py | 36 +++---- .../autotest/default_params/airsim-quadX.parm | 2 +- .../copter-gps-for-yaw-nmea.parm | 4 +- .../default_params/copter-gps-for-yaw.parm | 5 +- .../default_params/tracker-gps-for-yaw.parm | 5 +- .../default_params/vee-gull_005.param | 19 ++-- Tools/autotest/quadplane.py | 4 +- Tools/autotest/rover.py | 2 +- Tools/autotest/vehicle_test_suite.py | 24 ++--- Tools/vagrant/mavinit.scr | 1 - 11 files changed, 98 insertions(+), 104 deletions(-) diff --git a/Tools/autotest/arducopter.py b/Tools/autotest/arducopter.py index 4753f0c5db..f1dccfcf1b 100644 --- a/Tools/autotest/arducopter.py +++ b/Tools/autotest/arducopter.py @@ -552,13 +552,13 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.start_subtest("Radio failsafe RTL fails into land mode due to bad position.") self.set_parameter('FS_THR_ENABLE', 1) self.takeoffAndMoveAway() - self.set_parameter('SIM_GPS_DISABLE', 1) + self.set_parameter('SIM_GPS1_ENABLE', 0) self.delay_sim_time(5) self.set_parameter("SIM_RC_FAIL", 1) self.wait_mode("LAND") self.wait_landed_and_disarmed() self.set_parameter("SIM_RC_FAIL", 0) - self.set_parameter('SIM_GPS_DISABLE', 0) + self.set_parameter('SIM_GPS1_ENABLE', 1) self.wait_ekf_happy() self.end_subtest("Completed Radio failsafe RTL fails into land mode due to bad position.") @@ -567,13 +567,13 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.start_subtest("Radio failsafe SmartRTL->RTL fails into land mode due to bad position.") self.set_parameter('FS_THR_ENABLE', 4) self.takeoffAndMoveAway() - self.set_parameter('SIM_GPS_DISABLE', 1) + self.set_parameter('SIM_GPS1_ENABLE', 0) self.delay_sim_time(5) self.set_parameter("SIM_RC_FAIL", 1) self.wait_mode("LAND") self.wait_landed_and_disarmed() self.set_parameter("SIM_RC_FAIL", 0) - self.set_parameter('SIM_GPS_DISABLE', 0) + self.set_parameter('SIM_GPS1_ENABLE', 1) self.wait_ekf_happy() self.end_subtest("Completed Radio failsafe SmartRTL->RTL fails into land mode due to bad position.") @@ -582,13 +582,13 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.start_subtest("Radio failsafe SmartRTL->LAND fails into land mode due to bad position.") self.set_parameter('FS_THR_ENABLE', 5) self.takeoffAndMoveAway() - self.set_parameter('SIM_GPS_DISABLE', 1) + self.set_parameter('SIM_GPS1_ENABLE', 0) self.delay_sim_time(5) self.set_parameter("SIM_RC_FAIL", 1) self.wait_mode("LAND") self.wait_landed_and_disarmed() self.set_parameter("SIM_RC_FAIL", 0) - self.set_parameter('SIM_GPS_DISABLE', 0) + self.set_parameter('SIM_GPS1_ENABLE', 1) self.wait_ekf_happy() self.end_subtest("Completed Radio failsafe SmartRTL->LAND fails into land mode due to bad position.") @@ -597,9 +597,9 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.start_subtest("Radio failsafe SmartRTL->RTL fails into RTL mode due to no path.") self.set_parameter('FS_THR_ENABLE', 4) self.takeoffAndMoveAway() - self.set_parameter('SIM_GPS_DISABLE', 1) + self.set_parameter('SIM_GPS1_ENABLE', 0) self.wait_statustext("SmartRTL deactivated: bad position", timeout=60) - self.set_parameter('SIM_GPS_DISABLE', 0) + self.set_parameter('SIM_GPS1_ENABLE', 1) self.wait_ekf_happy() self.delay_sim_time(5) self.set_parameter("SIM_RC_FAIL", 1) @@ -613,9 +613,9 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.start_subtest("Radio failsafe SmartRTL->LAND fails into land mode due to no path.") self.set_parameter('FS_THR_ENABLE', 5) self.takeoffAndMoveAway() - self.set_parameter('SIM_GPS_DISABLE', 1) + self.set_parameter('SIM_GPS1_ENABLE', 0) self.wait_statustext("SmartRTL deactivated: bad position", timeout=60) - self.set_parameter('SIM_GPS_DISABLE', 0) + self.set_parameter('SIM_GPS1_ENABLE', 1) self.wait_ekf_happy() self.delay_sim_time(5) self.set_parameter("SIM_RC_FAIL", 1) @@ -1958,8 +1958,8 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): glitch_current = 0 self.progress("Apply first glitch") self.set_parameters({ - "SIM_GPS_GLITCH_X": glitch_lat[glitch_current], - "SIM_GPS_GLITCH_Y": glitch_lon[glitch_current], + "SIM_GPS1_GLTCH_X": glitch_lat[glitch_current], + "SIM_GPS1_GLTCH_Y": glitch_lon[glitch_current], }) # record position for 30 seconds @@ -1973,15 +1973,15 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): glitch_current = -1 self.progress("Completed Glitches") self.set_parameters({ - "SIM_GPS_GLITCH_X": 0, - "SIM_GPS_GLITCH_Y": 0, + "SIM_GPS1_GLTCH_X": 0, + "SIM_GPS1_GLTCH_Y": 0, }) else: self.progress("Applying glitch %u" % glitch_current) # move onto the next glitch self.set_parameters({ - "SIM_GPS_GLITCH_X": glitch_lat[glitch_current], - "SIM_GPS_GLITCH_Y": glitch_lon[glitch_current], + "SIM_GPS1_GLTCH_X": glitch_lat[glitch_current], + "SIM_GPS1_GLTCH_Y": glitch_lon[glitch_current], }) # start displaying distance moved after all glitches applied @@ -2002,8 +2002,8 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): # disable gps glitch if glitch_current != -1: self.set_parameters({ - "SIM_GPS_GLITCH_X": 0, - "SIM_GPS_GLITCH_Y": 0, + "SIM_GPS1_GLTCH_X": 0, + "SIM_GPS1_GLTCH_Y": 0, }) if self.use_map: self.show_gps_and_sim_positions(False) @@ -2024,7 +2024,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.wait_attitude(desroll=0, despitch=0, timeout=10, tolerance=1) # apply glitch - self.set_parameter("SIM_GPS_GLITCH_X", 0.001) + self.set_parameter("SIM_GPS1_GLTCH_X", 0.001) # check lean angles remain stable for 20 seconds tstart = self.get_sim_time() @@ -2098,11 +2098,11 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): # stop and test loss of GPS for a short time - it should resume GPS use without falling back into a non aiding mode self.change_mode("LOITER") self.set_parameters({ - "SIM_GPS_DISABLE": 1, + "SIM_GPS1_ENABLE": 0, }) self.delay_sim_time(2) self.set_parameters({ - "SIM_GPS_DISABLE": 0, + "SIM_GPS1_ENABLE": 1, }) # regaining GPS should not result in it falling back to a non-navigation mode self.wait_ekf_flags(mavutil.mavlink.ESTIMATOR_POS_HORIZ_ABS, 0, timeout=1) @@ -2118,8 +2118,8 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): glitch_current = 0 self.progress("Apply first glitch") self.set_parameters({ - "SIM_GPS_GLITCH_X": glitch_lat[glitch_current], - "SIM_GPS_GLITCH_Y": glitch_lon[glitch_current], + "SIM_GPS1_GLTCH_X": glitch_lat[glitch_current], + "SIM_GPS1_GLTCH_Y": glitch_lon[glitch_current], }) # record position for 30 seconds @@ -2132,15 +2132,15 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): if glitch_current < glitch_num: self.progress("Applying glitch %u" % glitch_current) self.set_parameters({ - "SIM_GPS_GLITCH_X": glitch_lat[glitch_current], - "SIM_GPS_GLITCH_Y": glitch_lon[glitch_current], + "SIM_GPS1_GLTCH_X": glitch_lat[glitch_current], + "SIM_GPS1_GLTCH_Y": glitch_lon[glitch_current], }) # turn off glitching self.progress("Completed Glitches") self.set_parameters({ - "SIM_GPS_GLITCH_X": 0, - "SIM_GPS_GLITCH_Y": 0, + "SIM_GPS1_GLTCH_X": 0, + "SIM_GPS1_GLTCH_Y": 0, }) # continue with the mission @@ -2526,7 +2526,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.set_parameters({ "SIM_FLOW_ENABLE": 1, "FLOW_TYPE": 10, - "SIM_GPS_DISABLE": 1, + "SIM_GPS1_ENABLE": 0, "SIM_TERRAIN": 0, }) @@ -2980,13 +2980,13 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): '''fly a mission far from the vehicle origin''' # Fly mission #1 self.set_parameters({ - "SIM_GPS_DISABLE": 1, + "SIM_GPS1_ENABLE": 0, }) self.reboot_sitl() nz = mavutil.location(-43.730171, 169.983118, 1466.3, 270) self.set_origin(nz) self.set_parameters({ - "SIM_GPS_DISABLE": 0, + "SIM_GPS1_ENABLE": 1, }) self.progress("# Load copter_mission") # load the waypoint count @@ -3028,8 +3028,8 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): "GPS1_TYPE": 9, "GPS2_TYPE": 9, # disable simulated GPS, so only via DroneCAN - "SIM_GPS_DISABLE": 1, - "SIM_GPS2_DISABLE": 1, + "SIM_GPS1_ENABLE": 0, + "SIM_GPS2_ENABLE": 0, # this ensures we use DroneCAN baro and compass "SIM_BARO_COUNT" : 0, "SIM_MAG1_DEVID" : 0, @@ -3206,7 +3206,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): "EK3_SRC1_POSZ": 3, "EK3_AFFINITY" : 1, "GPS2_TYPE" : 1, - "SIM_GPS2_DISABLE" : 0, + "SIM_GPS2_ENABLE" : 1, "SIM_GPS2_GLTCH_Z" : -30 }) self.reboot_sitl() @@ -7245,7 +7245,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.context_push() self.set_parameters({ "GPS1_TYPE": 2, - "SIM_GPS_DISABLE": 1, + "SIM_GPS1_ENABLE": 0, }) # if there is no GPS at all then we must direct EK3 to not use # it at all. Otherwise it will never initialise, as it wants @@ -8986,7 +8986,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): "RNGFND1_POS_Y": -0.07, "RNGFND1_POS_Z": -0.005, "SIM_SONAR_SCALE": 30, - "SIM_GPS2_DISABLE": 0, + "SIM_GPS2_ENABLE": 1, }) self.reboot_sitl() @@ -9045,7 +9045,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): self.set_parameters({ "GPS2_TYPE": 1, "SIM_GPS2_TYPE": 1, - "SIM_GPS2_DISABLE": 0, + "SIM_GPS2_ENABLE": 1, "GPS_AUTO_SWITCH": 2, }) self.reboot_sitl() @@ -9116,9 +9116,9 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): "WP_YAW_BEHAVIOR": 0, # do not yaw "GPS2_TYPE": 1, "SIM_GPS2_TYPE": 1, - "SIM_GPS2_DISABLE": 0, - "SIM_GPS_POS_X": 1.0, - "SIM_GPS_POS_Y": -1.0, + "SIM_GPS2_ENABLE": 1, + "SIM_GPS1_POS_X": 1.0, + "SIM_GPS1_POS_Y": -1.0, "SIM_GPS2_POS_X": -1.0, "SIM_GPS2_POS_Y": 1.0, "GPS_AUTO_SWITCH": 2, @@ -9176,9 +9176,9 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): "WP_YAW_BEHAVIOR": 0, # do not yaw "GPS2_TYPE": 1, "SIM_GPS2_TYPE": 1, - "SIM_GPS2_DISABLE": 0, - "SIM_GPS_POS_X": 1.0, - "SIM_GPS_POS_Y": -1.0, + "SIM_GPS2_ENABLE": 1, + "SIM_GPS1_POS_X": 1.0, + "SIM_GPS1_POS_Y": -1.0, "SIM_GPS2_POS_X": -1.0, "SIM_GPS2_POS_Y": 1.0, "GPS_AUTO_SWITCH": 2, @@ -9186,8 +9186,8 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): # configure velocity errors such that the 1st GPS should be # 4/5, second GPS 1/5 of result (0.5**2)/((0.5**2)+(1.0**2)) self.set_parameters({ - "SIM_GPS_VERR_X": 0.3, # m/s - "SIM_GPS_VERR_Y": 0.4, + "SIM_GPS1_VERR_X": 0.3, # m/s + "SIM_GPS1_VERR_Y": 0.4, "SIM_GPS2_VERR_X": 0.6, # m/s "SIM_GPS2_VERR_Y": 0.8, "GPS_BLEND_MASK": 4, # use only speed for blend calculations @@ -9243,9 +9243,9 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): "WP_YAW_BEHAVIOR": 0, # do not yaw "GPS2_TYPE": 1, "SIM_GPS2_TYPE": 1, - "SIM_GPS2_DISABLE": 0, - "SIM_GPS_POS_X": 1.0, - "SIM_GPS_POS_Y": -1.0, + "SIM_GPS2_ENABLE": 1, + "SIM_GPS1_POS_X": 1.0, + "SIM_GPS1_POS_Y": -1.0, "SIM_GPS2_POS_X": -1.0, "SIM_GPS2_POS_Y": 1.0, "GPS_AUTO_SWITCH": 2, @@ -11739,7 +11739,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): '''ensure Guided acts appropriately when force-armed''' self.set_parameters({ "EK3_SRC2_VELXY": 5, - "SIM_GPS_DISABLE": 1, + "SIM_GPS1_ENABLE": 0, }) self.load_default_params_file("copter-optflow.parm") self.reboot_sitl() @@ -11926,7 +11926,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): '''check FlightOption::REQUIRE_POSITION_FOR_ARMING works''' self.context_push() self.set_parameters({ - "SIM_GPS_NUMSATS": 3, # EKF does not like < 6 + "SIM_GPS1_NUMSATS": 3, # EKF does not like < 6 }) self.reboot_sitl() self.change_mode('STABILIZE') @@ -12127,7 +12127,7 @@ class AutoTestCopter(vehicle_test_suite.TestSuite): # switch to EKF3 self.set_parameters({ - 'SIM_GPS_GLITCH_X' : 0.001, # about 100m + 'SIM_GPS1_GLTCH_X' : 0.001, # about 100m 'EK3_CHECK_SCALE' : 100, 'AHRS_EKF_TYPE' : 3}) diff --git a/Tools/autotest/arduplane.py b/Tools/autotest/arduplane.py index 48334ab8d7..fa4a094913 100644 --- a/Tools/autotest/arduplane.py +++ b/Tools/autotest/arduplane.py @@ -185,7 +185,7 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): def NeedEKFToArm(self): """Ensure the EKF must be healthy for the vehicle to arm.""" self.progress("Ensuring we need EKF to be healthy to arm") - self.set_parameter("SIM_GPS_DISABLE", 1) + self.set_parameter("SIM_GPS1_ENABLE", 0) self.context_collect("STATUSTEXT") tstart = self.get_sim_time() success = False @@ -201,7 +201,7 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): except AutoTestTimeoutException: pass - self.set_parameter("SIM_GPS_DISABLE", 0) + self.set_parameter("SIM_GPS1_ENABLE", 1) self.wait_ready_to_arm() def fly_LOITER(self, num_circles=4): @@ -2046,14 +2046,14 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): self.delay_sim_time(60) else: self.delay_sim_time(20) - self.set_parameter("SIM_GPS_DISABLE", 1) + self.set_parameter("SIM_GPS1_ENABLE", 0) self.progress("Continue orbit without GPS") self.delay_sim_time(20) self.change_mode("RTL") self.wait_distance_to_home(100, 200, timeout=200) # go into LOITER to create additonal time for a GPS re-enable test self.change_mode("LOITER") - self.set_parameter("SIM_GPS_DISABLE", 0) + self.set_parameter("SIM_GPS1_ENABLE", 1) t_enabled = self.get_sim_time() # The EKF should wait for GPS checks to pass when we are still able to navigate using dead reckoning # to prevent bad GPS being used when coming back after loss of lock due to interence. @@ -2064,9 +2064,9 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): self.delay_sim_time(20) self.set_parameter("AHRS_OPTIONS", 1) - self.set_parameter("SIM_GPS_JAM", 1) + self.set_parameter("SIM_GPS1_JAM", 1) self.delay_sim_time(10) - self.set_parameter("SIM_GPS_JAM", 0) + self.set_parameter("SIM_GPS1_JAM", 0) t_enabled = self.get_sim_time() # The EKF should wait for GPS checks to pass when we are still able to navigate using dead reckoning # to prevent bad GPS being used when coming back after loss of lock due to interence. @@ -3325,7 +3325,7 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): "EK3_AFFINITY": 15, # enable affinity for all sensors "EK3_IMU_MASK": 3, # use only 2 IMUs "GPS2_TYPE": 1, - "SIM_GPS2_DISABLE": 0, + "SIM_GPS2_ENABLE": 1, "SIM_BARO_COUNT": 2, "SIM_BAR2_DISABLE": 0, "ARSPD2_TYPE": 2, @@ -3400,9 +3400,9 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): # noise on each axis def sim_gps_verr(): self.set_parameters({ - "SIM_GPS_VERR_X": self.get_parameter("SIM_GPS_VERR_X") + 2, - "SIM_GPS_VERR_Y": self.get_parameter("SIM_GPS_VERR_Y") + 2, - "SIM_GPS_VERR_Z": self.get_parameter("SIM_GPS_VERR_Z") + 2, + "SIM_GPS1_VERR_X": self.get_parameter("SIM_GPS1_VERR_X") + 2, + "SIM_GPS1_VERR_Y": self.get_parameter("SIM_GPS1_VERR_Y") + 2, + "SIM_GPS1_VERR_Z": self.get_parameter("SIM_GPS1_VERR_Z") + 2, }) self.wait_statustext(text="EKF3 lane switch", timeout=30, the_function=sim_gps_verr, check_context=True) if self.lane_switches != [1, 0, 1]: @@ -4870,8 +4870,8 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): self.context_collect('STATUSTEXT') self.set_parameters({ "EK3_POS_I_GATE": 0, - "SIM_GPS_HZ": 1, - "SIM_GPS_LAG_MS": 1000, + "SIM_GPS1_HZ": 1, + "SIM_GPS1_LAG_MS": 1000, }) self.wait_statustext("DCM Active", check_context=True, timeout=60) self.wait_statustext("EKF3 Active", check_context=True) @@ -5530,8 +5530,8 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): def AltResetBadGPS(self): '''Tests the handling of poor GPS lock pre-arm alt resets''' self.set_parameters({ - "SIM_GPS_GLITCH_Z": 0, - "SIM_GPS_ACC": 0.3, + "SIM_GPS1_GLTCH_Z": 0, + "SIM_GPS1_ACC": 0.3, }) self.wait_ready_to_arm() @@ -5541,8 +5541,8 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): raise NotAchievedException("Bad relative alt %.1f" % relalt) self.progress("Setting low accuracy, glitching GPS") - self.set_parameter("SIM_GPS_ACC", 40) - self.set_parameter("SIM_GPS_GLITCH_Z", -47) + self.set_parameter("SIM_GPS1_ACC", 40) + self.set_parameter("SIM_GPS1_GLTCH_Z", -47) self.progress("Waiting 10s for height update") self.delay_sim_time(10) @@ -6119,7 +6119,7 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): self.takeoff(50) self.change_mode('GUIDED') self.context_push() - self.set_parameter('SIM_GPS_DISABLE', 1) + self.set_parameter('SIM_GPS1_ENABLE', 0) self.delay_sim_time(30) self.set_attitude_target() self.context_pop() @@ -6196,7 +6196,7 @@ class AutoTestPlane(vehicle_test_suite.TestSuite): def ForceArm(self): '''check force-arming functionality''' - self.set_parameter("SIM_GPS_DISABLE", 1) + self.set_parameter("SIM_GPS1_ENABLE", 0) # 21196 is the mavlink standard, 2989 is legacy for magic_value in 21196, 2989: self.wait_sensor_state(mavutil.mavlink.MAV_SYS_STATUS_PREARM_CHECK, diff --git a/Tools/autotest/default_params/airsim-quadX.parm b/Tools/autotest/default_params/airsim-quadX.parm index a8987896f8..c0636c5205 100644 --- a/Tools/autotest/default_params/airsim-quadX.parm +++ b/Tools/autotest/default_params/airsim-quadX.parm @@ -18,7 +18,7 @@ WPNAV_SPEED_DN 300 WPNAV_SPEED 2000 RTL_ALT 2500 ANGLE_MAX 3000 -SIM_GPS_LAG_MS 0 +SIM_GPS1_LAG_MS 0 GPS_DELAY_MS 20 INS_GYRO_FILTER 50 INS_ACCEL_FILTER 50 diff --git a/Tools/autotest/default_params/copter-gps-for-yaw-nmea.parm b/Tools/autotest/default_params/copter-gps-for-yaw-nmea.parm index 41af6fa868..6ec6add796 100644 --- a/Tools/autotest/default_params/copter-gps-for-yaw-nmea.parm +++ b/Tools/autotest/default_params/copter-gps-for-yaw-nmea.parm @@ -1,5 +1,5 @@ # SITL GPS-for-yaw using a single simulated NMEA GPS EK3_SRC1_YAW 2 GPS1_TYPE 5 -SIM_GPS_TYPE 5 -SIM_GPS_HDG 1 +SIM_GPS1_TYPE 5 +SIM_GPS1_HDG 1 diff --git a/Tools/autotest/default_params/copter-gps-for-yaw.parm b/Tools/autotest/default_params/copter-gps-for-yaw.parm index 231fb84e8e..1e54532f4f 100644 --- a/Tools/autotest/default_params/copter-gps-for-yaw.parm +++ b/Tools/autotest/default_params/copter-gps-for-yaw.parm @@ -5,7 +5,8 @@ GPS1_TYPE 17 GPS2_TYPE 18 GPS1_POS_Y -0.2 GPS2_POS_Y 0.2 -SIM_GPS_POS_Y -0.2 +SIM_GPS1_POS_Y -0.2 SIM_GPS2_POS_Y 0.2 -SIM_GPS2_DISABLE 0 +SIM_GPS2_ENABLE 1 SIM_GPS2_HDG 1 +SIM_GPS1_HDG 4 diff --git a/Tools/autotest/default_params/tracker-gps-for-yaw.parm b/Tools/autotest/default_params/tracker-gps-for-yaw.parm index 231fb84e8e..1e54532f4f 100644 --- a/Tools/autotest/default_params/tracker-gps-for-yaw.parm +++ b/Tools/autotest/default_params/tracker-gps-for-yaw.parm @@ -5,7 +5,8 @@ GPS1_TYPE 17 GPS2_TYPE 18 GPS1_POS_Y -0.2 GPS2_POS_Y 0.2 -SIM_GPS_POS_Y -0.2 +SIM_GPS1_POS_Y -0.2 SIM_GPS2_POS_Y 0.2 -SIM_GPS2_DISABLE 0 +SIM_GPS2_ENABLE 1 SIM_GPS2_HDG 1 +SIM_GPS1_HDG 4 diff --git a/Tools/autotest/default_params/vee-gull_005.param b/Tools/autotest/default_params/vee-gull_005.param index 7a2e5bf484..ab340c7eaf 100644 --- a/Tools/autotest/default_params/vee-gull_005.param +++ b/Tools/autotest/default_params/vee-gull_005.param @@ -628,19 +628,12 @@ SIM_FLOW_POS_X,0 SIM_FLOW_POS_Y,0 SIM_FLOW_POS_Z,0 SIM_FLOW_RATE,10 -SIM_GP2_GLITCH_X,0 -SIM_GP2_GLITCH_Y,0 -SIM_GP2_GLITCH_Z,0 -SIM_GPS_BYTELOSS,0 -SIM_GPS_DISABLE,0 -SIM_GPS_DRIFTALT,0 -SIM_GPS_GLITCH_X,0 -SIM_GPS_GLITCH_Y,0 -SIM_GPS_GLITCH_Z,0 -SIM_GPS_HZ,5 -SIM_GPS_NOISE,0 -SIM_GPS_NUMSATS,10 -SIM_GPS_TYPE,1 +SIM_GPS1_BYTELOSS,0 +SIM_GPS1_DRIFTALT,0 +SIM_GPS1_HZ,5 +SIM_GPS1_NOISE,0 +SIM_GPS1_NUMSATS,10 +SIM_GPS1_TYPE,1 SIM_GPS2_ENABLE,0 SIM_IMU_POS_X,0 SIM_IMU_POS_Y,0 diff --git a/Tools/autotest/quadplane.py b/Tools/autotest/quadplane.py index 0e6ef03d3f..7296e34945 100644 --- a/Tools/autotest/quadplane.py +++ b/Tools/autotest/quadplane.py @@ -1764,8 +1764,8 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite): # Kill any GPSs self.set_parameters({ - 'SIM_GPS_DISABLE': 1, - 'SIM_GPS2_DISABLE': 1, + 'SIM_GPS1_ENABLE': 0, + 'SIM_GPS2_ENABLE': 0, }) self.delay_sim_time(5) diff --git a/Tools/autotest/rover.py b/Tools/autotest/rover.py index 46ec91abf9..738677041b 100644 --- a/Tools/autotest/rover.py +++ b/Tools/autotest/rover.py @@ -6807,7 +6807,7 @@ Brakes have negligible effect (with=%0.2fm without=%0.2fm delta=%0.2fm) '''Test jamming simulation works''' self.wait_ready_to_arm() start_loc = self.assert_receive_message('GPS_RAW_INT') - self.set_parameter("SIM_GPS_JAM", 1) + self.set_parameter("SIM_GPS1_JAM", 1) class Requirement(): def __init__(self, field, min_value): diff --git a/Tools/autotest/vehicle_test_suite.py b/Tools/autotest/vehicle_test_suite.py index 5885c21267..0d21fe890f 100644 --- a/Tools/autotest/vehicle_test_suite.py +++ b/Tools/autotest/vehicle_test_suite.py @@ -3665,7 +3665,7 @@ class TestSuite(ABC): if (m.failure_flags & mavutil.mavlink.HL_FAILURE_FLAG_GPS) != 0: raise NotAchievedException("Expected GPS to be OK") self.assert_sensor_state(mavutil.mavlink.MAV_SYS_STATUS_SENSOR_GPS, True, True, True) - self.set_parameter("SIM_GPS_TYPE", 0) + self.set_parameter("SIM_GPS1_TYPE", 0) self.delay_sim_time(10) self.assert_sensor_state(mavutil.mavlink.MAV_SYS_STATUS_SENSOR_GPS, False, False, False) m = self.poll_message("HIGH_LATENCY2") @@ -3674,7 +3674,7 @@ class TestSuite(ABC): raise NotAchievedException("Expected GPS to be failed") self.start_subtest("HIGH_LATENCY2 location") - self.set_parameter("SIM_GPS_TYPE", 1) + self.set_parameter("SIM_GPS1_TYPE", 1) self.delay_sim_time(10) m = self.poll_message("HIGH_LATENCY2") self.progress(self.dump_message_verbose(m)) @@ -8471,7 +8471,7 @@ Also, ignores heartbeats not from our target system''' def wait_gps_disable(self, position_horizontal=True, position_vertical=False, timeout=30): """Disable GPS and wait for EKF to report the end of assistance from GPS.""" - self.set_parameter("SIM_GPS_DISABLE", 1) + self.set_parameter("SIM_GPS1_ENABLE", 0) tstart = self.get_sim_time() """ if using SITL estimates directly """ @@ -10683,7 +10683,7 @@ Also, ignores heartbeats not from our target system''' p1=1, # ARM want_result=mavutil.mavlink.MAV_RESULT_FAILED, ) - self.set_parameter("SIM_GPS_DISABLE", 0) + self.set_parameter("SIM_GPS1_ENABLE", 1) self.wait_ekf_happy() # EKF may stay unhappy for a while self.progress("PASS not able to arm without Position in mode : %s" % mode) if mode in self.get_no_position_not_settable_modes_list(): @@ -10693,10 +10693,10 @@ Also, ignores heartbeats not from our target system''' try: self.change_mode(mode, timeout=15) except AutoTestTimeoutException: - self.set_parameter("SIM_GPS_DISABLE", 0) + self.set_parameter("SIM_GPS1_ENABLE", 1) self.progress("PASS not able to set mode without Position : %s" % mode) except ValueError: - self.set_parameter("SIM_GPS_DISABLE", 0) + self.set_parameter("SIM_GPS1_ENABLE", 1) self.progress("PASS not able to set mode without Position : %s" % mode) if mode == "FOLLOW": self.set_parameter("FOLL_ENABLE", 0) @@ -12531,7 +12531,7 @@ switch value''' self.context_collect("STATUSTEXT") self.set_parameters({ "AFS_MAX_GPS_LOSS": 1, - "SIM_GPS_DISABLE": 1, + "SIM_GPS1_ENABLE": 0, }) self.wait_statustext("AFS State: GPS_LOSS", check_context=True) self.context_pop() @@ -14160,7 +14160,7 @@ switch value''' self.context_collect("STATUSTEXT") for (sim_gps_type, name, gps_type, detect_name, serial_protocol, detect_prefix) in sim_gps: self.start_subtest("Checking GPS type %s" % name) - self.set_parameter("SIM_GPS_TYPE", sim_gps_type) + self.set_parameter("SIM_GPS1_TYPE", sim_gps_type) self.set_parameter("SERIAL3_PROTOCOL", serial_protocol) if gps_type is None: gps_type = 1 # auto-detect @@ -14265,7 +14265,7 @@ switch value''' self.start_subtest("Ensure detection when sim gps connected") self.set_parameter("SIM_GPS2_TYPE", 1) - self.set_parameter("SIM_GPS2_DISABLE", 0) + self.set_parameter("SIM_GPS2_ENABLE", 1) # a reboot is required after setting GPS2_TYPE. We start # sending GPS2_RAW out, once the parameter is set, but a # reboot is required because _port[1] is only set in @@ -14281,9 +14281,9 @@ switch value''' raise NotAchievedException("Incorrect fix type") self.start_subtest("Check parameters are per-GPS") - self.assert_parameter_value("SIM_GPS_NUMSATS", 10) + self.assert_parameter_value("SIM_GPS1_NUMSATS", 10) self.assert_gps_satellite_count("GPS_RAW_INT", 10) - self.set_parameter("SIM_GPS_NUMSATS", 13) + self.set_parameter("SIM_GPS1_NUMSATS", 13) self.assert_gps_satellite_count("GPS_RAW_INT", 13) self.assert_parameter_value("SIM_GPS2_NUMSATS", 10) @@ -14311,7 +14311,7 @@ switch value''' if abs(gpi_alt - new_gpi_alt) > 100: raise NotAchievedException("alt moved unexpectedly") self.progress("Killing first GPS") - self.set_parameter("SIM_GPS_DISABLE", 1) + self.set_parameter("SIM_GPS1_ENABLE", 0) self.delay_sim_time(1) self.progress("Checking altitude now matches second GPS") m = self.assert_receive_message("GLOBAL_POSITION_INT") diff --git a/Tools/vagrant/mavinit.scr b/Tools/vagrant/mavinit.scr index 4b56c421c5..fe7027ba0d 100644 --- a/Tools/vagrant/mavinit.scr +++ b/Tools/vagrant/mavinit.scr @@ -17,7 +17,6 @@ module load graph @alias add odroidpower relay set 0 @alias add neutral2 servo set 12 1500 @alias add ekf param set AHRS_EKF_USE -@alias add gpsdisable param set SIM_GPS_DISABLE @alias add bb status gps* scaled* raw* @alias add g graph @alias add grc3 g RC_CHANNELS.chan3_raw SERVO_OUTPUT_RAW.servo3_raw