Commit Graph

44994 Commits

Author SHA1 Message Date
Andrew Tridgell
d984ddc163 Plane: apply circular limits to QLOITER pilot angles
This uses the same logic as Copters get_pilot_desired_angle() to apply
a circular limit and the limits in Q_ANGLE_MAX and Q_LOIT_ANG_MAX to
loiter pilot angles.

Co-authored-by: Kris <kris968658@gmail.com>
2020-12-01 11:22:49 +11:00
Michel Pastor
eb88e6a37c AP_OSD: Fix vertical speed varying length 2020-12-01 11:20:16 +11:00
Andrew Tridgell
88b5523d47 AP_UAVCAN: added logging of UAVCAN LogMessage messages
this allows us to log internal errors from nodes into main flight
controller log
2020-12-01 11:14:50 +11:00
Andrew Tridgell
b2885e3e32 AP_CANManager: exposed can log level 2020-12-01 11:14:50 +11:00
Andrew Tridgell
cf22caa7ef HAL_ChibiOS: raise stack limits in f303 peripherals 2020-12-01 11:14:50 +11:00
Andrew Tridgell
3ba46d5bd9 HAL_ChibiOS: enable reporting of watchdog reset on AP_Periph 2020-12-01 11:14:50 +11:00
Andrew Tridgell
0c2770a8d4 AP_Periph: added DEBUG parameter for displaying stack usage 2020-12-01 11:14:50 +11:00
Andrew Tridgell
ba69cd72c9 HAL_ChibiOS: improved stack checking and stack display
display both ISR stack and thread stacks. Show total stack sizes as
well as amount of stack remaining
2020-12-01 11:14:50 +11:00
Andrew Tridgell
84eac7642b HAL_ChibiOS: improved stack checking 2020-12-01 11:14:50 +11:00
Andrew Tridgell
2d459dccc3 HAL_ChibiOS: reduced stack usage in CAN RX handler 2020-12-01 11:14:50 +11:00
Andrew Tridgell
c778d14fd3 HAL_ChibiOS: enable stack checking on f303 boards 2020-12-01 11:14:50 +11:00
Andrew Tridgell
573cd6db6d HAL_ChibiOS: adjust MAIN_STACK for more ISR stack
we need more stack to deal with interrupt nesting between CAN, system
timer and serial interrupts
2020-12-01 11:14:50 +11:00
Andrew Tridgell
52a90e7a33 HAL_ChibiOS: fixed monitor thread with no logging 2020-12-01 11:14:50 +11:00
Andrew Tridgell
2a29b0fcf5 HAL_ChibiOS: fixed AP_Periph build with --enable-asserts 2020-12-01 11:14:50 +11:00
Andrew Tridgell
d586a2d853 AP_Periph: added magic FLASH_BOOTLOADER=42/43 values
when FLASH_BOOTLOADER=42 we will enter into a lockup loop, which will
trigger a watchdog. This is useful for testing watchdog support
2020-12-01 11:14:50 +11:00
Andrew Tridgell
5e81fadf13 AP_DAL: ensure RRNH is written before RRNI
this is required now we are dynamically allocating the backends in
replay
2020-12-01 10:53:08 +11:00
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