Commit Graph

25825 Commits

Author SHA1 Message Date
Josh Henderson
d6dc8864db AP_Camera: Privatize AP_Camera 2021-02-02 10:10:17 +11:00
Josh Henderson
d142b3ba16 AP_Logger: Privatize AP_Camera Logging 2021-02-02 10:10:17 +11:00
Rishabh
401d365491 AC_WPNav: Adapt to 3-D Avoidance changes 2021-02-01 14:34:13 +09:00
Rishabh
f3d825bebe AP_Math: Add unit tests for 3-D lines 2021-02-01 14:34:13 +09:00
Rishabh
de67e2b70c AP_Proximity: refactor changes done for 3-D Boundary 2021-02-01 14:34:13 +09:00
Rishabh
37a14a78df AC_Avoid: Refactor changes for 3-D avoidance 2021-02-01 14:34:13 +09:00
Rishabh
5092bc2f6d AC_Avoid: Simplify accessing boundary 2021-02-01 14:34:13 +09:00
Rishabh
d359c5ddf2 AC_Avoid: Let user take control if they are backing away at a greater speed than what we have calculated 2021-02-01 14:34:13 +09:00
Rishabh
91132d00d9 AC_Avoid: Add deadzone to backaway code 2021-02-01 14:34:13 +09:00
Rishabh
343ba1a693 AP_Proximity: Use only valid boundary for Simple Avoidance 2021-02-01 14:34:13 +09:00
Randy Mackay
71d928aab9 AP_Proximity: TeraRangerTowerEvo uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
5c9a65cff6 AP_Proximity: TeraRangerTower uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
d4a6ebd273 AP_Proximity: SITL backend uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
518078c901 AP_Proximity: RPLidarA2 uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
babba91632 AP_Proximity: RangeFinder backend uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
2d77adf720 AP_Proximity: MAV backend uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
a65e0affe4 AP_Proximity: LightwareSF45B uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
623bd6923e AP_Proximity: LightwareSF40C_v09 uses update Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
4fda6b38f7 AP_Proximity: LightwareSF40C uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
ad899de78c AP_Proximity: backend uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
ef9bc64bb1 AP_Proximity: AirSimSITL uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Randy Mackay
279b534f67 AP_Proximity: remove duplicate definition
PROXIMITY_NUM_LAYERS is defined in AP_Proximity_Boundary_3D
2021-02-01 14:34:13 +09:00
Randy Mackay
5a0cc08dcc AP_Proximity: refactor Boundary_3D
rename stack to layer
swap order of layer and sector within arrays
rename Boundary_Location to Face
rename get_sector to get_face
rename set_attributes to set_face_attributes
get_distance returns bool and fills in argument instead of returning distance
2021-02-01 14:34:13 +09:00
Rishabh
ad6e013171 AC_Avoid: Support 3D Simple Avoidance and Bacakway 2021-02-01 14:34:13 +09:00
Rishabh
43717ea55c AP_Proximity: Add OBSTACLE_DISTANCE_3D mavlink message 2021-02-01 14:34:13 +09:00
Rishabh
36bba2e02c AP_Proximity: Convert Proximity Backend drivers to use 3D Boundary methods 2021-02-01 14:34:13 +09:00
Rishabh
4fce715a9a AP_Proximity: Shift methods to Proximity_Boundary_3D class and support 3D Boundary 2021-02-01 14:34:13 +09:00
Rishabh
7569d8bf8e AP_Proximity: Add AP_Proximity_Boundary_3D class 2021-02-01 14:34:13 +09:00
Rishabh
a5fafe57d8 GCS_MAVLink: Add support for OBSTACLE_DISTANCE_3D 2021-02-01 14:34:13 +09:00
Rishabh
1262d73071 AP_Math: Add new methods to support 3D avoidance 2021-02-01 14:34:13 +09:00
Rishabh
79d5e432ee AP_Math: Add new method to extrapolate 3D vector given distance, yaw, pitch 2021-02-01 14:34:13 +09:00
Peter Barker
dbae56eb3a AP_Logger: panic in SITL if we fail to log a Replay block
// failing to log a block means that when we go to replay the log
    // things will almost certainly go sour.
2021-01-31 10:46:26 +11:00
Tom Pittenger
a5d33cacb5 AP_Soaring: add units to param SOAR_THML_BANK 2021-01-29 11:20:09 -08:00
Samuel Tabor
4ec1e55833 AP_Soaring: Add SOAR_THML_BANK parameter and associated logic. 2021-01-29 11:20:09 -08:00
yaapu
4fbba17506 AP_Scripting: added bindings for frsky telemetry library 2021-01-29 09:55:22 +11:00
yaapu
24382e25fc AP_Frsky_Telem: added support for sending frsky telemetry data from scripting 2021-01-29 09:55:22 +11:00
Michael du Breuil
0f363809f5 AP_GPS: Fix some unit errors with the GPS blended instance
Also add a static assert and some docs on the fact that blending only
works with 2 actual recievers at the moment

Also a small optimization to not call get_rate_ms() twice
2021-01-28 11:55:30 +11:00
Andy Piper
6f5d5c2bf9 AAP_HAL_ChibiOS: allow asserts to be printed on a GPIO pin 2021-01-27 19:36:58 +11:00
Andy Piper
d41c92d317 AP_HAL_ChibiOS: don't overwrite fault handler data, register forced faults 2021-01-27 19:13:18 +11:00
Andy Piper
20d928a86a AP_HAL_ChibiOS: don't share DMA on OmnibusNanoV6 for Flash SPI 2021-01-27 19:04:49 +11:00
Andy Piper
873d35acd9 AP_HAL_ChibiOS: bi-directional dshot for MatekH743 2021-01-27 18:58:38 +11:00
Andy Piper
877dde4736 AP_HAL_ChibiOS: on BeastF7 share TIM3 UP/CH and give flash SPI dedicated channel 2021-01-27 18:54:43 +11:00
Andy Piper
2395018000 AP_BLHeli: don't log invalid bi-dir dshot values as they are never used 2021-01-27 18:54:10 +11:00
Andy Piper
9249b73e8b AP_HAL_ChibiOS: correctly allow mixing of bidir and non-bidir channels 2021-01-27 18:49:15 +11:00
Andy Piper
2823fa7245 AP_HAL_ChibiOS: never write bytes that have not been erased on H7
Be more careful about flash failure conditions on H7
2021-01-27 18:30:36 +11:00
Andy Piper
78735a946e AP_HAL_ChibiOS: allow STM32_FLASH_DISABLE_ISR for H7 2021-01-27 18:30:36 +11:00
Andrew Tridgell
155de6d2bc HAL_ChibiOS: fixed build of AP_Periph on H7 2021-01-27 18:24:03 +11:00
Andrew Tridgell
0535c4f592 AP_InertialSensor: default TMAX to 70
if user forgets to set this then better to just timeout rather than
calibrating over a small range
2021-01-27 09:49:35 +11:00
Andrew Tridgell
9861a02c60 HAL_ChibiOS: save INS_ACC*ID persistent parameters
this enables full factory accelerometer calibration, so the user is
not required to run an accelcal, even if they change vehicle type
2021-01-27 09:49:35 +11:00
Andrew Tridgell
bdb364d461 AP_InertialSensor: save the accelerometer ID parameters
this is needed for factory accel cal
2021-01-27 09:49:35 +11:00
Andrew Tridgell
87528f47c8 AP_IOMCU: prevent internal error on bootloader flash
when we flash the bootloader on boards with an IOMCU we expect a long
delay as the CPU stops during the flash
2021-01-27 09:49:35 +11:00
Andrew Tridgell
6163659887 AP_HAL: prevent a single bad transfer causing an IMU to be marked unhealthy
This is a response to this issue:
https://discuss.ardupilot.org/t/gyro-problem-after-waypoint-log-analisys

The 2nd gyro went bad with a large offset. Then the first gyro was
marked unhealthy, forcing the EKF to switch to the 2nd gyro. That
resulted in a crash.

I think the SPI bus was getting bad transfers and the register check
code happened to get a bad transfer, thereby marking the first gyro
unhealthy

This change ensures we only fail the register check if two transfers
in a row are bad. This makes it much less likely that a noisy bus will
lead to an unhealthy gyro
2021-01-27 09:47:55 +11:00
Iampete1
ebfe593e38 AP_Scripting: add example script setting up a custom MotorMatrix 2021-01-26 11:07:36 +09:00
Iampete1
5c397d4674 AP_Scripting: add MotorMatrix bindings 2021-01-26 11:07:36 +09:00
Iampete1
fca6f7027b AP_Motors: allow Matrix config from scripting 2021-01-26 11:07:36 +09:00
Peter Hall
d0e1e85b9e AP_Motors: add get_frame_mav_type 2021-01-26 11:07:36 +09:00
Randy Mackay
f6cb0819ef AP_NavEKF3: pre_arm_check may skip position checks 2021-01-26 10:46:49 +11:00
Randy Mackay
8ecac27777 AP_NavEKF_Source; pre_arm_check may skip position checks 2021-01-26 10:46:49 +11:00
Randy Mackay
62932f884f AP_AHRS: pre_arm_check may skip position checks 2021-01-26 10:46:49 +11:00
Andrew Tridgell
1716fcf995 GCS_MAVLink: fixed valgrind errors with AP_Param::ParamToken 2021-01-26 10:43:09 +11:00
Andrew Tridgell
ac35867c17 AP_Param: fixed valgrind errors with AP_Param::ParamToken 2021-01-26 10:43:09 +11:00
Andrew Tridgell
12b93e2922 AP_OSD: fixed valgrind errors with AP_Param::ParamToken 2021-01-26 10:43:09 +11:00
Andrew Tridgell
6c684538d3 AP_Param: greatly speed up param download with disabled parameters
allows fast skip over disabled subgroups. This removes a long delay
with param download on a MatekF405-STD where the final parameters
associated with the OSD took 80ms to fetch, causing a long loop delay
2021-01-26 10:43:09 +11:00
Peter Barker
d426d8e1f8 AP_GPS: use ground_course in preference to ground_course_cd 2021-01-26 10:22:28 +11:00
Peter Barker
358069df24 AP_AHRS: use ground_course in preference to ground_course_cd 2021-01-26 10:22:28 +11:00
WillyZehnder
2e2ec79992 RC_Channel: reserve AUX_FUNC for MISSION_RELATIVE 2021-01-26 10:14:11 +11:00
Andrew Tridgell
2843cfa42d AP_InertialSensor: use mavlink statustext for cal info 2021-01-25 16:24:50 +11:00
Andrew Tridgell
b542f947f7 AP_InertialSensor: don't mark accels as calibrating during trim
we need the accels with offsets applied when doing accel trim
2021-01-25 16:24:50 +11:00
Andrew Tridgell
e908a996af AP_InertialSensor: support SIM_ACC_TRIM
and cleanup vector maths
2021-01-25 16:24:50 +11:00
Andrew Tridgell
7292b4f260 SITL: added SIM_ACC_TRIM_{X,Y,Z} for simulating IMU trim
this will enable an autotest for AHRS trim
2021-01-25 16:24:50 +11:00
Andrew Tridgell
ddc4d08e8f AP_NavEKF3: make drag fusion optional 2021-01-24 11:56:52 +11:00
Andrew Tridgell
1ccda938cb AP_NavEKF3: make external navigation optional 2021-01-24 11:56:52 +11:00
Andrew Tridgell
8da511f039 AP_NavEKF3: make body odomotry build depend on vehicle type
saves about 11k of flash
2021-01-24 11:56:52 +11:00
E Thomas
2ee052b36e AP_GPS: Made GPS_DISABLE prevent last_fix_time_ms updates 2021-01-23 17:25:00 +11:00
Peter Barker
ade1c487d8 AP_Logger: remove default reason argument for Write_Mode
All callers now supply this
2021-01-22 17:27:26 +11:00
Leonard Hall
25fff17e48 AC_AttitudeControl: constify some local variables 2021-01-22 14:22:18 +09:00
Peter Barker
3582b69e9c AP_NavEKF3: remove getFilterTimeouts access methods 2021-01-22 13:04:36 +11:00
Peter Barker
445a461f12 AP_NavEKF2: remove getFilterTimeouts access methods 2021-01-22 13:04:36 +11:00
Peter Barker
401cccca19 AP_NavEKF2: correct description on NKF3.SVT 2021-01-21 21:26:17 +11:00
Peter Barker
b3bacdd33c AP_NavEKF3: remove internal-only getTiltError method 2021-01-21 21:26:17 +11:00
Peter Barker
dddb285209 AP_NavEKF2: remove internal-only getTiltError method 2021-01-21 21:26:17 +11:00
Peter Barker
5ad0ac6727 AP_NavEKF3: remove unused getAccelNED method 2021-01-21 21:26:17 +11:00
Peter Barker
6b60bae068 AP_NavEKF2: remove unused getAccelNED method 2021-01-21 21:26:17 +11:00
Peter Barker
e32ca819fc GCS_MAVLink: mark results as unused 2021-01-21 20:41:17 +11:00
Peter Barker
60d0b0f07c AP_AHRS: add WARN_IF_UNUSED to some getters 2021-01-21 20:41:17 +11:00
Andrew Tridgell
6c8a57c2d7 AP_InertialSensor: review fixes 2021-01-21 13:09:21 +11:00
Andrew Tridgell
3ff71c7814 AP_InertialSensor: changes from review feedback 2021-01-21 13:09:21 +11:00
Andrew Tridgell
b12a663f7a AP_InertialSensor: apply accel scaling 2021-01-21 13:09:21 +11:00
Andrew Tridgell
9febcc0f98 SITL: added accel scaling parameters 2021-01-21 13:09:21 +11:00
Andrew Tridgell
73ddde3629 AP_InertialSensor: changes for new SITL IMU params 2021-01-21 13:09:21 +11:00
Andrew Tridgell
b5089580a9 SITL: cleanup IMU parameters
allow for biases per IMU
2021-01-21 13:09:21 +11:00
Andrew Tridgell
5e60fac37e AP_InertialSensor: remove unused variable 2021-01-21 13:09:21 +11:00
Andrew Tridgell
285b53fe07 AP_InertialSensor: use vector polyfit
this reduces memory usage
2021-01-21 13:09:21 +11:00
Andrew Tridgell
a1fb0592a9 AP_Math: specialise polyfit for vectors
this is needed to get the precision good enough for wide temperature
ranges when summing the resulting polygon coefficients
2021-01-21 13:09:21 +11:00
Andrew Tridgell
c8aaceb6ac AP_LeakDetector: remove warning message on all non-sub builds
pointless pragma
2021-01-21 13:09:21 +11:00
Andrew Tridgell
d0d480e858 AP_Compass: fixed matrix inverse for new name 2021-01-21 13:09:21 +11:00
Andrew Tridgell
8278a8a00b AP_AccelCal: rename from review feedback 2021-01-21 13:09:21 +11:00
Andrew Tridgell
2e2ccb40b2 AP_AccelCal: fixed inverse matrix call for new name 2021-01-21 13:09:21 +11:00
Andrew Tridgell
999268cbba AP_Math: fixup matrix algorithms to be in cpp file
this fixes an issue where optimize O2 was forced on any file that
included AP_Math.h. It also fixes the test suite for matrix_alg, and
fixes the type handling to be consistent
2021-01-21 13:09:21 +11:00
bugobliterator
3b3e2c01f8 AP_Math: templatize matrix_alg methods 2021-01-21 13:09:21 +11:00
Andrew Tridgell
ffe20f7958 AP_InertialSensor: use a fixed reference temperature of 35C
this allows us to timeout the calibration when the temperature stops
rising as the polynomial no longer depends on the maximum temperature
2021-01-21 13:09:21 +11:00
Andrew Tridgell
dc58b0b950 AP_InertialSensor: changes from review feedback
thanks Sid!
2021-01-21 13:09:21 +11:00
Andrew Tridgell
9561f24c0e AP_Filesystem: added @SYS/persistent.parm 2021-01-21 13:09:21 +11:00
Andrew Tridgell
5ed19c764e HAL_ChibiOS: expose load_persistent_params for @SYS 2021-01-21 13:09:21 +11:00
Andrew Tridgell
1680e6e7d6 AP_HAL: expose load_persistent_params() in hal.util 2021-01-21 13:09:21 +11:00
Andrew Tridgell
c9a83c8127 AP_InertialSensor: added INS_TCAL_OPTIONS
make persistent params optional, and allow save of accelcal
2021-01-21 13:09:21 +11:00
Andrew Tridgell
5c823debc0 HAL_ChibiOS: support saving persistent parameters to bootloader sector
when we flash the bootloader we can save key peristent parameters to
the end of the bootloader sector, allowing them to persistent across
changes of firmware type

This allows for factory temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell
504f500fae AP_Common: added get_writeable_string to ExpandingString 2021-01-21 13:09:21 +11:00
Andrew Tridgell
1ddc21c9bb AP_InertialSensor: support saving tempcal params persistently 2021-01-21 13:09:21 +11:00
Andrew Tridgell
8caea96ab1 AP_InertialSensor: start auto-learning at boot
This makes it easier to setup the params. The ENABLE=2 value only
takes effect at boot
2021-01-21 13:09:21 +11:00
Andrew Tridgell
7cb7ad3636 AP_InertialSensor: fixed build error 2021-01-21 13:09:21 +11:00
Andrew Tridgell
2e9f61fe49 AP_InertialSensor: fixed IMU index display in msgs
start at 1 for users
2021-01-21 13:09:21 +11:00
Andrew Tridgell
d5b511f4a0 AP_InertialSensor: fixed start timer for temperature in SITL
when we are doing an autotest we want the temperature to start
climbing when we first set SIM_IMUT_FIXED=0
2021-01-21 13:09:21 +11:00
Andrew Tridgell
30e55d8dfc AP_InertialSensor: cope with user changing TMAX while calibrating 2021-01-21 13:09:21 +11:00
Andrew Tridgell
68526262b7 AP_Arming: don't allow arming during IMU temp cal 2021-01-21 13:09:21 +11:00
Andrew Tridgell
e2e97c67ce AP_InertialSensor: catch user attempt to change TMAX during cal 2021-01-21 13:09:21 +11:00
Andrew Tridgell
73e53369e8 AP_Notify: added notify events for temperature calibration 2021-01-21 13:09:21 +11:00
Andrew Tridgell
3fb720354d AP_InertialSensor: added notify events for temperature calibration 2021-01-21 13:09:21 +11:00
Andrew Tridgell
cc3579ea5d AP_InertialSensor: change TCAL sampling to be even in temperature 2021-01-21 13:09:21 +11:00
Andrew Tridgell
cf47c19c0d Filter: fixed low pass 2p filter to auto-init
this prevents the init to zero for temperature filters
2021-01-21 13:09:21 +11:00
Andrew Tridgell
4495414d05 Filter: added reset with value to LowPassFilter2p 2021-01-21 13:09:21 +11:00
Andrew Tridgell
fc0f8b990a AP_InertialSensor: added online learning of temp cal
use INS_TCAL1_ENABLE=2 to start learning
2021-01-21 13:09:21 +11:00
Andrew Tridgell
64d9f43d94 AP_Math: added polygon fitting code 2021-01-21 13:09:21 +11:00
Andrew Tridgell
720f9a1de0 AP_Math: cleanup maths functions
use class template instantiation, and cleanup const in matrix code
2021-01-21 13:09:21 +11:00
Andrew Tridgell
6f6f89e5aa AP_InertialSensor: enable temperature sensor on LSM9DS0
this allows for temperature calibration of the LSM303D in CubeBlack
and Pixhawk1
2021-01-21 13:09:21 +11:00
Andrew Tridgell
0c156e324b AP_Compass: enable temperature on lsm303d 2021-01-21 13:09:21 +11:00
Andrew Tridgell
c0ba7c29ca SITL: use TCal class for temp adjustment in SITL 2021-01-21 13:09:21 +11:00
Andrew Tridgell
4bdf506d10 AP_InertialSensor: apply 1e-5 scale factor
this keeps the params in a reasonable range for parameter editors
2021-01-21 13:09:21 +11:00
Andrew Tridgell
0f6f6bac6b AP_InertialSensor: expose TCal class for use in SITL 2021-01-21 13:09:21 +11:00
Andrew Tridgell
7921e042f1 AP_InertialSensor: added IMU temperature calibration support
this adds parameters that can be setup by an external script for
compensating for temperature variation in gyros and accels using a 3rd
order polynomial
2021-01-21 13:09:21 +11:00
Andrew Tridgell
580cd143b8 AP_AccelCal: added active() method 2021-01-21 13:09:21 +11:00
Siddharth Purohit
f53d80374b SITL: fix build for macos systems 2021-01-21 13:09:21 +11:00
Peter Barker
e58d2ecf2f GCS_MAVLink: add mavlink command option to create a 250ms long loop 2021-01-21 11:35:57 +11:00
Andrew Tridgell
d81c2ee407 HAL_ChibiOS: allow for some embedded parameters on AP_Periph builds 2021-01-21 06:19:46 +11:00
murata
fd91cb03b4 SITL: Change the Kelvin value to a defined name 2021-01-20 20:27:19 +11:00
bugobliterator
8b90eb23e0 AP_HAL_ChibiOS: distcc doesn't like lst generation commands 2021-01-20 19:21:14 +11:00
Randy Mackay
031be010ac AC_AttitudeControl: tailsitter sets target rates more efficiently 2021-01-20 18:21:12 +11:00
Leonard Hall
4e2c7880c5 AC_Avoidance: use AP_Math control functions 2021-01-20 18:19:40 +11:00
Leonard Hall
e2308e9414 AC_Loiter: use AP_Math control tools common functions 2021-01-20 18:19:40 +11:00
Randy Mackay
6320338771 AC_PosControl: use AP_Math control functions 2021-01-20 18:19:40 +11:00
Leonard Hall
1129a3fd59 AC_AttitudeControl: use AP_Math control functions 2021-01-20 18:19:40 +11:00
Leonard Hall
1e38440c83 AP_Math: add control common functions 2021-01-20 18:19:40 +11:00
Andy Piper
2fadcf6ba0 AP_HAL_ChibiOS: handle UP/CH channel sharing on H7 correctly 2021-01-20 18:15:17 +11:00
Andy Piper
9e641a32ad AP_HAL_ChibiOS: don't share flash SPI on BeastH7 and compile with -Os 2021-01-20 18:12:57 +11:00
Andy Piper
2b885cd79f AP_HAL_ChibiOS: ensure that serial LED setup goes via an intermediate buffer
protect serial LED buffer transfers with mutex
protect serial LED buffer size with mutex
prevent serial LED interactions before rcout is ready
allocate a serial led buffer per channel that needs it
setup clock mask when needed
2021-01-20 18:10:18 +11:00
yaapu
ecfcd98f8a AP_RCTelemetry: apply a 5s hysteresis to RF mode changes and rate reporting 2021-01-20 18:06:24 +11:00
Andy Piper
23158480c7 AP_RCTelemetry: calculate CRSF custom frame support correctly 2021-01-20 18:06:24 +11:00
Andy Piper
39219451bd AP_RCTelemetry: detect CRSF tracer RX and switch to 250Hz high speed telemetry 2021-01-20 18:06:24 +11:00
Andy Piper
f6a2d20579 AP_RCProtocol: add tracer 250Hz mode 2021-01-20 18:06:24 +11:00
yaapu
79640e5d94 RC_Channel: added support for passthrough telemetry over crossfire 2021-01-20 18:06:24 +11:00
yaapu
1c3b7d5ecd GCS_MAVLink: added support for passthrough telemetry over crossfire 2021-01-20 18:06:24 +11:00
yaapu
6b26a64f77 AP_Frsky_Telem: added support for passthrough telemetry over crossfire 2021-01-20 18:06:24 +11:00
yaapu
5ef20aec27 AP_RCProtocol: added support for passthrough telemetry over crossfire 2021-01-20 18:06:24 +11:00
yaapu
4933544489 AP_RCTelemetry: added support for passthrough telemetry over crossfire 2021-01-20 18:06:24 +11:00
Andrew Tridgell
9db0862d61 HAL_Linux: use nullptr for vnav rcinput
this makes it clearer what is going on
2021-01-20 13:49:26 +11:00
Michael du Breuil
15fd8480f8 AP_EFI: Correct a bad conversion from Kelvin to Celsius
(was off by 0.15 degrees)
2021-01-20 11:10:25 +11:00
Andrew Tridgell
dff6a5bff9 HAL_Empty: allow return of last value in RCOutput
this is needed for linux boards with no native RCOutput that use SBUS
out on a serial port to ensure they can display the servo values in
the GCS
2021-01-20 10:06:45 +11:00
Andrew Tridgell
1ce77111e5 AP_AHRS: allow override of default EKF type 2021-01-20 10:06:45 +11:00
Andrew Tridgell
009cb8f62b HAL_Linux: setup RCIN for vnav 2021-01-20 10:06:45 +11:00
Andrew Tridgell
a9f8c9517c AP_HAL: added vnav linux target 2021-01-20 10:06:45 +11:00
Andrew Tridgell
103d6c54e1 AP_ExternalAHRS: added vnav linux target 2021-01-20 10:06:45 +11:00
Peter Barker
933aba66f8 AP_HAL_SITL: avoid nullptr dereference in Replay 2021-01-19 15:15:35 +11:00
Peter Barker
c0ea19e5c5 SITL: add test for maxbotixi2cxl 2021-01-19 11:20:47 +11:00
Peter Barker
78b49a2c35 AP_RangeFinder: maxbotix: use i2c-address parameter 2021-01-19 11:20:47 +11:00
Iampete1
9be19b0bfa AP_Scripting: add plane spesific quadplane in_vtol_mode binding 2021-01-19 11:18:10 +11:00
Iampete1
7de14f2e2f AP_Scripting: desc: update AP_Terrain depends 2021-01-19 11:18:10 +11:00
Iampete1
2a75432fa2 AP_Scripting: Generator: support depends 2021-01-19 11:18:10 +11:00
Pierre Kancir
30a4747898 GCS_MAVLink: send sim_state msg 2021-01-19 10:40:43 +11:00
Pierre Kancir
c1f1208c89 SITL: add support for SIM_STATE msg 2021-01-19 10:40:43 +11:00
Andrew Tridgell
d9dbcb17c4 AP_Math: enable constrain value with line numbers on all boards 2021-01-19 10:24:39 +11:00
Andrew Tridgell
5def8a64ab SITL: avoid negative current and voltage in flightaxis
RealFlight9 will sometimes give meaningless negative values
2021-01-19 10:21:35 +11:00
Andrew Tridgell
53326a08ed AP_DAL: add 10k to SITL memory available
this is needed as the SITL data structures are larger than on STM32
due to pointer size. This means we sometimes fail to replay in SITL as
we refuse to allocate an EKF core
2021-01-18 13:01:00 +11:00
bugobliterator
c02c546077 AP_HAL_ChibiOS: add support for inline comments in hwdef.dat 2021-01-18 09:37:11 +11:00
bugobliterator
41693403e2 AP_HAL_ChibiOS: retain memory of past conflicts in dma_resolver 2021-01-18 09:37:11 +11:00
Randy Mackay
0cc9fd2b5d AP_AHRS_NavEKF: get_secondary_quat and position may return EKF3 value 2021-01-16 08:24:23 +09:00
Randy Mackay
1b3ad9cd8d AP_AHRS: use ekf3 by default 2021-01-16 08:24:23 +09:00
Randy Mackay
60633f5a7f AP_NavEKF2: disable ekf2 by default 2021-01-16 08:24:23 +09:00
Randy Mackay
4492e5024c AP_NavEKF3: enable ekf3 by default 2021-01-16 08:24:23 +09:00
Andrew Tridgell
ed8d86e5e6 GCS_MAVLINK: support deliberate parameter corruption 2021-01-16 06:47:10 +11:00
Andrew Tridgell
6ca68bfba3 AP_HAL: enable 32k storage on SITL 2021-01-16 06:47:10 +11:00
Andrew Tridgell
f93e2f6717 HAL_ChibiOS: enable 32k FRAM on H7 boards 2021-01-16 06:47:10 +11:00
Andrew Tridgell
9e15efcbb5 AP_InertialSensor: added params restored internal error 2021-01-16 06:47:10 +11:00
Andrew Tridgell
4d58bcb321 AP_Param: support restoring from parameter backup region
if header on primary parameter storage is corrupt then restore from
backup
2021-01-16 06:47:10 +11:00
Andrew Tridgell
03a033c5c4 StorageManager: added support for 32k storage with param backup
when HAL_STORAGE_SIZE == 32768 then add:

 - 1280 more bytes for params
 - double waypoint space
 - add a parameter backup area
2021-01-16 06:47:10 +11:00
pkocmoud
7b61a4d8c2 HAL_ChibiOS: support F7 with no crystal 2021-01-15 15:48:01 +11:00
Andy Piper
099d6aa72e AP_NavEKF3: add filter reset when vehicle is idle for too long 2021-01-15 15:47:20 +11:00
Andy Piper
cb5be4fcc1 AP_HAL_ChibiOS: don't share IMU DMA on MatekH743 to avoid SPI DMA contention 2021-01-15 14:32:39 +11:00
chobitsfan
26a3a02c81 AP_NavEKF3: use posxy_source in all places 2021-01-14 16:49:12 +09:00
李孟晓
40dbb316c1 AP_BattMonitor: ignore SoC option for UAVCAN devices 2021-01-13 18:30:53 +11:00
Andrew Tridgell
eeb728237f AP_Compass: removed error on BMM150
it may be probed at multiple addresses, don't throw lots of errors
2021-01-13 18:10:25 +11:00
Andy Piper
e781572d53 AP_HAL_ChibiOS: support iFlight BeastF7
reduce DMA contention on BeastH7 and correct sharing
add README's for BeastF7 and BeastH7
2021-01-13 18:09:33 +11:00
Andy Piper
fdbf2d369a AP_HAL_ChibiOS: do not take bi-dir path when in serial DMA 2021-01-13 18:03:41 +11:00
yaapu
89802ed6fc AP_MSP:Tools: use BATTERY_STATE.voltage_cv for cell voltage calculation to replicate actual DJI Goggles behaviour
This becomes apparent when pack voltage is above DJI's hard limit of 25.5v
with this fix the cell voltage is correct even for 12s packs just like on real hardware
2021-01-13 17:59:15 +11:00
yaapu
b84baf06d3 AP_OpticalFlow: fix MAVLink opflow driver, only apply yaw to flowRate as body rate comes from AHRS 2021-01-13 17:56:27 +11:00
yaapu
5b2d430a2a AP_OpticalFlow: fix CXOF opflow driver, only apply yaw to flowRate as body rate comes from AHRS 2021-01-13 17:56:27 +11:00
Andrew Tridgell
8728148db6 AP_Notify: don't do startup tone on AP_Periph devices 2021-01-13 15:18:40 +11:00
Igor Campos
174700b7ad AP_Mount: Implement roll control on Solo gimbal 2021-01-13 08:39:03 +11:00
Tatsuya Yamaguchi
985642af32 AP_Avoidance: update the description of AVD_F_ALT_MIN to specify MSL 2021-01-12 21:59:44 +09:00
chobits
e73d28fe19 AP_NavEKF3: remove redundant extnav code 2021-01-12 21:56:36 +09:00
Josh Henderson
8e705a5eed AP_Logger: move BAT & BCL logging functions to AP_BattMonitor 2021-01-12 17:43:55 +11:00
Josh Henderson
e91953fa3b AP_BattMonitor: move log BAT & BCL into AP_BattMonitor 2021-01-12 17:43:55 +11:00
Josh Henderson
dfa8e55622 AP_BattMonitor: add has_temperature method to Backend 2021-01-12 17:43:55 +11:00
Peter Barker
b92b343d4e SITL: add simulator for ICM40609 2021-01-12 17:43:36 +11:00
Peter Barker
239b09fb34 AP_InertialSensor: add simulator for ICM40609 2021-01-12 17:43:36 +11:00
Peter Barker
3d577d94e8 GCS_MAVLink: add do_disarm_checks boolean to disarm call
this creates symmetry between arming and disarming, at least as far as
the top-level arm() and disarm() calls are concerned.
2021-01-12 08:48:44 +09:00
Peter Barker
b229c552e6 AP_Arming: add do_disarm_checks boolean to disarm call
this creates symmetry between arming and disarming, at least as far as
the top-level arm() and disarm() calls are concerned.
2021-01-12 08:48:44 +09:00
Peter Barker
0052500d67 GCS_MAVLink: split out a handle_command_component_arm_disarm 2021-01-12 08:48:44 +09:00
Brad Bosch
a2192eda5e GCS_MAVLink: use RADIO_STATUS message txbuf field
this avoids overrunning radio buffer in queued_param_send()
2021-01-12 10:46:15 +11:00
bugobliterator
4346264113 AP_HAL_ChibiOS: ensure UP and CH timer channels share DMA for H7 2021-01-12 10:45:03 +11:00
Peter Barker
96981baadf AP_CanManager: use milliseconds for timeout
The use of PRIu64 was breaking people's builds
2021-01-12 10:38:54 +11:00
Peter Barker
9099a9b622 AP_AHRS: correct names for active EKF type 2021-01-12 10:23:08 +11:00
Josh Henderson
0ebbf0f74e AP_Logger: move AP_AHRS functions out 2021-01-12 10:13:22 +11:00
Josh Henderson
62ff9a4d4b AP_AHRS: move logging functions to AHRS 2021-01-12 10:13:22 +11:00
Josh Henderson
8ce5113c74 AC_AutoTune: privatize AHRS logging 2021-01-12 10:13:22 +11:00
Andy Piper
e9ea360a99 AP_HAL_ChibiOS: don't timeout after 11 bits on serial irqs 2021-01-12 09:58:58 +11:00
Andrew Tridgell
957842f7eb AP_InertialSensor: added support for v3 Invensense sensors
starting with ICM-40609, ICM-42688 and ICM-42605
2021-01-11 14:43:35 +11:00
Andrew Tridgell
14433c3ae3 HAL_ChibiOS: enable ICM-40609 on mRoNexus 2021-01-11 14:43:35 +11:00
yaapu
0f49058fbd AP_MSP: fix for missing ACK on unsupported MSP messages
MSP requires all messages to be acknowledged even if unsupported
2021-01-11 08:54:15 +11:00
Andrew Tridgell
882d9c4e23 GCS_MAVLink: adjust stack sizes 2021-01-10 08:28:55 +11:00
Andrew Tridgell
dc57454ac5 AP_Logger: adjust stack sizes 2021-01-10 08:28:55 +11:00
Andrew Tridgell
afbdd69165 AP_HAL_ChibiOS: adjust stack sizes 2021-01-10 08:28:55 +11:00
Andy Piper
8fb403c569 AP_HAL_ChibiOS: make sure BDMA channels are not adjacent 2021-01-10 08:11:37 +11:00
Andy Piper
186c28c275 AP_BLHeli: correct bi-dir mask enablement 2021-01-09 09:47:40 +11:00
Peter Barker
416dd98140 AP_Logger: check HAL_LOGGING_DATAFLASH only for definition
As the hwdefs only define the symbol, don't set it to a value...
2021-01-08 12:48:55 +11:00
Peter Barker
7d42f473fc AP_Logger: allow each backend to be compiled out 2021-01-08 12:48:55 +11:00
yaapu
480c9f10df AP_OpticalFlow: fix for msp opflow sensor alignement 2021-01-08 09:29:23 +09:00
Michael Oborne
d2720da4a2 AP_GPS: support yaw for UAVCAN GPS 2021-01-07 15:56:28 +11:00
Michael Oborne
5ef3e1bec3 UAVCAN: add dsdl for gps heading 2021-01-07 15:56:28 +11:00
Peter Barker
e8d24a1f68 AP_Logger: initialise logger instance variables in header 2021-01-07 10:42:13 +11:00
Peter Barker
80e8688888 AP_Logger: remove perf counters 2021-01-07 09:20:00 +11:00
Andy Piper
b3946a667c AP_Logger: omnibusF4pro needs more stack for logging and logging needs to take precedence over ftp 2021-01-07 07:43:52 +11:00
chobits
b0fa5fadcd AP_Logger: fix BCN multiplier 2021-01-06 21:48:32 +11:00
Peter Barker
c590aa061f RC_Channel: return uint32_t for number of ms overrides should live 2021-01-06 18:33:15 +11:00
Peter Barker
ef0b860a48 AP_Logger: remove Prep and NeedPrep functions
These were only being called directly after Init(), so just tacked them
onto the end of those functions.

The checks in NeedPrep turned out to be mostly redundant.
2021-01-06 18:25:21 +11:00
Josh Henderson
1c49a0b44d AP_Logger: only log Battery Status for active monitors 2021-01-06 18:23:15 +11:00
Peter Barker
496267115c AP_RangeFinder: MAVLink: use larger of min ranges / smaller of max ranges 2021-01-06 15:33:41 +11:00
Peter Barker
81ab322daa SITL: correct max_distance in simulated mavlink rangefinder 2021-01-06 15:33:41 +11:00
Peter Barker
cba5f142a7 AP_RangeFinder: correct MAVLink backend's out-of-range checks 2021-01-06 15:33:41 +11:00
Peter Barker
223e775a3c AP_RangeFinder_MAVLink: only set sensor type if we accept a reading 2021-01-06 15:33:41 +11:00
Peter Barker
40eb9a8b99 AP_RangeFinder: do not start the mavlink rangefinder as healthy
Also takes the opportunity to clean things up a little
2021-01-06 15:33:41 +11:00
Gone4Dirt
c96ca2483e AP_Generator: Make sensor unhealthy msg consistent with other sensors 2021-01-06 09:59:34 +11:00
Andrew Tridgell
59fa794818 AP_NavEKF3: constrain vertical error
this prevents a floating point exception with external AHRS
2021-01-05 21:13:12 +11:00
Andrew Tridgell
1e75bb971e AP_NavEKF2: constrain vertical error
this prevents a floating point exception with external AHRS
2021-01-05 21:13:12 +11:00
Andrew Tridgell
ce561ab249 AP_Logger: log active EKF type as ATT.AEKF 2021-01-05 21:13:12 +11:00
Andrew Tridgell
b73131cdbc AP_AHRS: review fixes 2021-01-05 21:13:12 +11:00
Andrew Tridgell
4e33b74d69 AP_AHRS: call external AHRS update 2021-01-05 21:13:12 +11:00
Andrew Tridgell
b5b9b57c9e AP_AHRS: added external AHRS mavlink status 2021-01-05 21:13:12 +11:00
Andrew Tridgell
75ad1a7d31 AP_AHRS: send a text msg when active EKF changes 2021-01-05 21:13:12 +11:00
Andrew Tridgell
9dbd2d3eba AP_AHRS: expose active EKF type for logging 2021-01-05 21:13:12 +11:00
Andrew Tridgell
7cc71dc573 HAL_SITL: support VectorNav simulation 2021-01-05 21:13:12 +11:00
Andrew Tridgell
f57971eafe SITL: added VectorNav simulator 2021-01-05 21:13:12 +11:00
Andrew Tridgell
e284c5694d AP_AHRS: added AHRS_EKF_TYPE=11 for external AHRS 2021-01-05 21:13:12 +11:00
Andrew Tridgell
b74e5c0e2f AP_InertialSensor: added ExternalAHRS backend 2021-01-05 21:13:12 +11:00
Andrew Tridgell
4f176c25de AP_InertialSensor: relax IMU wait time for low loop rates
allow for waiting for all IMUs for up to 1/3 of the loop time
2021-01-05 21:13:12 +11:00
Andrew Tridgell
bf51478dd1 AP_GPS: added ExternalAHRS backend 2021-01-05 21:13:12 +11:00
Andrew Tridgell
a068e95a48 AP_Compass: added ExternalAHRS driver 2021-01-05 21:13:12 +11:00
Andrew Tridgell
75c789fc57 AP_Baro: added ExternalAHRS backend 2021-01-05 21:13:12 +11:00
Andrew Tridgell
66297bd061 AP_Vehicle: added ExternalAHRS param tree and object
using EAHRS param prefix
2021-01-05 21:13:12 +11:00
Andrew Tridgell
0f08236e7c AP_SerialManager: added serial AHRS type 2021-01-05 21:13:12 +11:00
Andrew Tridgell
ae4d152d51 AP_SerialManager: added find_portnum() API
used for allocating device IDs
2021-01-05 21:13:12 +11:00
Andrew Tridgell
1b60be96d1 AP_ExternalAHRS: added support for external AHRS systems
First supported is VectorNav VN-300 on serial
2021-01-05 21:13:12 +11:00
Arsh
3d5addeee0 AP_HAL:examples:AnalogIn: Added comments in the AnalogIn example 2021-01-05 20:43:04 +11:00
Randy Mackay
3a075850f6 AC_Autorotation: minor comment fix 2021-01-05 17:19:43 +09:00
Peter Barker
b6833eee9b SITL: correct SMBus block reads 2021-01-05 14:45:20 +11:00
Peter Barker
8be50910e4 SITL: add support for simulated TSYS01 temperature sensor 2021-01-05 12:01:51 +11:00
Peter Barker
ecd21fbc4c AP_TemperatureSensor: add support for simulated TSYS01 temperature sensor 2021-01-05 12:01:51 +11:00
murata
d7533843d5 AC_AttitudeControl: Set the gravitational acceleration value to the defined value 2021-01-05 09:11:14 +09:00
murata
219dc2e7da AP_InertialSensor: Set the gravitational acceleration value to the defined value 2021-01-05 09:11:14 +09:00
murata
2eee8e389d AP_L1_Control: Set the gravitational acceleration value to the defined value 2021-01-05 09:11:14 +09:00
TsuyoshiKawamura
441be7e04b AP_Scripting: add rangefinder status_orient 2021-01-05 11:03:42 +11:00
Randy Mackay
647c568ab9 AP_NavEKF3: out-of-date comments removed
GPS, Static and ExtNav yaw buffers have been separated
2021-01-05 10:58:06 +11:00
Randy Mackay
27c998ad94 AP_NavEKF3: rename source and yawFusionMethod from EXTERNAL to GPS 2021-01-05 10:58:06 +11:00
Randy Mackay
77af6df730 AP_NavEKF: rename EXTERNAL to GPS 2021-01-05 10:58:06 +11:00
Randy Mackay
c14b4a8b6c AP_NavEKF3: add support for GSF as yaw source 2021-01-05 10:58:06 +11:00
Randy Mackay
0fb168d6ab AP_NavEKF: source supports GSF yaw 2021-01-05 10:58:06 +11:00
Randy Mackay
5891c6ace8 AP_NavEKF3: separate GPS yaw from ExtNav yaw 2021-01-05 10:58:06 +11:00
Randy Mackay
6850b48ea1 AP_NavEKF3: add comments for yaw sensor variables 2021-01-05 10:58:06 +11:00
Randy Mackay
fca8eb0778 AP_NavEKF_Source: add ExtNav yaw source 2021-01-05 10:58:06 +11:00
Peter Hall
1f7d796845 AP_Scripting: add fast param bindings and example 2021-01-05 10:55:36 +11:00
Peter Hall
9dae370356 AP_Scripting: add param accesss helper 2021-01-05 10:55:36 +11:00
Andrew Tridgell
16753a51f4 HAL_Linux: use ExpandingString 2021-01-05 10:52:00 +11:00
Andrew Tridgell
42bc9adfb7 HAL_ChibiOS: use ExpandingString for @SYS buffers 2021-01-05 10:52:00 +11:00
Andrew Tridgell
6da0212ce4 AP_Scheduler: use ExpandingString class 2021-01-05 10:52:00 +11:00
Andrew Tridgell
c21b6b4a16 AP_HAL_SITL: use ExpandingString class 2021-01-05 10:52:00 +11:00
Andrew Tridgell
96cbde0ee6 AP_HAL: use ExpandingString class 2021-01-05 10:52:00 +11:00
Andrew Tridgell
c924a9917e AP_Filesystem: use ExpandingString class 2021-01-05 10:52:00 +11:00
Andrew Tridgell
0c6b4a1045 AP_CANManager: use ExpandingString class 2021-01-05 10:52:00 +11:00
Andrew Tridgell
6c1891fcb3 AP_Common: added ExpandingString class
useful for @SYS output construction
2021-01-05 10:52:00 +11:00
Peter Hall
1a14c8a05b AC_PID: populate pid_info limit feild 2021-01-05 10:27:28 +11:00
Peter Hall
b2e1d88da8 AP_Logger: add limit flag to PID logs 2021-01-05 10:27:28 +11:00
Andrew Tridgell
69d3264e55 StorageManager: allow for CANDNA storage on F405 boards
this allows for boards using the log structure storage with 15360
bytes of storage have a CANDNA area.

This fixes CAN support on F405 boards
2021-01-05 10:25:17 +11:00
Peter Barker
8f8283e0f0 AP_Motors: rc_map_mask -> motor_mask_to_srv_channel_mask
the naming of this function precedes our rc/srv-channel split
2021-01-05 10:19:32 +11:00
Peter Barker
d24e569b20 GCS_MAVLink: add option to panic the autopilot 2021-01-05 10:04:25 +11:00
Peter Barker
ca6c133042 AP_HAL_ChibiOS: do not reuse va_list after it has been ended 2021-01-05 10:04:25 +11:00
Andrew Tridgell
a74d087fd8 SRV_Channel: prevent FPE with SERVOn_MIN==SERVOn_MAX 2021-01-05 08:23:28 +11:00
Josh Henderson
4a7f663cad AP_Logger: README add multiplier descriptions
Add clarity to the multipliers and descriptions
2021-01-04 20:45:38 +11:00
Andy Piper
27d7c73c8e AP_RCProtocol: rc_protocols_mask must be set before bootstrap occurs 2021-01-04 20:04:19 +11:00
Josh Henderson
ceb2c87970 SITL: align default i2c device bus for BattMonitor 2021-01-04 18:30:09 +11:00
Peter Barker
c81df7b5ad AP_Math: add tests for circle-segment-intersection 2021-01-04 13:58:42 +11:00
Peter Barker
f534963413 AP_Math: consolidate error checking 2021-01-04 13:58:42 +11:00
murata
4ffc559ccc AP_Math: judge isnan judgment before operation 2021-01-04 13:58:42 +11:00
Peter Barker
8977f3a859 SITL: correct I2C message handling 2021-01-04 12:49:20 +11:00
Peter Barker
23d393e108 SITL: add I2C 8Bit-register methods 2021-01-04 12:49:20 +11:00
Peter Barker
3c16f164df AP_HAL_SITL: correct I2C callback interval 2021-01-04 11:26:12 +11:00
Andrew Tridgell
324ff178d8 HAL_ChibiOS: fixed CUAV_GPS defaults.parm 2021-01-03 16:24:12 -08:00
Tom Pittenger
113f792ad1 AP_HAL_ChibiOS: update periph targets who have buzzer/LEDs with notify 2021-01-03 16:24:12 -08:00
Tom Pittenger
7dde981de6 AP_Notify: add public accessor and param defaults 2021-01-03 16:24:12 -08:00
Andrew Tridgell
6f4bfed82d HAL_ChibiOS: fixed build with alarm and no PWM channels
this fixes a build error due to conditional always being false when
NUM_GROUPS==0 by using a C++ iterator. It also makes the code neater
2021-01-04 09:04:06 +11:00
Peter Barker
8e34388a20 SITL: move simulated maxsonari2c to bus 0
.... where the driver expects it by default
2021-01-03 20:36:54 +11:00
Peter Barker
e5fd661caf SITL: correct I2C multi-bus support 2021-01-03 20:36:54 +11:00
Peter Barker
21ffa4d259 SITL: add sanity check for duplicate bus/addr I2C devices 2021-01-03 20:36:54 +11:00
Peter Barker
995f5d1dad SITL: increase quad scanner range to 18m
Matches the value we send for Rover, which is useful until we can
reflect on the simulation to discover its maximum range
2021-01-03 18:54:54 +11:00
Rishabh
2f5f55f680 SITL: Added quadcopter morse example with laser scanner 2021-01-03 18:54:54 +11:00
Peter Barker
b1239dcd06 SITL: correct OBSTACLE_DISTANCE message output from SIM_Morse 2021-01-03 17:49:44 +11:00
Andy Piper
40090dcce9 AP_UAVCAN: compile fix for debug/assertions 2021-01-03 08:57:13 +11:00
Andy Piper
176c648156 AP_Terrain: compile fix for gcc 9 2021-01-03 08:57:13 +11:00
Andy Piper
779c2a9e5f AP_Logger: move logger IO to a separate thread 2021-01-02 22:30:08 +11:00
Andrew Tridgell
09603e29ce AP_Compass: fixed external handling for BMM150 2021-01-02 10:31:15 +11:00
Andrew Tridgell
3d4a8829f3 AP_Compass: added BMM150 as available external mag 2021-01-02 10:31:15 +11:00
Andrew Tridgell
e747edbcf2 AP_NavEKF3: fixed init order for scheduler
this can impact replay of EKF2
2021-01-02 10:30:26 +11:00
Andrew Tridgell
b36bfe4206 AP_NavEKF2: fixed init order for scheduler
this can impact replay of EKF2
2021-01-02 10:30:26 +11:00
Hwurzburg
ce361e51bf HAL_ChibiOS: Reinstate HAL_MINIMIZE_FEATURES for 1MB F7 boards 2021-01-02 08:57:47 +11:00
Andrew Tridgell
6ed4eca57f AP_CANManager: fixed use of CANSensor on multiple ports
we should not increment _num_drivers if we don't have a driver yet
2021-01-02 06:25:20 +11:00
Andrew Tridgell
418367c266 HAL_SITL: allow --home to specify a location from locations.txt
this will make it easy to use a named location in MissionPlanner SITL
2021-01-01 17:30:32 +11:00
Andrew Tridgell
a4517032c5 AP_UAVCAN: log all UAVCAN devices in CAND log message 2021-01-01 17:30:14 +11:00
Andrew Tridgell
0ae9b28198 AP_Logger: added get_log_start_count()
used by UAVCAN to know if it should log CAN devices on log rotation
2021-01-01 17:30:14 +11:00
Andrew Tridgell
4fdf315760 AP_Logger: use null terminated strings
this prevents logging garbage for strings that are shorter than the
length specifier (eg. 'Z'). This assumes we will not want to log
binary data as strings
2021-01-01 17:30:14 +11:00
Andrew Tridgell
66c05bef76 AP_RangeFinder: added USD1 CAN driver
also known as uLanding CAN
2021-01-01 17:29:54 +11:00
Andrew Tridgell
943918d511 AP_Arming: added USD1 CAN 2021-01-01 17:29:54 +11:00
Andrew Tridgell
b7fa1a4b98 AP_CANManager: added USD1 CAN driver type 2021-01-01 17:29:54 +11:00
Michael du Breuil
60af6633cf AP_EFI: Add NWPMU CAN driver 2021-01-01 17:29:54 +11:00
Andrew Tridgell
fb84baf8a5 AP_Arming: added EFI_NWPMU 2021-01-01 17:29:54 +11:00
Andrew Tridgell
db798ace05 AP_CANManager: added EFI_NWPMU 2021-01-01 17:29:54 +11:00
Andrew Tridgell
32c3a2feef AP_CANManager: added CANSensor class
this makes creation of custom CAN protocol handlers much easier
2021-01-01 17:29:54 +11:00
Andrew Tridgell
e260c7ad59 HAL_ChibiOS: update f303-MatekGPS to allow disable of MSP
and use DMA for MSP
2021-01-01 15:40:13 +11:00
David B. Bitton
8dbe0a71ba AP_HAL_ChibiOS: add support for Toshiba LED 2020-12-31 11:02:10 -08:00
Tom Pittenger
8e6278f269 AP_ADSB: add Sagetech XP driver 2020-12-30 17:56:38 -08:00
Tom Pittenger
ffd3d1da1d AP_SerialManager: add support for ADSB protocol 2020-12-30 17:56:38 -08:00
Tom Pittenger
afaca30075 AP_HAL: add helpers le24toh_ptr(), be24toh_ptr(), put_le24_ptr(), put_be24_ptr() 2020-12-30 17:56:38 -08:00
Hwurzburg
e11677807b Plane: Unify tilt servo names 2020-12-30 21:21:57 +11:00
Andy Piper
401e5c2073 AP_HAL_ChibiOS: add support for bidir DShot support in RCOutput
add support for sampling GPIO pins using timer
don't restart pwm group when not doing bi-dir
fix hwdef generation preproc for TIM DMA
decode telemetry at the start of the dshot cycle
calculate dshot pulse separation correctly and ensure we output rapidly enough
calculate dshot min periods and timeouts correctly
refactor dshot_send() into dshot_send_groups()
use bi-dir dshot channel mask
selectively enable bi-dir RC Channels
process bi-dir mask correctly when allocating DMA channels
allow UP and CH DMA channel sharing
optionally enable bidir vars in hwdef.

enable bi-dir dshot in KakuteF7Mini
enable bi-dir dshot in OmnibusF4Pro
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in MatekF405
enable bi-dir dshot in fmuv5
enable bi-dir dshot in fmuv3
enable bi-dir dshot in OmnibusF7V2
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in CubeOrange
enable bi-dir dshot in Pixracer
enable bi-dir dshot in mRoPixracerPro

Co-authored-by: bugobliterator <siddharthbharatpurohit@gmail.com>
2020-12-30 19:14:16 +11:00
Andy Piper
5436784d38 AP_Logger: add ESC error rate 2020-12-30 19:14:16 +11:00
Andy Piper
1c79f22ba2 AP_HAL: make erpm accessible from RCOutput
give access to erpm error rate
add bi-directional dshot mask modifier
2020-12-30 19:14:16 +11:00
Andy Piper
c8b2f11ab6 AP_InternalError: add dma_fail 2020-12-30 19:14:16 +11:00
Andy Piper
f60fdde492 AP_BLHeli: return motor frequencies from bi-dir dshot if available
add channel mask to cater for bi-dir dshot
call into rcout to setup bi-dir dshot
log bi-dir telemetry even when regular telemetry is disabled
don't expose bi-dir dshot if not compiled in
2020-12-30 19:14:16 +11:00
oneWayOut
654aea1cd1 SITL: delete unused parameter 'Vector3f &body_accel' in Plane::calculate_forces() 2020-12-30 18:59:12 +11:00
murata
282590668d AP_RangeFinder: Make measurement time and call back time static constant
Co-authored-by: Pierre Kancir <pierre.kancir.emn@gmail.com>
2020-12-30 18:29:35 +11:00
Andy Piper
253ce18184 AP_HAL_SITL: rename system_initialized() and add is_system_initialized() 2020-12-30 18:16:59 +11:00
Andy Piper
526ae5d2f4 AP_HAL_Empty: rename system_initialized() and add is_system_initialized() 2020-12-30 18:16:59 +11:00
Andy Piper
74633e55cc AP_HAL_Linux: rename system_initialized() and add is_system_initialized() 2020-12-30 18:16:59 +11:00
Andy Piper
07f199ea1a AP_HAL_ChibiOS: rename system_initialized() and add is_system_initialized() 2020-12-30 18:16:59 +11:00
Andy Piper
9e7c60178d AP_HAL: rename system_initialized() and add is_system_initialized() 2020-12-30 18:16:59 +11:00
Andy Piper
048deeb43e AP_Logger: check is_system_initialized() when determining liveness 2020-12-30 18:16:59 +11:00
Andy Piper
c8e464ebea AP_HAL: add HAL_ENABLE_THREAD_STATISTICS to boards 2020-12-30 18:15:05 +11:00
Andy Piper
83c8807b39 AP_HAL_ChibiOS: when HAL_ENABLE_THREAD_STATISTICS is defined add ChibiOS thread stats to threads.txt
define HAL_ENABLE_THREAD_STATISTICS in hwdef.h
2020-12-30 18:15:05 +11:00
Andy Piper
b6a008c73d AP_Filesystem: increase ftp thread buffer size when HAL_ENABLE_THREAD_STATISTICS is defined 2020-12-30 18:15:05 +11:00
Andy Piper
a4b2930223 AP_HAL_ChibiOS: iFlight Beast H7 AIO hwdef 2020-12-30 18:13:03 +11:00
ukmook
bf34041211 AP_HAL_ChibiOS: add support for Pixracer-periph 2020-12-29 07:52:39 -07:00
Peter Barker
b8827e6486 GCS_MAVLink: allow control to be return to radio for higher-numbered RC_CHANNELS_OVERRIDE 2020-12-29 15:03:34 +11:00
Peter Barker
6f4bbd3f57 GCS_MAVLink: for high RC_CHANNELS_OVERRIDE channels zero means ignore the field 2020-12-29 15:03:34 +11:00
Hwurzburg
9728dee344 AP_Button: expand info in metadata 2020-12-29 11:11:40 +11:00
Andrew Tridgell
e6c5382a28 GCS_MAVLINK: fixed FPE in DO_SET_ROI
this prevents a floating point exception when MissionPlanner sends an
invalid DO_SET_ROI

See https://github.com/ArduPilot/MissionPlanner/issues/2528
2020-12-28 11:53:03 +11:00
Arsh
3df1bd84e1 AP_NavEKF_Source:Fixed some style issues 2020-12-28 08:46:24 +09:00
Tom Pittenger
5432c9957a AP_HAL_ChibiOS: rename AP_PERIPH_<feature>_DEFAULT to HAL_PERIPH_<feature>_DEFAULT 2020-12-28 09:16:02 +11:00
Andrew Tridgell
9fcf36bad9 AP_RCProtocol: save memory in IO firmware
disable FPort2 to save memory.
Disable SBUS_NI as it is not needed on IOMCU as it has a dedicated
inverter
2020-12-28 08:27:23 +11:00
Hwurzburg
c73158ebe7 Update functions for rear tilt servos
and unity names
2020-12-27 15:21:10 +11:00
Tom Pittenger
e3e876d4ed AP_SerialManager: clear default protocols for AP_Periph 2020-12-25 16:24:50 -07:00
Tom Pittenger
083088bfff AP_HAL_ChibiOS: adjust defaults to use param instead of hardcoded defaults 2020-12-25 16:24:50 -07:00
Peter Barker
7b9fbe3b30 AP_Mount: support MAV_MOUNT_MODE_HOME_LOCATION to point at HOME 2020-12-25 12:17:27 +11:00
Ari Krupnik
cfb1213f43 AP_HAL: standard spelling of variant 2020-12-25 00:01:50 +11:00
Ari Krupnik
79e1f5e8bd AP_HAL_ChibiOS: standard spelling of variant 2020-12-25 00:01:50 +11:00
Ari Krupnik
1d288316cc AP_GPS: standard spelling of variant 2020-12-25 00:01:50 +11:00
Peter Barker
69c97c1565 SITL: add support for multiple i2c buses 2020-12-24 16:05:49 +11:00
Peter Barker
bddea9e046 AP_HAL_SITL: add support for multiple i2c buses 2020-12-24 16:05:49 +11:00
Randy Mackay
2eb5114688 AP_Scripting: ahrs-source.lua plays tune when source set changes 2020-12-23 19:02:59 +11:00
Randy Mackay
69cb8e6bc6 AP_Scripting: ahrs-soruce.lua uses RCx_OPTION 300
this removes the potential conflict with zigzag mode
2020-12-23 19:02:59 +11:00
Andy Piper
3db6203fb6 AP_InertialSensor: reduce FIFO buffer size to avoid DMA contention 2020-12-23 18:03:12 +11:00
Phillip Kocmoud
062c6cef41 HAL_ChibiOS: Fix typo relating to pin PB7:I2C4_SDA 2020-12-23 06:43:19 +11:00
Peter Barker
b5316c3b52 SITL: stash pressure in sitl_fdm structure
It's not a great way of getting the data where needed - but it is
something.
2020-12-22 23:07:24 +11:00
Peter Barker
a8b93881d3 AP_HAL_SITL: stash pressure in sitl_fdm structure
It's not a great way of getting the data where needed - but it is
something.
2020-12-22 23:07:24 +11:00
Peter Barker
e0aa3c78e5 AP_HAL_SITL: remove unimplemented methods 2020-12-22 23:07:24 +11:00
Peter Barker
0bb6f8897e SITL: add simulated DLVR airspeed sensor 2020-12-22 23:07:24 +11:00
bnsgeyer
09b9ad83dc AP_Motors: tradheli - add support to determine below mid collective 2020-12-21 23:33:48 -05:00
bnsgeyer
6c8a85ee04 AP_Motors: updates to new integrator and make selectable 2020-12-21 23:33:48 -05:00
bnsgeyer
c565536afa AC_PID: add support to smoothly reset the integrator 2020-12-21 23:33:48 -05:00
bnsgeyer
84fb3afbcb AP_Motors: Tradheli support for integrator management and hover collective learning 2020-12-21 23:33:48 -05:00
bnsgeyer
04e2cceaff AC_AttitudeControl: Tradheli support for integrator management and hover collective learning 2020-12-21 23:33:48 -05:00
Tom Pittenger
c01726b07d SRV_Channel: reduce dependencies for AP_Periph builds 2020-12-21 18:27:07 -08:00
Siddharth Purohit
5b58163c35 AP_HAL_ChibiOS: add HAL_PERIPH_ENABLE_RCOUT_TRANSLATOR to CubeBlack-periph and CubeOrange-periph 2020-12-21 18:27:07 -08:00
Tom Pittenger
da74d755d0 AP_HAL_ChibiOS: add new HAL_PWM_COUNT define 2020-12-21 18:27:07 -08:00
Iampete1
69bec46fa8 AP_Motors: Tailsitter: don't apply roll and pitch compsation gain 2020-12-22 11:00:59 +11:00
Randy Mackay
20f1603b73 AP_NavEKF: source skips compass pre-arm check 2020-12-21 16:56:38 +09:00
Randy Mackay
4998b536b4 AP_NavEKF: source returns YawSource None if COMPASS_USE all zero 2020-12-21 16:56:38 +09:00
Randy Mackay
dfd1c23cd3 AP_NavEKF: source format fix 2020-12-21 16:56:38 +09:00
Randy Mackay
39be85cef4 AP_NavEKF3: integrate Source loss of init 2020-12-21 16:56:38 +09:00
Andrew Tridgell
218c0e4385 AP_NavEKF: Source's active_source_set becomes index 2020-12-21 16:56:38 +09:00
Andrew Tridgell
89f9b9e9b0 AP_NavEKF3: use AP_Enum to make code clearer 2020-12-21 16:56:38 +09:00
Mark Whitehorn
7446a9c33c AC_AttitudeControl: make relax_attitude_controllers() non-virtual 2020-12-21 12:56:24 +11:00
Mark Whitehorn
cc2c631d23 AC_AttitudeControl: add AC_AttitudeControl_TS
move tailsitter body-frame roll input method to new subclass
override relax_attitude_controllers in AttitudeControl_TS
2020-12-21 12:56:24 +11:00
Andrew Tridgell
7f3a851dd3 SRV_Channel: added support for rear motor tilt 2020-12-21 12:05:50 +11:00
Tatsuya Yamaguchi
4dc5162d0a AP_RangeFinder: change i2c reading frequency to 50Hz 2020-12-19 08:14:54 -03:00
ashvath
54708d916b AP_RangeFinder: TFminiPlus driver outputs init failure to ground station 2020-12-19 08:14:54 -03:00
Tatsuya Yamaguchi
b0ee6393ae AP_RangeFinder: TFminiPlus: set frame rate to 250hz 2020-12-19 08:14:54 -03:00
Dr.-Ing. Amilcar do Carmo Lucas
d76825feeb GCS_MAVLink: adapt to upstream changes in the distance_sensor mavlink message 2020-12-19 19:54:03 +11:00
Tom Pittenger
f670f7a9b6 AP_HAL_ChibiOS: change ADSB to use param ADSB_PORT instead of define 2020-12-17 23:24:04 -08:00
Tom Pittenger
5c98e18236 AP_HAL_CubeORange-periph: enable HAL_PERIPH_ALLOW_MAVLINK_UART_OR_USB_REBOOT_CMD on USB 2020-12-18 06:59:09 +11:00
Peter Barker
6dfd2f2ff9 AP_NavEKF3: use use_EKFGSFYaw to reduce code duplication 2020-12-17 16:00:29 +09:00
Andrew Tridgell
a31ea88ff5 SITL: use async SOAP requests for flightaxis
this greatly improves performance for cygwin
2020-12-17 16:13:55 +11:00
Andrew Tridgell
8d6d5c6b49 SITL: removed flightaxis threading 2020-12-17 16:13:55 +11:00
Andrew Tridgell
b4201436dd HAL_ChibiOS: fixed flash space on 16k bl boards
this avoids the stm32_flash_recent_erase() function which added around
800 bytes to the bootloader. It is not needed
2020-12-17 12:51:25 +11:00
bnsgeyer
62758ffd99 AP_Motors: Dual-heli-keep intermeshing from using DCP to yaw mixer 2020-12-16 19:52:23 -05:00
PittRBM
3f405590c7 AP_Motors: Dual Heli-add support for intermeshing rotor 2020-12-16 19:52:23 -05:00
bnsgeyer
ebd83b756b AP_Motors: add DCP trim feature for Dual Heli 2020-12-17 09:01:02 +11:00
Peter Barker
f12191b4b1 AP_Param: fix typo 2020-12-16 19:30:29 +11:00
Peter Barker
840c386a33 AP_Param: add _FLAG to AP_PARAM_NO_SHIFT
Just for consistency with the other flags
2020-12-16 19:30:29 +11:00
Randy Mackay
a2cca60beb AP_NavEKF3: constify EKFGSF_getYaw 2020-12-16 19:18:29 +11:00
Randy Mackay
754002525e AP_NavEKF: constify EKFGSF_yaw members 2020-12-16 19:18:29 +11:00
Randy Mackay
0c3fcfd9d6 AP_NavEKF3: add missing break to case statements 2020-12-16 19:18:29 +11:00
Randy Mackay
9cb529cfd6 AP_NavEKF3: minor formatting fix
also replace tab with spaces
2020-12-16 19:18:29 +11:00
Sebastian Witt
6cfaae4e7d AP_HAL_ChibiOS: Support for Diatone MambaF405 MK2 2020-12-16 19:07:07 +11:00
Andy Piper
e6d0e38129 AP_RCProtocol: allow handshake to initiate RC connection. Support listen-only SRXL2 devices.
only bootstrap when SRXL2 is the only configured protocol (RC_PROTOCOLS=256)
remove spurious 0 initializers
2020-12-16 18:06:49 +11:00
李孟晓
aae2d0082d AP_BattMonitor_UAVCAN: Fix issue with multiple batteries not working 2020-12-16 12:44:21 +11:00
Andrew Tridgell
c504e2db04 AP_Motors: added disable_yaw_torque() method
this is used for tilt-vectored quadplanes to use only vectoring for
yaw control. This avoids some nasty transition issues
2020-12-16 08:45:11 +11:00
Paul Riseborough
908b348c31 AP_NavEKF3: Fix typo in enum label 2020-12-15 19:29:16 +11:00
Randy Mackay
e819dbdd64 AP_NavEKF3: add EKFGSF_getYaw to reduce duplicate code 2020-12-15 19:29:16 +11:00
Randy Mackay
c2edae905f AP_NavEKF3: simplify logic when updating yawAngDataStatic 2020-12-15 19:29:16 +11:00
Randy Mackay
843ddb4fdc AP_NavEKF3: minor format fix 2020-12-15 19:29:16 +11:00
Paul Riseborough
a9e76d44af AP_NavEKF3: Clean up yaw fusion logic 2020-12-15 19:29:16 +11:00
Paul Riseborough
ccfd89240b AP_NavEKF3: Fix error in calculation of static 312 order yaw reference 2020-12-15 19:29:16 +11:00
Peter Barker
44cafa0dcc RC_Channel: add auxillary function to change to FBWA 2020-12-15 19:14:33 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
f77ab30f7a Revert "AP_NavEKF3: Remove unsupported parameter unit descriptions"
This reverts commit 4f4a2f446d.
Makes more sense to add those to the list of supported units
2020-12-15 18:22:36 +11:00
Andrew Tridgell
2e18334165 HAL_SITL: fixed baudrate 0 set in SITL
this fixes MSP sensors in SITL with real uarts
2020-12-15 11:36:16 +11:00
Andrew Tridgell
7b6392fcb5 HAL_Empty: fixed build 2020-12-15 10:32:46 +11:00
Andrew Tridgell
d6c5fc36d8 HAL_Linux: only init serial(0)
we should not pre-init all uarts, it wastes memory if unused
2020-12-15 10:32:46 +11:00
Andrew Tridgell
19723e6e75 AP_HAL: make uart pointers private
this ensures they cannot be used by library or vehicle code, so we
will be able to remove them in future
2020-12-15 10:32:46 +11:00
Andrew Tridgell
195ec0316a AP_HAL: fixed example fw for SERIAL naming 2020-12-15 10:32:46 +11:00
Andrew Tridgell
6249abaf8f RC_Channel: fixed example firmware 2020-12-15 10:32:46 +11:00
Andrew Tridgell
5406699ec8 AP_SerialManager: removed unnecessary uart pointer in state structure 2020-12-15 10:32:46 +11:00
Andrew Tridgell
348dfeff6e HAL_Linux: use a loop for serial tick 2020-12-15 10:32:46 +11:00
Andrew Tridgell
bf546f363d HAL_ChibiOS: don't init serial 1 and 3
these should not be treated as special. Initialising them early just
wastes memory if the end up not being used
2020-12-15 10:32:46 +11:00
Andrew Tridgell
6df118e7b4 GCS_MAVLink: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
23e629715e AP_SerialManager: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
cf187ff837 AP_HAL_SITL: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
db76eebd85 AP_HAL_Linux: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
95c0852b13 AP_HAL: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
e54fc4b0de AP_HAL_ChibiOS: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
e02047861a AP_GPS: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
0f5a75f5b9 AP_BoardConfig: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell
8678759da4 AP_HAL: added hal.serial() access to uarts
this gives access to serial ports in the SERIALn_ order. It is inlined
by the compiler so using hal.uartB and hal.serial(3) generates
idential code on stm32 (tested on H7).

This is a step towards eliminating hal.uartX completely and the
horrible uartB ordering
2020-12-15 10:32:46 +11:00
Jaaaky
4ec1c2ea67 AP_IOMCU: Remove duplicate includes from AP_IOMCU.cpp 2020-12-15 10:01:54 +11:00
Andrew Tridgell
8b8029fdfe AP_Param: cope better with flooding the save queue with one param 2020-12-14 18:53:02 +11:00
Andrew Tridgell
5a8acea0dd AP_Param: fixed lockup in scripting due to save queue
this is a quick fix for a lockup in scripting due to the mission API
holding the scheduler semaphore when it is updating the mission count
parameter
2020-12-14 18:53:02 +11:00
Phillip Kocmoud
ce87b62dcc AP_Periph: Add alternate ordering of NCP5623 LED colors 2020-12-12 14:57:35 +11:00
Peter Barker
7449b3eea4 AP_HAL_SITL: fix help output 2020-12-12 10:01:20 +11:00
Paul Riseborough
8f32430294 AP_NavEKF3: Fix white spaces 2020-12-11 15:21:41 +11:00
Paul Riseborough
bdc202378a AP_NavEKF3: fix white space 2020-12-11 15:21:41 +11:00
Paul Riseborough
ed17d8e48f AP_NavEKF3: Improve parameter display names 2020-12-11 15:21:41 +11:00
Paul Riseborough
171f0b399f AP_NavEKF3: Remove commented code 2020-12-11 15:21:41 +11:00
Andrew Tridgell
b86c014400 AP_NavEKF3: rename drag parameters to start with EK3_DRAG_ 2020-12-11 15:21:41 +11:00
Andrew Tridgell
3e2ff71750 AP_Baro: rename params to suit new BARO param naming 2020-12-11 15:21:41 +11:00
Paul Riseborough
47d4506e68 AP_NavEKF3: Add drag and sideslip innovation logging 2020-12-11 15:21:41 +11:00
Paul Riseborough
b258cb0539 SITL: Add momentum drag to Z axis to work around thrust model deficiencies 2020-12-11 15:21:41 +11:00
Paul Riseborough
a907c10733 SITL: Add momentum drag to multicopter model 2020-12-11 15:21:41 +11:00
Andrew Tridgell
b7f68e87b4 SITL: added barometer wind coefficients 2020-12-11 15:21:41 +11:00
Andrew Tridgell
567de3047b AP_Baro: added modelling of baro wind effects in SITL 2020-12-11 15:21:41 +11:00
Andrew Tridgell
e552fd7e5a AP_Baro: adjust for new baro params in SITL 2020-12-11 15:21:41 +11:00
Andrew Tridgell
3456bdb4eb SITL: added a separate param class for SITL baro params
makes it easier to add more
2020-12-11 15:21:41 +11:00
Andrew Tridgell
9563c1ed33 AP_Baro: rename wind coefficient params to be clearer 2020-12-11 15:21:41 +11:00
Paul Riseborough
4884476c09 AP_NavEKF3: Formatting and comment fixes 2020-12-11 15:21:41 +11:00
Andrew Tridgell
be4d10a95e AP_NavEKF3: rework parameter handling
and fixed indentation
2020-12-11 15:21:41 +11:00
Andrew Tridgell
1c1c067dee AP_Baro: rework to separate out wind coefficient params
- disable on low flash boards
 - add an enable parameter per baro for wind coeffients
2020-12-11 15:21:41 +11:00
Paul Riseborough
5da62aeaa2 AP_NavEKF3: Fix CI build errors 2020-12-11 15:21:41 +11:00
Paul Riseborough
0d2c235027 AP_NavEKF3: Fix #define typo 2020-12-11 15:21:41 +11:00
Paul Riseborough
ab05e8ed4a AP_NavEKF3: Update param descriptions 2020-12-11 15:21:41 +11:00
Paul Riseborough
4f4a2f446d AP_NavEKF3: Remove unsupported parameter unit descriptions 2020-12-11 15:21:41 +11:00
Paul Riseborough
0be0498801 AP_Baro: Add static pressure positoin error correction 2020-12-11 15:21:41 +11:00
Paul Riseborough
3a0105fcc3 AP_AHRS: Add accessor function for body frame airspeed vector 2020-12-11 15:21:41 +11:00
Paul Riseborough
b372d62f35 AP_NavEKF2: Add accessor function for body frame airspeed vector 2020-12-11 15:21:41 +11:00
Paul Riseborough
c9ab4b18b0 AP_NavEKF3: Add multicopter wind estimation 2020-12-11 15:21:41 +11:00
Peter Barker
ab444e1d26 RC_Channel: correct function initialisation 2020-12-11 15:21:22 +11:00
Andrew Tridgell
ac4a05ffbf AP_NavEKF3: fixed null dereference of airspeed
this caused a segfault in replay
2020-12-11 14:22:46 +11:00
Andrew Tridgell
2071a19a40 AP_NavEKF3: only fuse airspeed if healthy 2020-12-11 09:59:49 +11:00
Andrew Tridgell
5e72907730 AP_NavEKF2: only fuse airspeed if healthy 2020-12-11 09:59:49 +11:00
Andrew Tridgell
d16af5448b AP_DAL: added healthy() method for airspeed 2020-12-11 09:59:49 +11:00
Peter Barker
ca41a19072 AP_AHRS: AHRS itself must also be healthy to arm, not just the "backend" 2020-12-11 09:55:40 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
1d0e7d2974 GCS_MAVLink: Added cells 11...14 voltage information (13 and 14 are 0 for now) 2020-12-11 06:37:32 +11:00
yaapu
89f0ed2f8f AP_Scripting: added bindings and example for waypoint info 2020-12-10 12:39:44 +11:00
yaapu
edf2291fb0 AP_Vehicle: added getters for waypoint info, refactored osd publish_nav_info() 2020-12-10 12:39:44 +11:00
Tom Pittenger
68b2982cc6 AP_HAL_ChibiOS: CubeBlack/Orange-periph to use default HAL_SUPPORT_RCOUT_SERIAL 2020-12-09 07:53:09 -08:00
Tom Pittenger
6630645915 AP_HAL: ap_periph should disable HAL_SUPPORT_RCOUT_SERIAL by default 2020-12-09 07:53:09 -08:00
Peter Barker
449b0fb145 SITL: add simulated SF45B 2020-12-09 21:32:36 +11:00
Peter Barker
c1202e4878 AP_HAL_SITL: add simulated SF45B 2020-12-09 21:32:36 +11:00
yaapu
42b85c88ed AP_MSP: fix for multiple backends initialization 2020-12-09 19:40:22 +11:00
yaapu
e044cdfde7 AP_Frsky_Telem: fix for conditional compilation of bidir support 2020-12-09 19:19:06 +11:00
yaapu
6dfa42c958 RC_Channel: added FPORT2 to RC_PROTOCOLS parameter 2020-12-09 19:14:51 +11:00
Tom Pittenger
2203bf2400 AP_HAL_ChibiOS: Add f303-periph default RANGEFINDER_MAX_INSTANCES 1 2020-12-09 18:05:24 +11:00
Andrew Tridgell
ea57b1982f AP_Airspeed: cope with no temperature on MSP airspeed 2020-12-08 20:41:12 +11:00
Andrew Tridgell
2d75ef4f60 AP_Airspeed: handle INT16_MIN temperature for UAVCAN sensor 2020-12-08 20:41:12 +11:00
Andrew Tridgell
73fda4e6a7 AP_Airspeed: cope with zero ratio in SDP3X driver
needed for AP_Periph
2020-12-08 20:41:12 +11:00
Andrew Tridgell
857d905d9f AP_Airspeed: added MSP backend 2020-12-08 20:41:12 +11:00
Andrew Tridgell
ae2a310b9c AP_MSP: added airspeed support 2020-12-08 20:41:12 +11:00
giacomo892
75333dcd2f AP_Periph: support output of MSP airspeed sensor 2020-12-08 20:41:12 +11:00
Boris Borisov
19f3fda31b AP_Volz_Protocol scaling bugfix
->Fixed incorrect scaling betwen PWM values and Volz protocol values
->In the scaling formula are hardcoded PWM values min=1000 and max=2000. The idea behind this is to be able to change Volz range, when you use SERVOn_MIN and SERVOn_MAX parameters.
2020-12-08 15:03:26 +11:00
Andrew Tridgell
0c440d5675 HAL_ChibiOS: cope with flash erase in expected delay
when there has been a flash erase when we are definately in an
expected delay
2020-12-08 13:22:36 +11:00
Andrew Tridgell
445759295d SITL: fixed use of GND prefix 2020-12-08 13:22:17 +11:00
Andrew Tridgell
5e3bf0a703 GCS_MAVLink: implement BRD_OPTIONS bit for setting of internal parameters 2020-12-08 13:22:17 +11:00
Andrew Tridgell
12acc0724e AP_Frsky_Telem: implement BRD_OPTIONS bit for setting of internal parameters 2020-12-08 13:22:17 +11:00
Andrew Tridgell
d099af87b2 AP_Baro: renamed parameters and mark pressure and temperature readonly
this is ready for BARO parameter prefix
2020-12-08 13:22:17 +11:00
Andrew Tridgell
f543c483fc AP_BoardConfig: added BRD_OPTIONS flag for setting of internal parameters
this allows us to make parameters read-only for normal use, but for
special developer requirements the user can unlock the parameters at
their own risk
2020-12-08 13:22:17 +11:00
Andrew Tridgell
c731e77607 AP_Scripting: added mission clear and offset_bearing bindings 2020-12-08 12:27:00 +11:00
Peter Barker
de2802e322 AP_Airspeed: populate airspeed_raw for sensors returning airspeed reading
Without this ARSP[x].Airspeed isn't populated
2020-12-08 11:59:49 +11:00
murata
13c7980f0b SITL: Support for decacopters 2020-12-08 11:59:10 +11:00
murata
159a6c7ed6 AP_Motors: Support for decacopters 2020-12-08 11:59:10 +11:00
murata
a43064bb4e AP_HAL_SITL: Support for decacopters 2020-12-08 11:59:10 +11:00
Jaaaky
0e569e5566 AP_Mission: Fix comments for DO_CHANGE_SPEED 2020-12-08 11:54:25 +11:00
Peter Barker
f84cb66bc6 AP_Logger: move log ids from EKF2 and EKF3 to the 'below 128' section' 2020-12-08 11:30:10 +11:00
Peter Barker
f6d3983e1b AP_NavEKF2: move EKF2 message ids into AP_NavEKF2 2020-12-08 11:30:10 +11:00
Peter Barker
7ba03fe32d AP_Logger: move EKF2 message ids into AP_NavEKF2 2020-12-08 11:30:10 +11:00
Peter Barker
00ac8391c0 AP_NavEKF2: move EKF2 logging structures into EKF2 LogStructure.h 2020-12-08 11:30:10 +11:00
Peter Barker
346572c390 AP_Logger: move EKF2 logging structures into EKF2 LogStructure.h 2020-12-08 11:30:10 +11:00
Peter Barker
58f6570755 AP_NavEKF3: stop using QUAT_* defines from AP_Logger/LogStructure.h
The EKFs logging is independant so we can kill EKF2...

Also use correct structure for logging XKF1; these structures were
identical.
2020-12-08 11:30:10 +11:00
Randy Mackay
a2fe846a5f AR_WPNav: apply_speed_min used for overshoot limits
speed_min is applied to overshoot_speed_max only instead of des_speed_lim
so that the target doesn't immediately jump to the minimum.
also constify apply_speed_min
2020-12-08 11:29:21 +11:00
Randy Mackay
e75c572209 AR_WPNav: remove redundant private specifier 2020-12-08 11:29:21 +11:00
Andrew Tridgell
b4de6fb56a HAL_ChibiOS: added new option DEFAULTGPIO for hwdef.dat
this allows ESD issues to be avoided by pulling all unused pins low
2020-12-08 11:21:57 +11:00
Andrew Tridgell
a1c05e74b5 AP_Vehicle: call init_safety after first loop has run
this fixes a bug where servos can be driven to an out of range value
if PWM output happens before first loop has completed

thanks to Kris for reporting
2020-12-08 11:14:24 +11:00
Peter Barker
7bf7402561 AP_RCTelemetry: get airspeed sensor from singleton not AHRS object 2020-12-07 15:57:28 -08:00
Peter Barker
47f0ab7f90 AP_LTM_Telem: get airspeed sensor from singleton not AHRS object 2020-12-07 15:57:28 -08:00
Peter Barker
ee43663c7a AP_Frsky_Telem: get airspeed sensor from singleton not AHRS object 2020-12-07 15:57:28 -08:00
Peter Barker
55cb3e8ef0 AP_AHRS: get airspeed sensor from singleton not AHRS object 2020-12-07 15:57:28 -08:00
Andrew Tridgell
f44e4aaefb HAL_ChibiOS: always set STM32_DMA_REQUIRED for non-bootloader
this fixes an issue for uart-only AP_Periph builds
2020-12-08 10:27:27 +11:00
Peter Barker
e5423a3cf6 SITL: add terarangertower simulator 2020-12-08 09:21:06 +11:00
Peter Barker
5e2bd6d9ec AP_HAL_SITL: add terarangertower simulator 2020-12-08 09:21:06 +11:00
Peter Barker
bd5c34f626 SITL: improve instructions for using simulated RPLidarA2 sensor 2020-12-08 09:21:06 +11:00
Peter Barker
7d232b24d6 SITL: improve simulated serial proximity sensor
SITL: rename measure_distance_at_angle to include '_bf'
2020-12-08 09:21:06 +11:00
Peter Barker
b21fdb7743 AP_Generator: use enum class For Battery Failsafe 2020-12-07 15:20:14 +11:00
Peter Barker
00a8a8fe8e AP_BattMonitor: use enum class For Battery Failsafe 2020-12-07 15:20:14 +11:00
Peter Barker
0fca126d06 AP_AHRS: mark get_hagl as WARN_IF_UNUSED 2020-12-07 12:10:33 +11:00
chobits
013b39d2a6 AP_NavEKF3: fix ext nav vel timestamp cal 2020-12-07 08:54:42 +09:00
Peter Barker
1c57eed66c AP_RangeFinder: remove unused voltage_mv_orient method
This is really backend-specific data and shouldn't be exposed
2020-12-06 16:49:43 +11:00
Andrew Tridgell
b1e7b508db HAL_ChibiOS: added HitecMosaic 2020-12-06 16:48:08 +11:00
Andrew Tridgell
1a4f094025 AP_GPS: allow hwdef override of default for GPS_COM_PORT 2020-12-06 16:48:08 +11:00
Andrew Tridgell
92bcc7667c AP_GPS: allow for SBF GPS on F3 AP_Periph 2020-12-06 16:48:08 +11:00
Andrew Tridgell
1723cf8efb HAL_ChibiOS: reduce SPI clock on MatekH743 mpu6k to 2MHz
this fixes regular transfer errors
2020-12-06 13:04:52 +11:00
Peter Barker
bacbe21011 AP_LandingGear: move logging of LandingGear event into LandingGear
Less code and Plane will get the event logged too.
2020-12-05 20:45:20 +11:00
Randy Mackay
000a2b17c3 AP_NavEKF_Source: remove unused setVelZSource 2020-12-05 08:30:55 +09:00
Peter Barker
6bc8ff2ee8 SITL: factor out an I2C command/response class from simulated MaxSonar sensor 2020-12-05 09:35:53 +11:00
Peter Barker
6f7fbece49 AP_Baro: add accessor for external bus parameter 2020-12-04 16:37:10 +11:00
Peter Barker
771666ee52 AP_Baro: correct i2c transfer invocation in KellerLD
This allows the device to work on boards which are not Pixhawk1.  For
reasons yet to be determined.
2020-12-04 16:37:10 +11:00
Andrew Tridgell
8b5ff1a6de GCS_MAVLink: enable GCS_SEND_TEXT() to send as CAN LogMessage messages 2020-12-04 15:16:21 +11:00
Tom Pittenger
e235fd311e AP_HAL_ChibiOS: fixed comment in script file 2020-12-03 20:33:51 +11:00
Andrew Tridgell
6765265a3b AP_Periph: switched to 1kHz clock for f303-periph
and use CAN RX buffer size of 64.

This makes for more efficient CPU usage on f3, and fixes an issue with
lost CAN parameter replies causing timeouts in the CAN parameter
download protocol
2020-12-03 20:00:55 +11:00
Peter Barker
287e9350a5 AP_NavEKF3: move log message IDs in from AP_Logger LogStructure 2020-12-03 19:22:26 +11:00
Peter Barker
ea36a84b53 AP_Logger: move EK3 log message IDs into AP_NavEKF3 log structure 2020-12-03 19:22:26 +11:00
Peter Barker
79109458c2 AP_NavEKF3: move EKF3 logging structures into EKF3 LogStructure.h 2020-12-03 19:22:26 +11:00
Peter Barker
f2b2998f29 AP_Logger: move EKF3 logging structures into EKF3 LogStructure.h 2020-12-03 19:22:26 +11:00
Peter Barker
64f4b078a6 AP_Logger: remove unused log_EKF* structures 2020-12-03 19:22:26 +11:00
Andrew Tridgell
b289701d20 HAL_ChibiOS: removed SPI devices on f103-periph
these are unused and saves us a couple of k of flash
2020-12-03 15:50:50 +11:00
Andrew Tridgell
084b589f3a AP_Param: added template class AP_Enum for enum AP_Int8 values 2020-12-02 18:33:07 +11:00
Andy Piper
32edb6d0cd AP_Filesystem: add support for @SYS/dma.txt for DMA contention 2020-12-02 18:17:23 +11:00
Andy Piper
cf2602f91d AP_HAL_ChibiOS: add support for @SYS/dma.txt for DMA contention 2020-12-02 18:17:23 +11:00
Andy Piper
d2e01005ee AP_HAL: add support for @SYS/dma.txt for DMA contention 2020-12-02 18:17:23 +11:00
Peter Barker
c5c810b724 AP_NavEKF2: use structures for logging GSF data
This makes it look like EKF2 and is marginally more efficient.
2020-12-02 10:30:48 +11:00
Peter Barker
f94f51d9d3 AP_NavEKF2: move log message metadata to be above the structure
This is the pattern we are adopting elsewhere to try to keep things
related as much as possible.
2020-12-02 10:30:48 +11:00
vierfuffzig
c4a644100d AP_OSD: refactor current panel and add 2nd instance 2020-12-02 06:27:59 +11:00
Peter Barker
54bae68e02 AP_DAL: correct rangefinder get_backend range check 2020-12-02 06:21:54 +11:00
Andrew Tridgell
1bef41b42e AP_OSD: fixed param metadata for several OSD settings
only found now we build OSD for SITL
2020-12-01 18:34:37 +11:00
Andrew Tridgell
42b1d2135a AP_OSD: fixed enable of OSD on boards with no built-in OSD
this fixes MSP enable
2020-12-01 18:34:37 +11:00
Randy Mackay
7f15b7b126 AP_NavEKF_Source: prearm check of wheelencoders 2020-12-01 14:01:17 +09:00
Randy Mackay
7d319f8059 AP_DAL: add wheelencoder_enabled 2020-12-01 14:01:17 +09:00
Randy Mackay
3984cdd823 AP_WheelEncoder: add singleton 2020-12-01 14:01:17 +09:00
Phillip Kocmoud
38dd3b9209 hwdef: add mRo Control Zero Classic 2020-12-01 15:19:50 +11:00
yaapu
c530df7e31 AP_RCProtocol: added fport2 24ch test 2020-12-01 15:05:02 +11:00
yaapu
7e9458b53a AP_RCProtocol: fport2 fixes
Fixed 16ch fport2 telemetry and enabled bidir support.
Fixed 24ch fport2, had to disable telemetry on 24ch for timing is too tight and telemetry would be unreliable.
2020-12-01 15:05:02 +11:00
Phillip Kocmoud
bef522387a hwdef: add mRo Control Zero H7 2020-12-01 14:46:55 +11:00
Peter Barker
d600b87454 AP_NavEKF2: make logging a core concern 2020-12-01 13:06:04 +11:00
Randy Mackay
02ba500d67 AP_Scripting: add ahrs-source-gps-wheelencoders.lua
supports automatically switching between GPS and wheel encoders based on GPS speed accuracy and vertical velocity innovation
2020-12-01 09:26:02 +09: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
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
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
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
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
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
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
20d21fe175 SITL/examples: 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
af0ee82ff1 AP_SerialManager: 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
Andrew Tridgell
a7a5879c0c AP_HAL_SITL: 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
Andrew Tridgell
78711e05b7 AP_HAL_Linux: 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
Andrew Tridgell
68fdf033ee AP_HAL: 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
Andrew Tridgell
217433ee16 AP_HAL_Empty: 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
Andrew Tridgell
4d171ec19a AP_HAL_ChibiOS: 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
Peter Barker
52b8b95a72 AP_NavEKF3: rearrange readGPSData to remove some nesting 2020-11-30 11:51:12 +11:00
Phillip Kocmoud
c9182b39d5 hwdef: mRo Control Zero H7 OEM - update and improve uniformity 2020-11-30 08:48:36 +11:00
Phillip Kocmoud
b55920165a hwdef: mRo Pixracer Pro - update and improve uniformity 2020-11-30 08:48:36 +11:00
Peter Barker
72acc8bfc8 AP_InertialSensor: use primary gyro (not accel) for get_delta_angle_dt 2020-11-29 13:21:53 +11:00
Phillip Kocmoud
a379bb8fc5 hwdef: mRo Control Zero F7 update and improve uniformity 2020-11-28 20:28:22 +11:00
Andrew Tridgell
a587195912 HAL_ChibiOS: change f303-MatekGPS to 5Hz by default 2020-11-27 19:41:33 +11:00
Randy Mackay
4cd1c3cfde AP_NavEKF3: param conversion loses config_error
config_error should only be run as part of setup because it may never return
2020-11-27 08:20:07 +09:00
Andrew Tridgell
8c959c4e13 AP_BoardConfig: added an EXPECT_DELAY_MS to config_error
this prevents a config_error called after setup() has complete from
causing a watchdog. That is a bit more friendly
2020-11-26 17:06:13 +09:00
Hwurzburg
7a82898e92 AP_GPS: expand gps rate description 2020-11-26 18:25:29 +11:00
Kawamura
cef0c87c4c AP_Scripting: fix method name for ahrs-source.lua 2020-11-25 21:07:19 +09:00
Hwurzburg
f37d8e5865 RC_Channel: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Hwurzburg
615b8add8c AP_Airspeed: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Randy Mackay
8c2688605e AP_AHRS: active_EKF_type fallback to DCM checks if GPS configured for use 2020-11-25 21:00:07 +11:00
Randy Mackay
adfc92523b AP_NavEKF3: add configuredToUseGPSForPosXY 2020-11-25 21:00:07 +11:00
Randy Mackay
4087d7b792 AP_NavEKF2: add configuredToUseGPSForPosXY 2020-11-25 21:00:07 +11:00
Andy Piper
a6436851b4 AP_Logger: account for expected delays and boot time delays in block logger. 2020-11-25 18:17:34 +11:00
Peter Barker
fdbffd19c6 AP_NavEKF_Source: remove defaults for baro and compass
This makes all our defaults "NONE", meaning that a user will not see a
prearm failure for any source other than those in the primary set when
using the default configuration.
2020-11-25 15:19:00 +11:00
Peter Barker
8124c3fea8 AP_NavEKF_Source: set compass_required if we require a compass 2020-11-25 15:19:00 +11:00
Tom Pittenger
67405cedb2 AP_HAL_ChibiOS: add AP_BattMonitor support to CubeBlack&Orange-periph 2020-11-25 14:20:53 +11:00
Tom Pittenger
87813b9401 AP_Generator: AP_Periph should not include Generator by default 2020-11-25 14:20:53 +11:00
Tom Pittenger
171a10e117 AP_BattMonitor: Add support for multiple UAVCAN batteries from a single node 2020-11-25 14:20:53 +11:00
Tom Pittenger
48e2b78cab AP_BattMonitor: fix compile for AP_Periph 2020-11-25 14:20:53 +11:00
Tom Pittenger
089f3aa349 AP_HAL: allow hwdef to define HAL_SUPPORT_RCOUT_SERIAL - must be disabled for AP_Periph 2020-11-25 14:20:53 +11:00
Andy Piper
a592d76866 AP_Scripting: fix compile on clang 10 2020-11-25 09:28:06 +11:00
Andrew Tridgell
7eea13f86f AP_NavEKF3: fixed build of standalone replay link test
parameter conversion not needed for replay
2020-11-24 20:46:37 +11:00
Hwurzburg
ae8fe818c8 RC_Channel: move RETRACT_MOUNT option to common for all vehicles 2020-11-24 20:22:02 +11:00
Peter Barker
42d9727f49 AP_Logger: correct documentation on ARSP message 2020-11-24 15:33:37 +11:00
Gone4Dirt
5edae526fd AP_Math: Add conversion Ams to mAh 2020-11-24 12:54:52 +11:00
Peter Barker
c52298352a AP_HAL_SITL: add simulator for IntelligentEnergy 2.4kWh 2020-11-24 12:54:52 +11:00
Peter Barker
f7b2856af0 SITL: add simulator for IntelligentEnergy 2.4kWh
SITL: Added setup note to comment

SITL: IE24: Add Error param and cycle battery pwr
2020-11-24 12:54:52 +11:00
Gone4Dirt
a2d2e85ba1 AP_Logger: Reinstate Watt unit 2020-11-24 12:54:52 +11:00
Gone4Dirt
d25f9d5d3a AP_Vehicle: Move AP_Generator to all vehicles 2020-11-24 12:54:52 +11:00
Gone4Dirt
2dc684622e AP_Arming: Add support for AP_Generator frontend 2020-11-24 12:54:52 +11:00
Gone4Dirt
66285b65ce RC_Channel: Add support for AP_Generator frontend 2020-11-24 12:54:52 +11:00
Gone4Dirt
caf1ad28d5 GCS_Common: AP_Generator_Richenpower is now AP_Generator 2020-11-24 12:54:52 +11:00
Gone4Dirt
836717c0af AP_BattMonitor: Add support for AP_Generator frontend-backend 2020-11-24 12:54:52 +11:00
Gone4Dirt
8cfe4fc9f7 AP_Generator: Split into frontend-backend and add IE fuel cells 2020-11-24 12:54:52 +11:00
Gone4Dirt
6c136862b8 AP_DAL: Add stdio include 2020-11-24 12:54:52 +11:00
Gone4Dirt
9d90d16c2b AP_ADSB: Access snprintf from hal 2020-11-24 12:54:52 +11:00
斯东Stone
4990048efb HAL_ChibiOS: Correct a typo and Update product link url for PH4-mini 2020-11-24 12:48:11 +11:00
Peter Barker
786fd8a2f8 AP_Logger: add and use instance number to ARSP message 2020-11-24 12:19:45 +11:00
Peter Barker
8647dda8a9 AP_Airspeed: add and use instance number to ARSP message 2020-11-24 12:19:45 +11:00
Andy Piper
c291107f50 Filter: correct grammar on HNTCH docs 2020-11-24 10:17:16 +09:00
Andy Piper
726307cb31 Filter: correct harmonic notch docs and provide better defaults. 2020-11-24 10:17:16 +09:00
Peter Barker
3baaa84de1 AP_OSD: remove duplicate parameter definition 2020-11-24 12:15:15 +11:00
Randy Mackay
6c3948f417 AP_NavEKF_Source: optimise configured_in_storage
This small CPU optimisation takes advantage of the fact that once configured in storage is true it will always remain true
2020-11-24 12:10:27 +11:00
Andrew Tridgell
bce4fd43a3 SITL: fixed GPS POS parameters
SIM_GPS2_POS1_* makes no sense
2020-11-24 12:01:04 +11:00
Andrew Tridgell
05194ed8b6 AP_GPS: don't accept infinite accuracies for blending
these result in NaN values for velocities
2020-11-24 12:00:41 +11:00
Andrew Tridgell
83c479bcc2 AP_GPS: prevent UAVCAN GPS from giving infinite accuracy values
this can happen due to the complex encodings of accuracies in UAVCAN
2020-11-24 12:00:41 +11:00
Andrew Tridgell
a762926526 AP_GPS: fixed constrained NaN in EKF3 caused by bad GPS blending
if the accuracies reported are very low then we can do a division by
zero and this results in a constraining NaN for GPS vertical velocity
filter in NavEKF3_core::calcGpsGoodToAlign
2020-11-24 12:00:41 +11:00
Peter Barker
f0c22244a5 GCS_MAVLink: correct response codes when mode change fails
Was "UNSUPPORTED", which is supposed to mean, "Command is not supported"

Now is either "DENIED" (Command is invalid (is supported but has invalid
parameters)) or "FAILED" (Command is valid, but execution has failed.)

We should probably returned DENIED if we try to change to a mode which
doesn't exist, but that would require another callback on AP_Vehicle.
It would also lead to questions around what a valid mode is - so
QSTABILIZE if quadplane is disabled in Plane, for example.
2020-11-24 10:09:37 +11:00
Peter Barker
200b085eea AP_NavEKF3: move XKY0 and XKY1 to be normal log structures (from Log_Write) 2020-11-22 20:47:29 +11:00
Peter Barker
e1a033b296 AP_NavEKF3: make logging a core concern
Also dissolve some methods only used for logging
2020-11-22 20:47:29 +11:00
Peter Barker
914629351f AP_NavEKF3: use scalar rather than array for state-prediction-allowed
EKF2 needs this for choosing alternate cores.  EKF3 does not.
2020-11-22 14:09:48 +11:00
QioTek
e4f4868d9b HAL_ChibiOS: add QMC5883L on QioTekZealotF427
add QMC5883L on QioTekZealotF427
2020-11-22 06:10:34 +11:00
Jacob Walser
35c2d13e2f HAL_Linux_Class: specify per board external clock frequency for RCOutput_PCA9685 drivers 2020-11-21 00:25:19 -08:00
Jacob Walser
e64d9816ce RCOutput_PCA9685: allow different external clock frequencies
The PCA9685 may use an external clock 0~50MHz
Specify the external clock frequency in constructor arguments for each board HAL
2020-11-21 00:25:19 -08:00
Paul Riseborough
8561f5239d AP_NavEKF3: Fix bug preventing yaw alignment to EKF-GSF estimate 2020-11-21 12:56:10 +11:00
Andrew Tridgell
fe81387433 AP_NavEKF: allow init twice
this can happen if setup_core() fails with low mem and is called again
2020-11-20 21:56:32 +11:00
Andrew Tridgell
1e4b1d7563 AP_NavEKF3: convert to using common buffer classes
this saves a considerable amount of flash
2020-11-20 21:56:32 +11:00
Andrew Tridgell
39ba8a8c83 AP_NavEKF2: convert to using common buffer classes
this saves a considerable amount of flash
2020-11-20 21:56:32 +11:00
Andrew Tridgell
e4a9497942 AP_NavEKF: added common EKF buffer classes 2020-11-20 21:56:32 +11:00
Randy Mackay
d1983b0b77 AP_NavEKF3: fixup source param conversion
shorten param conversion config error
if gps and optical flow are enabled we default SRC2_VELXY to optflow
convert_params run from InitialiseFilter
ensure param conversion only run once
2020-11-20 16:43:44 +09:00
Randy Mackay
0119c48e1e AP_NavEKF_Source: add mark_configured_in_storage 2020-11-20 16:43:44 +09:00
Randy Mackay
50b2cf136f AP_NavEKF_Source: default OPTIONS to 1 (fuse all velocities) 2020-11-20 16:43:44 +09:00
Randy Mackay
04e3623620 AP_NavEKF3: improve MAG_CAL vs EK3_SRCn_YAW checks
MAG_CAL param description include deprecated values
Pre-arm check of MAG_CAL using deprecated values
effective_magCal interprets 5 (was EXTERNAL_YAW) as Never, 6 (was EXTERNAL_YAW_FALLBACK) as WhenFlying
Update comments in param conversion from MAG_CAL to EK3_SRC1_YAW
2020-11-20 16:43:44 +09:00
Andrew Tridgell
36c946113d AP_NavEKF3: handle compass fallback in yaw source reset
if we get to this point we must be using the compass fallback logic,
and should do the reset
2020-11-20 16:43:44 +09:00
Randy Mackay
bf5c74dbdb AP_Scripting: ahrs-source example script
switches automatically between gps, external nav and optical flow
2020-11-20 16:43:44 +09:00
Randy Mackay
2b9fb79d72 AP_Scripting: add bindings for set_posvelyaw_source and get_vel_innovations 2020-11-20 16:43:44 +09:00
Randy Mackay
9dbfb99cc3 AP_VisualOdom: add align_position_to_ahrs 2020-11-20 16:43:44 +09:00
Randy Mackay
04655d9698 RC_Channel: add aux switch to change the EKF's sensor sources 2020-11-20 16:43:44 +09:00
Randy Mackay
4b542aa714 AP_AHRS: add get_vel_innovations_and_variances_for_source 2020-11-20 16:43:44 +09:00
Randy Mackay
dc5d1d099b AP_AHRS: add set_posvelyaw_source_set 2020-11-20 16:43:44 +09:00
Randy Mackay
8895d20c45 AP_NavEKF3: rename setPosVelYawSourceSet 2020-11-20 16:43:44 +09:00
Randy Mackay
5eb3875ebb AP_NavEKF3: rename posxy_source_last and posxy_source_reset 2020-11-20 16:43:44 +09:00
Randy Mackay
f88364d653 AP_NavEKF3: use_compass minor order fixup 2020-11-20 16:43:44 +09:00
Randy Mackay
b475f01b25 AP_NavEKF3: update comments 2020-11-20 16:43:44 +09:00
Randy Mackay
0f8d0ef11b AP_NavEKF3: move sources to 2nd bank of parameters 2020-11-20 16:43:44 +09:00
Randy Mackay
33b6212cce AP_NavEKF3: rename _sources to sources 2020-11-20 16:43:44 +09:00
Randy Mackay
9716b09cad AP_NavEKF3: minor indenting fix 2020-11-20 16:43:44 +09:00
Randy Mackay
6daaa06317 AP_NavEKF3: integrate AP_NavEKF_Source::useVelXYSource
also integrate useVelZSource
2020-11-20 16:43:44 +09:00
Andrew Tridgell
72ee7d15e1 AP_NavEKF3: fixup for AP_DAL 2020-11-20 16:43:44 +09:00
Randy Mackay
73835f0c11 AP_NavEKF3: pre_arm_check includes sources 2020-11-20 16:43:44 +09:00
Randy Mackay
6c0bb6a198 AP_NavEKF3: add convert_params for source 2020-11-20 16:43:44 +09:00
Randy Mackay
849e94cc24 AP_NavEKF3: call sources align inactive sources 2020-11-20 16:43:44 +09:00
Randy Mackay
ba9f60abc7 AP_NavEKF3: add getVelInnovationsAndVariancesForSource 2020-11-20 16:43:44 +09:00
Randy Mackay
58aa6086df AP_NavEKF3: always calculate GPS innovations and variances 2020-11-20 16:43:44 +09:00
Randy Mackay
e7e91b1c3b AP_NavEKF3: always calculate extNav innovations and variances 2020-11-20 16:43:44 +09:00
Randy Mackay
6b2b5c4ca0 AP_NavEKF3: add CalculateVelInnovationsAndVariances 2020-11-20 16:43:44 +09:00
Randy Mackay
2505fd5c1c AP_NavEKF3: body and wheel odometry check source 2020-11-20 16:43:44 +09:00
Randy Mackay
1263648d88 AP_NavEKF3: beacon fusion checks source 2020-11-20 16:43:44 +09:00
Randy Mackay
8a56ce49be AP_NavEKF3: optical flow fusion checks source 2020-11-20 16:43:44 +09:00
Randy Mackay
4cadaa5194 AP_NavEKF3: readyToUseOptFlow, Beacon, ExtNav check source 2020-11-20 16:43:44 +09:00
Randy Mackay
faed58a027 AP_NavEKF3: integrate Source for yaw 2020-11-20 16:43:44 +09:00
Randy Mackay
8931e50166 AP_NavEKF3: integrate Source for alt 2020-11-20 16:43:44 +09:00
Randy Mackay
c21d58ebea AP_NavEKF3: integrate Source for position 2020-11-20 16:43:44 +09:00
Randy Mackay
9b84abecaa AP_NavEKF_Source: enables dynamically changing sensor sources 2020-11-20 16:43:44 +09:00
Andrew Tridgell
9e5e49cd13 AP_DAL: added methods to support EKF sources selection 2020-11-20 16:43:44 +09:00
Peter Barker
d50e4d03f4 AP_Logger: remove time_us parameter to several sensor logging methods
These were used by the old Replay code to try to provide a frame of
sensor data by correlating the timestamps.  That Replay code has been
removed.
2020-11-20 16:59:09 +11:00
Peter Barker
e257dd9fee AP_GPS: correct logging for GPS blending 2020-11-20 09:45:57 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
58f0c34612 AP_GPS: fix dataflash logging of blended GPS instance 2020-11-20 09:45:57 +11:00
Peter Barker
a12c2a6b87 AP_Logger: use instance numbers for logging GPS data 2020-11-20 09:45:57 +11:00
Rishabh
f57082a2e0 AR_WPNav: Add note to WP_PIVOT_ANGLE 2020-11-19 16:46:27 +09:00
Peter Barker
58c23e618e AP_Logger: remove unused IMUDT code
Unused since we've moved to new Replay code
2020-11-19 08:31:49 +11:00
Rishabh
c1d67705ce AP_Proximity: Remove Morse backend 2020-11-18 20:23:45 +11:00
Iampete1
681f45c4e0 AP_MotorsMulticopter: make thrust to actuator public 2020-11-18 19:33:21 +11:00
giacomo892
470c00b6b2 AP_Arming: Fix compilation with OSD_PARAM_ENABLED not defined 2020-11-18 18:56:09 +11:00
Marek Łukasiewicz
64f208cbec HAL_ChibiOS: Add af_parse for CubeMX pinout csv 2020-11-18 18:39:07 +11:00
Phillip Kocmoud
701ab83f01 HAL_ChibiOS: Added support for mRo ControlZero OEM H7 flight controller 2020-11-18 18:28:24 +11:00
Andrew Tridgell
408f8b3940 HAL_ChibiOS: added check for overwrite of nullptr on H7
the STM32H7 has 64k of ITCM memory at address zero. We allow
allocation of everything except the first 1024 bytes. This checks for
those reserved bytes being overwritte, which would indicate a write to
nullptr
2020-11-18 17:14:43 +11:00
Andrew Tridgell
8f682c0782 HAL_ChibiOS: check all memory at 10Hz 2020-11-18 17:14:43 +11:00
Andrew Tridgell
95a823a702 HAL_ChibiOS: added link list of all memory allocations
check all allocations for corruption on free() and malloc_check()
2020-11-18 17:14:43 +11:00
Andrew Tridgell
9a026b8068 HAL_SITL: fixed warning building with gcc 9.x 2020-11-18 17:14:43 +11:00
Andrew Tridgell
3f775205e6 HAL_ChibiOS: fixed use of chHeapFree
should be free
2020-11-18 17:14:43 +11:00
Andrew Tridgell
ce3e1a69ec HAL_ChibiOS: added memory guard system 2020-11-18 17:14:43 +11:00