Commit Graph

45228 Commits

Author SHA1 Message Date
Andrew Tridgell 172854c894 AP_DAL: fixed build on navio
avoid shadowed variables
2020-12-01 10:53:08 +11:00
Andrew Tridgell bdba430e55 AP_NavEKF3: save memory on beacon debug structure
only allocate when beacons are enabled. This relies on a guarantee in
the DAL that the beacon count cannot change
2020-12-01 10:53:08 +11:00
Andrew Tridgell 7b08053ef2 AP_DAL: guarantee that the beacon count cannot change after startup 2020-12-01 10:53:08 +11:00
Andrew Tridgell bb32f1a397 AP_NavEKF3: avoid initialising unused ring buffers
this assumes the nav sources are treated as reboot required
2020-12-01 10:53:08 +11:00
Andrew Tridgell 4fdbbd8984 AP_NavEKF: added functions to see if a nav source is enabled
this allows us to avoid initialising ring buffers when not needed
2020-12-01 10:53:08 +11:00
Andrew Tridgell ab917ed92e AP_NavEKF: add more protections on ring buffer code
declare an internal error if we try to access an element when not
initialised
2020-12-01 10:53:08 +11:00
Andrew Tridgell 0c05e9a2e7 AP_RangeFinder: fixed handling of instance numbers
if a backend allocation failed then we could end up with the backend
being assigned to the wrong instance number. Switch to using
_add_backend() everywhere, and pass the instance number to
_add_backend() to ensure that it always uses the correct slot.

Also added comment explaining how num_sensors() works when we have a
sparse set of rangefinders configured
2020-12-01 10:53:08 +11:00
Andrew Tridgell 73755e2d1f AP_DAL: only allocate rangefinder backends that we need 2020-12-01 10:53:08 +11:00
Andrew Tridgell 893e9ea7fd AP_DAL: don't allocate sensor backends unless needed
this saves memory on boards without those sensors
2020-12-01 10:53:08 +11:00
Peter Barker ba0367fa9f Replay: add check_replay_branch.py to check for EKF output changes
Create a replay log using master branch.
Check out a specified branch, compile and run Replay against replay log
Run check_replay.py over the produced log
2020-12-01 10:40:09 +11:00
Peter Barker 8d756d8758 Replay: check_replay.py: default to print for progress function 2020-12-01 10:40:09 +11:00
Peter Barker e972fb31b1 AP_NavEKF3: remove unused variables 2020-12-01 10:40:09 +11:00
Peter Barker fc7e7dcee4 AP_NavEKF2: remove unused variables 2020-12-01 10:40:09 +11:00
Peter Barker 0529ddcd67 AP_NavEKF3: move badMagYaw onto stack 2020-12-01 10:40:09 +11:00
Peter Barker addd57dcab AP_NavEKF2: move badMagYaw onto stack 2020-12-01 10:40:09 +11:00
Peter Barker 2885026bba AP_NavEKF3: move tasHealth to be a stack variable 2020-12-01 10:40:09 +11:00
Peter Barker 0aa10d8281 AP_NavEKF2: move tasHealth to be a stack variable 2020-12-01 10:40:09 +11:00
Peter Barker b79a26135c AP_NavEKF3: move posvel fusion health booleans to be on the stack 2020-12-01 10:40:09 +11:00
Peter Barker 3a98d51427 AP_NavEKF2: move posvel fusion health booleans to be on the stack 2020-12-01 10:40:09 +11:00
Peter Barker 2d25149e2e AP_NavEKF3: move global state to be on the stack 2020-12-01 10:40:09 +11:00
Peter Barker 400ba7a9df AP_NavEKF2: move global state to be on the stack 2020-12-01 10:40:09 +11:00
Brent McLaughlin e241433c89 AP_Rangefinder: change lightware lost signal timer to 20
The LightWare lost signal timer is set to 20 by the manufacturer.
2020-12-01 10:34:54 +11:00
Andrew Tridgell d242339f2e AP_NavEKF3: added have_vz flag to GPS buffer data
this ensures that we record GPS vertical velocity status for every
sample correctly
2020-12-01 10:33:50 +11:00
Andrew Tridgell 4e4a044d5d Tools: removed inhibitGps and inhibitGpsVertVel options
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell 80f7906744 AP_NavEKF3: removed inhibitGps and inhibitGpsVertVel options
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell 7313e9eb0f AP_NavEKF2: removed inhibitGps and inhibitGpsVertVel options
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell 281e2cb693 AP_DAL: removed inhibitGps and inhibitGpsVertVel options
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell 0a80fce8b8 AP_AHRS: removed inhibitGps and inhibitGpsVertVel options
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell 603e0c090d AP_NavEKF3: don't reset EKx_GPS_TYPE when GPS has no vertical velocity
setting the parameter to 1 causes the following issues:

 - the GPS may not have vertical velocity at the time the parameter
   set happens, but may get it later when the GPS is fully configured

 - we may switch between GPS modules which do/don't have vertical
   velocity

 - the user may download parameters after the set(1), and end up with
   incorrect parameters they may later load onto the vehicle,
   permanently disabling use of vertical velocity
2020-12-01 10:33:50 +11:00
Andrew Tridgell 79148498d3 AP_NavEKF2: don't reset EKx_GPS_TYPE when GPS has no vertical velocity
setting the parameter to 1 causes the following issues:

 - the GPS may not have vertical velocity at the time the parameter
   set happens, but may get it later when the GPS is fully configured

 - we may switch between GPS modules which do/don't have vertical
   velocity

 - the user may download parameters after the set(1), and end up with
   incorrect parameters they may later load onto the vehicle,
   permanently disabling use of vertical velocity
2020-12-01 10:33:50 +11:00
Peter Barker 4d30b52744 RC_Channel: add string for motor eSTOP 2020-12-01 10:06:57 +11:00
Peter Barker 4b6e4e10ed AP_Button: allow RC Channel function to be specified for a button
Function will be executed on transition
2020-12-01 10:06:57 +11:00
Peter Barker 164bd95538 AP_Button: allow PWM to be used for button input 2020-12-01 10:06:57 +11:00
Peter Barker 7ea78791c2 RC_Channel: make string_for_aux public 2020-12-01 10:06:57 +11:00
Peter Barker 0f597e0919 RC_Channel: expose do_aux_function for button to call 2020-12-01 10:06:57 +11:00
Peter Barker 3264fd750b SRV_Channel: add k_min, m_trim and k_max to output min/trim/max values 2020-12-01 10:06:57 +11:00
Peter Barker 17f806cdb9 autotest: add test for execution of button-bound functions 2020-12-01 10:06:57 +11:00
Peter Barker 12f001066b autotest: split out a wait_armed function 2020-12-01 10:06:57 +11:00
Andrew Tridgell 862ae59e28 AP_GPS: support $PHD message for AllyStay NMEA GPS
this adds vertical velocity support
2020-12-01 09:04:43 +11:00
Peter Barker 211cd5255d autotest: tweak beacon test to be replay-friendly 2020-11-30 18:50:24 +11:00
Peter Barker 498b0b79a3 autotest: Replay tests OpticalFlow and Beacons
autotest: run Replay on log generated by test.Copter.BeaconPosition

autotest: test OpticalFlow in replay tests
2020-11-30 18:50:24 +11:00
Peter Barker 035e798b23 AP_HAL_SITL: use a separate eeprom.bin for SITL build
This resolves a problem in autotest where the eeprom.bin gets wiped out
when we run Replay against a log as part of test.Copter.Replay
2020-11-30 18:50:24 +11:00
Tom Pittenger d780e66cc4 AP_ADSB: remove deinit() 2020-11-30 16:05:17 +11:00
Tom Pittenger e94697cb4c AP_ADSB: Allow for multiple backends in the future drivers 2020-11-30 16:05:17 +11:00
Tom Pittenger 58c7f8279d Tools/autotest: fix CI by updating new ADSB_ENABLE->ADSB_TYPE param name 2020-11-30 16:05:17 +11:00
Tom Pittenger 20d21fe175 SITL/examples: remove ADSB param that is already default 2020-11-30 16:05:17 +11:00
Tom Pittenger 2218f8292a Tools: remove ADSB param that is already default 2020-11-30 16:05:17 +11:00
Peter Barker 88895f9b13 GCS_MAVLink: stop using one backend's signing structure for all backends 2020-11-30 14:11:08 +11:00
Andrew Tridgell 8914bb45f8 AP_DAL: fix for uartI support 2020-11-30 14:09:31 +11:00
Andrew Tridgell 895b9a34f9 Tools: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00