Commit Graph

32918 Commits

Author SHA1 Message Date
Peter Barker
78c5fe097b AP_Mount: correct compilation when HAL_MOUNT_SERVO_ENABLED is 0
... but still do the parameter conversion
2023-06-08 11:52:44 +10:00
bugobliterator
5a967fd597 AP_DroneCAN: add support for semaphore around allocate/free blocks in libcanard 2023-06-08 10:15:50 +10:00
Andrew Tridgell
f99fa6a703 AP_DroneCAN: use separate tx and rx semaphores
this prevents a deadlock on callback for DroneCAN receiver
2023-06-08 10:15:50 +10:00
Andrew Tridgell
3034aef570 AP_DroneCAN: add a delay after an event on process
ensure MCU gives up some time
2023-06-08 10:15:50 +10:00
Andrew Tridgell
dc8366c31e AP_DroneCAN: fixed queue ordering bug in sending DroneCAN frames
this caused RTK RTCM data to be corrupted on send
2023-06-08 10:15:50 +10:00
Andrew Tridgell
0cfd9c2ed5 HAL_ChibiOS: don't consider a MAVCAN send failure as a send failure
this prevents duplicate sends if MAVCAN buffer is full
2023-06-08 10:15:50 +10:00
Andrew Tridgell
f0a0a4cfa9 AP_DroneCAN: move tx frame to loop context
prevent contents from previous frame being used
2023-06-08 10:15:50 +10:00
Andrew Tridgell
e1dd452b66 AP_DroneCAN: fixed C++ type narrowing warnings 2023-06-08 10:15:50 +10:00
bugobliterator
3dca277488 AP_DroneCAN: use canard cleanup 2023-06-08 10:15:50 +10:00
Andrew Tridgell
531b12e272 AP_GPS: fixed RTCM injection for DroneCAN GPS
need to check broadcast() return
2023-06-08 10:15:50 +10:00
Andrew Tridgell
49389ccce6 AP_DroneCAN: removed unused function declaration 2023-06-08 10:15:50 +10:00
Alexander Keller
6ba526fa25 AP_GPS:Comform to ardupilot undulation definition 2023-06-08 09:48:30 +10:00
Ryan Friedman
da2beb1ec1 AP_DDS: Improve subscriber safety
* Remove unused void* functions
* Switch subscriber handling based on ID
* Use enums instead of relying on manual alignment of indices in code
* Pass topic by reference using local stack
* Relates to #23964

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-08 09:47:50 +10:00
Peter Barker
312254f761 GCS_MAVLink: correct detection of feature AP_FILESYSTEM_FORMAT_ENABLED 2023-06-08 08:55:26 +10:00
Peter Barker
294b975335 AP_Filesystem: correct detection of feature AP_FILESYSTEM_FORMAT_ENABLED 2023-06-08 08:55:26 +10:00
Peter Barker
c463b0d154 AP_Math: add alternate implementation of parity for AP_Periph
the __builtin_parity methods hardfault on AP_Periph builds
2023-06-07 21:41:14 +10:00
Peter Barker
109e29f048 AP_RCProtocol: move use of __builtin_parity to crc 2023-06-07 21:41:14 +10:00
Peter Barker
43ecdc64b6 AP_Math: move use of __builtin_parity to crc 2023-06-07 21:41:14 +10:00
Peter Barker
f17dfbc584 AP_HAL_ChibiOS: correct heavy periph compilation
canmanager isn't enabled, so no piccolocan
2023-06-07 18:24:05 +10:00
Peter Barker
3517884002 RC_Channel: create define specifically for the developer feature for killing IMUs 2023-06-07 18:23:01 +10:00
Peter Barker
baf5d34256 AP_InertialSensor: create define specifically for the developer feature for killing IMUs 2023-06-07 18:23:01 +10:00
Peter Barker
82e15536d2 AP_HAL_ChibiOS: create define specifically for the developer feature for killing IMUs 2023-06-07 18:23:01 +10:00
Pierre Kancir
95c345e6fb AP_JSButton: add unittest 2023-06-07 17:16:15 +10:00
Andrew Tridgell
533577924e AP_Scripting: fixed temperatures for Halo6000 driver
temps are offset by 40 deg C
2023-06-07 07:27:46 +10:00
Tom Pittenger
d23d808f07 AP_ADSB: fix SageTech MXS climbRate sign 2023-06-06 20:09:28 +10:00
Peter Barker
5984857751 AP_ADSB: correct climbRate in SageTechMXS
down vs up issue
2023-06-06 20:09:28 +10:00
Peter Barker
030c34345d AP_InertialNav: clarify get_vert_pos_rate AHRS method name to include 'D' 2023-06-06 20:09:28 +10:00
Peter Barker
904707de15 AP_AHRS: clarify get_vert_pos_rate AHRS method name to include 'D' 2023-06-06 20:09:28 +10:00
Peter Barker
15682fa6c9 AP_ADSB: clarify get_vert_pos_rate AHRS method name to include 'D' 2023-06-06 20:09:28 +10:00
Martin Luessi
b336526765 AP_HAL_ChibiOS: Move scheduler task table to RAM for H750 2023-06-06 19:19:10 +10:00
Martin Luessi
82280b6a8d AP_HAL_ChibiOS: Rename STM32_FORCE_CLOCK_INIT to HAL_FORCE_CLOCK_INIT 2023-06-06 19:19:10 +10:00
Martin Luessi
350dfc235e AP_HAL_ChibiOS: Add libgcc comment to H750 linker script 2023-06-06 19:19:10 +10:00
Martin Luessi
f55261c852 AP_HAL_ChibiOS: Use DTCM for vector table for external flash targets 2023-06-06 19:19:10 +10:00
Martin Luessi
ab03c49ea8 AP_HAL_ChibiOS: Move more time critical code to RAM for H750 2023-06-06 19:19:10 +10:00
Martin Luessi
00c8c24b1e AP_HAL_ChibiOS: increase FLASH_RAM and rename FDCAN to CAN for H750 2023-06-06 19:19:10 +10:00
Martin Luessi
0c93800ec1 AP_HAL_ChibiOS: Copy vector table to RAM if external flash is primary 2023-06-06 19:19:10 +10:00
Martin Luessi
84ccd046c6 AP_HAL_ChibiOS: Change linker script so vector table can be copied to RAM for external flash targets 2023-06-06 19:19:10 +10:00
Martin Luessi
f5e6b055b6 AP_HAL_ChibiOS: Allow custom STM32_QSPISEL for H7 2023-06-06 19:19:10 +10:00
Martin Luessi
01f030da7c AP_HAL_ChibiOS: Option to force clock init 2023-06-06 19:19:10 +10:00
Andrew Tridgell
1ab278d127 GCS_MAVLink: support EXTERNAL_POSITION_ESTIMATE command_int 2023-06-06 15:19:12 +10:00
Paul Riseborough
34a5657e3e AP_AHRS: Add handlers for external lat lng position set 2023-06-06 15:19:12 +10:00
Paul Riseborough
3677cb025d AP_NavEKF3: Add handlers for external lat lng position set 2023-06-06 15:19:12 +10:00
Paul Riseborough
48f0edaffc AP_DAL: Add handlers for external lat lng position set 2023-06-06 15:19:12 +10:00
Andrew Tridgell
2703928fb2 AP_Filesystem: enable filesystem format on all boards
this works in ChibiOS 21.xx
2023-06-06 15:19:00 +10:00
Andrew Tridgell
6f469c48e7 HAL_ChibiOS: support f_mkfs on all boards 2023-06-06 15:19:00 +10:00
Ryan Friedman
8cf855970d AP_DDS: Fix unitialized memory
* Found under valgrind

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-06 10:42:02 +10:00
Andy Piper
3de424e74f AP_HAL_ChibiOS: Pixhawk1-bdshot 2023-06-06 10:24:11 +10:00
Peter Barker
1f565295a3 AP_RCTelemetry: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
179b79a00c AP_PiccoloCAN: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
1509cfc2b4 AP_Notify: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
afccfee001 AP_NMEA_Output: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
cd472b8f52 AP_Mount: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
0ff0a30d03 AP_LTM_Telem: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
cf24382e58 AP_HAL_ChibiOS: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
3f70f2104a AP_GPS: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
41f622f892 AP_Generator: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
Peter Barker
3bf1e61eb2 AP_Baro: use minimize_features.inc for more features 2023-06-06 10:14:02 +10:00
mateksys
6187cd0350 hwdef: added MSP support in MatekL431-GPS 2023-06-06 07:30:25 +10:00
Ryan Friedman
33c1e23e55 AP_Param: Use math header function names for type punning
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
cf2b65877e AP_Math: Move conversion utilites next to AP_Math
* This is next to the constraining functions

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
0faf1a2152 AP_HAL: Use new AP_Math utils
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
1cb8bf6308 AP_Common: Remove type punning utils to AP_Math
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
42abfa9e0e AP_ExternalAHRS: Use sparse-endian be32to<ftype>_ptr
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
35c8951395 AP_HAL: Add methods for beNto<floatingType> conversions
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
e6f523dad1 AP_Param: Use explicit type instead of auto for crc
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
c382eb192a AP_Param: Switch from type punning to defined behavior
* This was undefined behavior in the C++ standard
* Use the safer options in AP_Common
* Removes a compiler warning

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
d0b8e672c0 AP_ExternalAHRS: Switch from type punning to defined behavior
* This was undefined behavior in the C++ standard
* Use the safer options in AP_Common
* Removes a compiler warning

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman
d40b02fbbd AP_Common: Add type-punning alternative
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Andrew Tridgell
146cc3312c HAL_ChibiOS: implement ff_memalloc, fixing mkdir() after format
this implements FATFS memory allocation in the HAL_ChibiOS malloc.c
which fixes mkdir() after a format of the microSD

The strategy is to deny large allocations and try for DMA allocations
if possible. This both fixes mkdir() and makes filesystem operations
faster as we have less copying of memory via the bouncebuffer
2023-06-03 17:07:04 +10:00
Andrew Tridgell
4946ce5431 HAL_ChibiOS: revert recent USB changes
these are causing some boards to crash on startup. Tested with a
QiotekZealotH743 which doesn't get out of setup_usb_strings()

once we have debugged this we can re-add the functionality
2023-06-03 16:50:30 +10:00
Peter Barker
f192d2644c AP_AHRS: make ExternalAHRS an AP_AHRS_Backend 2023-06-01 12:45:56 +10:00
arshPratap
5168f39463 AP_DDS: Add Subscriber support with Joy
* Register subscriber and deserialize sensor_msgs/Joy

Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Co-authored-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-01 11:37:59 +10:00
Peter Barker
02802c88ad hwdef: minimize CRUbrain51
get it compiling again
2023-06-01 11:37:12 +10:00
Andy Piper
de6f2ef552 AP_HAL_ChibiOS: remove bdshot from speedybeef4 as it doesn't work and increases flash usage 2023-05-31 20:45:27 +01:00
bugobliterator
f7d3969116 AP_HAL_ChibiOS: enable write protection on USB msd
also fixes support for MSD on FS
2023-05-31 18:40:17 +10:00
bugobliterator
a9ef3b031e AP_HAL_ChibiOS: add support for setting baudrate for ACM port in USB MSD 2023-05-31 18:40:17 +10:00
bugobliterator
fa631c11a1 AP_HAL_ChibiOS: fix script for HerePro 2023-05-31 18:40:17 +10:00
bugobliterator
a05d7ae645 AP_HAL_ChibiOS: do not init usb in sdcard_init 2023-05-31 18:40:17 +10:00
bugobliterator
5d5fdbb44d AP_HAL_ChibiOS: update HerePro hwdef and move to HereProAP 2023-05-31 18:40:17 +10:00
bugobliterator
0c5d19ff44 AP_HAL_ChibiOS: initialise SDCard before starting USB 2023-05-31 18:40:17 +10:00
bugobliterator
ee45deeda8 AP_HAL_ChibiOS: silence unused functions under sdcard.cpp 2023-05-31 18:40:17 +10:00
bugobliterator
c6631bce57 AP_HAL_ChibiOS: add block filesystem access support when using MSD USB 2023-05-31 18:40:17 +10:00
bugobliterator
414606ba31 AP_Filesystem: add support for blocking filesystem access 2023-05-31 18:40:17 +10:00
bugobliterator
6d6c791fdf AP_HAL_ChibiOS: add support for mass storage device 2023-05-31 18:40:17 +10:00
bugobliterator
cc302d8b8c AP_HAL_ChibiOS: add support for OTG HS 2023-05-31 18:40:17 +10:00
bugobliterator
4b3ae60964 AP_OpenDroneID: send dronecan messages directly from update 2023-05-31 17:31:09 +10:00
bugobliterator
cbef055f6b AP_DroneCAN: add msg period measurement to DroneCAN_sniffer 2023-05-31 17:31:09 +10:00
bugobliterator
efe5fb7e69 AP_DroneCAN: push ESC data out immediately and ensure high priority 2023-05-31 17:31:09 +10:00
Tom Pittenger
f38041567f AP_DroneCAN: remove unused defines 2023-05-31 17:31:09 +10:00
bugobliterator
5066d48718 AP_Notify: directly send dronecan beep command from the driver 2023-05-31 17:31:09 +10:00
bugobliterator
a1ba65a654 AP_Notify: send dronecan led commands directly from driver 2023-05-31 17:31:09 +10:00
bugobliterator
5026b3d08c AP_GPS: send RTCM Stream message to over dronecan directly 2023-05-31 17:31:09 +10:00
bugobliterator
a277547248 AP_DroneCAN: move dronecan led, buzzer and rtcm stream to their respective drivers 2023-05-31 17:31:09 +10:00
Ryan Friedman
35dda812ae SITL: Value Semantics for TOW calc
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-05-31 15:01:31 +10:00
Randy Mackay
b757a7d21a AP_Scripting: mount-poi applet sends camera feedback message 2023-05-31 10:06:37 +10:00
Tom Pittenger
521b0f9d85 AP_Temperature: slow down temp driver thread and cleanup 2023-05-30 13:19:51 -07:00
Peter Barker
4ee58c4496 GCS_MAVLink: remove more compass cal if it is not enabled 2023-05-30 23:05:29 +10:00
Andrew Tridgell
8cb638b7e1 AP_Scripting: added Halo6000 generator/EFI driver
used to monitor Foxtech Halo6000 generator for Thor210 hexacopter
2023-05-30 21:04:34 +10:00
Andrew Tridgell
3e601df229 AP_AHRS: don't reject airspeed using EKF if dead-reckoning
when dead-reckoning the EKF wind estimate can diverge from reality,
leading to us rejecting a valid airspeed sensor. We are best off
trusting airspeed if we are dead-reckoning
2023-05-30 17:06:13 +10:00
Maxim Buzdalov
c31db47bff AP_HAL_Chibios: Update hwdef for FlywooF405S-AIO (alternative IMUs) 2023-05-30 10:50:06 +10:00