Commit Graph

32175 Commits

Author SHA1 Message Date
Rhys Mainwaring
c3b576a72f SITL: enable 32 servos in SITL_JSON
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>

SITL: update JSON readme

- Update servo data packet section for 32 channel output.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-03-29 21:56:38 +11:00
Rhys Mainwaring
b5bbfe8011 SRV_Channel: add method have_32_channels
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-03-29 21:56:38 +11:00
Ryan Friedman
80a0373717 AP_DDS: Bump to using latest MicroXRCEDDSGen
* Adds -cs argument to fix case sensitive issue with PoseStamped
* Adds support for uint8_t type alias
* Updated the copies of IDL to remove these mods, matching upstream
* Solves #23302

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-03-29 21:50:12 +11:00
Andy Piper
2c7698f748 AP_HAL_ChibiOS: update MatekF405-CAN bootloader to fit 2023-03-29 20:49:40 +11:00
Andy Piper
a115681373 AP_HAL_ChibiOS: add support for building USB MSD 2023-03-29 20:49:40 +11:00
Andy Piper
d22bb20782 AP_HAL_ChibiOS: SDMMCv1 scratchpad is no longer used 2023-03-29 20:49:40 +11:00
Andy Piper
a56a2ec2c1 AP_HAL_ChibiOS: correct SDC power saving 2023-03-29 20:49:40 +11:00
Andy Piper
b452701a2b AP_HAL_ChibiOS: make sure MCUCONF subtype is defined 2023-03-29 20:49:40 +11:00
Andy Piper
820f3b81d1 AP_FlashIface: add comment on alternate byte usage with fast read 2023-03-29 20:49:40 +11:00
Andy Piper
73da2162d2 AP_HAL_ChibiOS: QSPI prescaler is indexed from 1 2023-03-29 20:49:40 +11:00
Andy Piper
4b4d2c52c8 AP_HAL_ChibiOS: correct QSPI flash and GPIO speeds on SPRacingH7 and DevEBoxH7v2 2023-03-29 20:49:40 +11:00
Andy Piper
39b226c46b AP_HAL_ChibiOS: support EXPECTED_CLOCKS and assert on meaningful ones for H7 2023-03-29 20:49:40 +11:00
Andy Piper
d9d252a1b7 AP_HAL_ChibiOS: update clock trees for H7 variants 2023-03-29 20:49:40 +11:00
Andy Piper
667b386356 AP_HAL_ChibiOS: port to ChibiOS 21.11.x
convert RCOutput to new virtual timer interface
cope with SDC vs SDMMC
use new SPIv3 driver. Correct clocks for SDMMCv2.
add STM32L431 support
port ChibiOS config to version 8
support SPIv3 driver model v2 on H7
use currcore in debug options
use new mmc API
disable speed optimizations in the bootloader to save a little flash
upgrade to halconf v8.4
relax constraints on QSP/flash clock.
add support for disabling QSPI reset in main firmware
2023-03-29 20:49:40 +11:00
Andy Piper
4a8ce32f90 AP_HAL_ChibiOS: remove USART3 to match fmuv5 and save some flash
remove UART7 on fmuv3 to save enough flash to fit in 16k
2023-03-29 20:49:40 +11:00
Andy Piper
1c14c8f043 AP_FlashIface: build fix for examples
clearly document parameters of memory-mapped mode
2023-03-29 20:49:40 +11:00
Andy Piper
c9382cd221 AP_InertialSensor: HAL_WITH_DSP -> HAL_GYROFFT_ENABLED 2023-03-29 20:49:40 +11:00
Andy Piper
76b5915d5b AP_BoardConfig: ensure that debug pins are enabled if compiled with debug 2023-03-29 20:49:40 +11:00
Andy Piper
07532eaf2f AP_Common: NOINLINE is now defined in ChibiOS 2023-03-29 20:49:40 +11:00
bugobliterator
3a38c2f1eb AP_UAVCAN: allow multithreaded register/unregistering handlers 2023-03-29 17:16:39 +11:00
bugobliterator
5f2dd4ab5c SITL: add support for testing DroneCAN 2023-03-29 17:16:39 +11:00
bugobliterator
b65c74940d AP_HAL_SITL: setup for DroneCAN driver test build 2023-03-29 17:16:39 +11:00
bugobliterator
44e897cf2d AP_CANManager: setup CANManager for DroneCAN Driver tests 2023-03-29 17:16:39 +11:00
bugobliterator
6dc73b3d54 AP_HAL: sitl: set default value of HAL_CAN_DRIVER_DEFAULT as 1 2023-03-29 17:16:39 +11:00
bugobliterator
ee310433e5 AP_HAL_Linux: add option to use vitual CAN in linux 2023-03-29 17:16:39 +11:00
bugobliterator
10fb5d6b21 AP_HAL: enable virtual CAN for native built linux targets 2023-03-29 17:16:39 +11:00
bugobliterator
ac905caae9 AP_Common: add return to strncpy_noterm 2023-03-29 17:16:39 +11:00
bugobliterator
4262f506c1 AP_OpenDroneID: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
fcfc4ce889 SRV_Channel: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
1c2a464be0 AP_EFI: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
2ede296486 AP_Notify: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
47e5337fbd AP_Proximity: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
805a8707da AP_RangeFinder: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
bcecda5c3f AP_Opticalflow: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
6a1460efb0 AP_BattMonitor: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
0d90e0377a AP_Airspeed: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
54df802d59 AP_Baro: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
7112d156ed AP_Compass: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
09de24f3d2 AP_GPS: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
310a307c10 AP_HAL: add define AP_TEST_DRONECAN_DRIVERS 2023-03-29 17:16:39 +11:00
bugobliterator
7e660c2e74 AP_CANManager: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
bugobliterator
7067e9d917 AP_UAVCAN: move libuavcan to libcanard driver 2023-03-29 17:16:39 +11:00
pedro-fuoco
cb628e6875 AP_DDS: update readme headers overhaul 2023-03-29 07:11:42 +11:00
pedro-fuoco
dfdd7cde1b AP_DDS: update readme with feedback provided 2023-03-29 07:11:42 +11:00
pedro-fuoco
3c09a9e8aa AP_DDS: update readme bash scripts and tutorial order
* Fix install java apt script
* Fix text indentation
* Add export PATH script for micro-XRCE-DDS-Gen
* Comment on the option to change ardupilot parameters through GCS
* Fix MicroROS PR 401 hyperlink
* Change tutorial order so that the user runs the microROS agent first
2023-03-29 07:11:42 +11:00
Peter Barker
3fada15681 AP_InertialSensor: correct access beyond array in Ins TCal 2023-03-28 21:25:11 +11:00
Peter Barker
7990e4f964 SimOnHW: correct compilation on CubeOrangePlus
this was at 2 to reduce CPU load.

But particularly when CubeOrangePlus is playing around with auxiliary IMUs we really want to be running on SimOnHardware just what we're running on the normal firmware.  We can find CPU cycles elsewhere....
2023-03-28 21:25:11 +11:00
Henry Wurzburg
67f19c6ddb AP_Mission: allow clearing mission in AUTO when disarmed 2023-03-28 09:43:42 +11:00
Peter Barker
51757a192e AP_Mount: clarify attitude returned in get_attitude_quaternion method call 2023-03-27 09:03:35 +09:00
tzarjakob
bd50e3eacf AP_HAL_ChibiOS: configuration of Precision Landing for custom build server 2023-03-27 09:04:07 +11:00
tzarjakob
a91178d0e1 AC_PrecLand: configuration of Precision Landing for custom build server 2023-03-27 09:04:07 +11:00
Tom Pittenger
8c7fc012d4 AP_HAL: fix CANFrame initialization in constructor 2023-03-26 18:23:30 +11:00
Andy Piper
5ecf7ff1fe AP_HAL_ChibiOS: ensure that DMA source is correct on DMA send for rcout 2023-03-26 09:59:59 +11:00
Andy Piper
d8042a1325 AP_HAL_ChibiOS: ensure the rcout TIM_UP DMA request source is re-instated after cancellation
This fixes a bug in bdshot whereby dma cancellation could result in the wrong DMA channel
being used for dshot output and hence motors stopping
2023-03-26 09:59:59 +11:00
Peter Barker
9ec6b69433 AP_Arming: add and use a define for AP_ARMING_AUX_AUTH_ENABLED
only the LUA bindings can actually activate this...
2023-03-25 15:56:22 +11:00
Peter Barker
575d803904 AP_Arming: remove redundant trim checks in Copter/Sub
The main rc_calibration_checks method checks all channels, not just the subset being tested explicitly on Copter/Sub.

The code making this redundant was added in 1b18a78d1d with a comment "Add a RC check that (<=min trim max) for all channels.
2023-03-25 11:04:36 +11:00
Andrew Tridgell
686da203f5 hwdef: fixed default GPS type for C-RTK2-HP 2023-03-25 10:59:28 +11:00
Andrew Tridgell
19cd2a8fe6 AP_Airspeed: fixed airspeed peripherals
AP_Periph does not have the ARSPD_BUS parameter, and setting this
default sets the bus to one that doesn't exist, plus it can't be fixed
using user parameters
2023-03-24 12:01:31 +11:00
EShamaev
4ec74b1373 AP_Baro_LPS2XH SPI/IC bug for top bit 2023-03-24 10:55:54 +11:00
Andrew Tridgell
3eb9d119ea AP_Scripting: added wrap32_test.lua for testing wrap32 usec bdshot bug 2023-03-24 08:31:25 +11:00
Andrew Tridgell
19a46fff0f AP_Scripting: added vehicle:reboot() binding 2023-03-24 08:31:25 +11:00
Andrew Tridgell
4141dd5bbe HAL_ChibiOS: support starting the clock at non-zero
for testing time wrap bugs
2023-03-24 08:31:25 +11:00
Andrew Tridgell
726b3bca9d HAL_ChibiOS: switched to 64 bit maths for DShot timings
this fixes a timer wrap bug at 71 minutes after boot that impacts
bdshot
2023-03-24 08:31:25 +11:00
Henry Wurzburg
0029da959e AP_HAL_ChibiOS:improve MambaF405MINI defaults 2023-03-23 13:54:04 +11:00
bugobliterator
866e6672c8 AP_InertialSensor: fix duplicate sensor detection for AUX sensors 2023-03-23 13:53:44 +11:00
bugobliterator
97f92d9354 AP_HAL_ChibiOS: add support for initialising extra sensors as AUX 2023-03-23 13:53:44 +11:00
bugobliterator
fee6f435ea AP_InertialSensor: increase the temp tolerance for INV2 driver for fifo reset 2023-03-23 13:53:28 +11:00
Ryan Friedman
04ec39eb9f AP_DDS: Use python3 shebang
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-03-23 13:51:38 +11:00
xiao
a3c0e884b8 AP_HAL_ChibiOS: added PixSurveyA1-IND 2023-03-22 18:41:15 +11:00
Andy Piper
89f7913d32 AP_HAL_ChibiOS: hwdef for FlywooF745v2
Add SPL06 baro to FlywooF745v1
2023-03-22 18:35:08 +11:00
Peter Barker
1e516a4dcb AP_Generator: turn RichenPower on on 2MB boards 2023-03-22 18:06:31 +11:00
Peter Barker
44dad72dd9 AP_Common: correct example for BufferPrinter changes 2023-03-22 17:59:11 +11:00
Peter Barker
a649dff390 GCS_MAVLink: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
988aa992bf AP_OpticalFlow: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
b644dfebc4 AP_Mount: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
d626197c0b AP_HAL_SITL: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
a10f5dbd0a AP_HAL_Linux: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
394d70abe0 AP_HAL: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
ec40a9641b AP_HAL_ESP32: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
d601d83b4b AP_HAL_Empty: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
130f2c3bc8 AP_HAL_ChibiOS: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
74207ea687 AP_ExternalAHRS: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
14089d4919 AP_CANManager: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker
75b3cec196 AP_HAL_ChibiOS: mark heavy periphs as using RC_Channel
these things compile vast amounts of the code-base so we need to turn RC_Channel on even if we don't instantiate the RC_Channels object
2023-03-22 14:25:09 +11:00
Peter Barker
48d6b34969 AP_MSP: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker
ea26154088 SRV_Channel: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker
9b6aedb9e6 AP_OSD: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker
3ba349fdb6 AP_Logger: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker
b26cd59da6 AP_RCProtocol: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker
32086826de AP_HAL_ChibiOS: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker
f81de35cd5 RC_Channel: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker
3c3f383601 AP_GPS: decouple status enumeration from MAVLink fix types
This moves us towards being able to compile the GPS library without having the MAVLink headers available.  We shouldn't need those headers when building for Periph.

If the headers are available then we ensure our values match mavlink so we can do a simple cast from one to the other
2023-03-22 14:23:41 +11:00
Iampete1
4934808ba8 AP_HAL_ChibiOS: GPIO: retry pins after ISR flood and add arming check 2023-03-22 09:27:35 +11:00
Iampete1
7617606629 AP_HAL: GPIO: add arming check 2023-03-22 09:27:35 +11:00
Iampete1
88f645afc2 AP_Arming: call hal GPIO check 2023-03-22 09:27:35 +11:00
Peter Barker
67bb7417ec GCS_MAVLink: routing: do not process our own packets locally
returning true from this method means we will process the packets locally.

If that message changes the vehicle state that could be bad.
2023-03-22 09:26:19 +11:00
Ryan Friedman
d361fec745 AP_Vehicle: Add DDS initialization and params to the vehicle if enabled
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Co-authored-by: Arsh Pratap <arshpratapofficial@gmail.com>
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
Co-authored-by: Russ Webber <russ@rw.id.au>
2023-03-22 09:22:36 +11:00
Ryan Friedman
0905ffa438 AP_DDS: Add initial DDS Client support
* Use clang to verify no unused files
* Add a topic table to prepare for code generating interfaces
* Generated IDL's to to a generated directory in build
* Use black to format python files
* Populate a ROS time maessage with Linux epoch time for ROS time
* Add workarounds for PoseStamped and TwistStamped with manual mods to IDL

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Co-authored-by: Arsh Pratap <arshpratapofficial@gmail.com>
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
Co-authored-by: Russ Webber <russ@rw.id.au>
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2023-03-22 09:22:36 +11:00
Ryan Friedman
d8e221b872 AP_SerialManager: Add enum for DDS over serial
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Co-authored-by: Arsh Pratap <arshpratapofficial@gmail.com>
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2023-03-22 09:22:36 +11:00
Ryan Friedman
5dbfec1e33 AP_HAL_ChibiOS: Add poll implementation
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Co-authored-by: Arsh Pratap <arshpratapofficial@gmail.com>
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2023-03-22 09:22:36 +11:00