Commit Graph

2948 Commits

Author SHA1 Message Date
Andrew Tridgell c2011570f7 HAL_ChibiOS: use chSysLock for CAN critical section
this avoids an assert in some code paths that combine with hrt
functions
2024-01-03 07:37:05 +11:00
Peter Barker 467daeb4a6 hwdef: tidy checking of is-bootloader-build 2024-01-02 13:00:15 +11:00
alexklimaj c53d3ae09b hwdef: ARK_CANNODE add rangefinder 2024-01-02 11:58:35 +11:00
Andrew Tridgell 0a8faa83d9 HAL_ChibiOS: allow for up to 12.5MBps on H7 UARTs
use 8x oversampling instead of 16x oversampling
2024-01-02 08:12:37 +11:00
alexklimaj e9f51a96cb hwdef: ARKV6X add USART6 to serial list 2024-01-01 13:17:06 +11:00
Andrew Tridgell 1e626a70cb hwdef: added MatekL431-Serial 2023-12-27 05:13:14 -07:00
Andrew Tridgell 46171a7c79 hwdef: give a more useful error message on no bootloader 2023-12-27 21:45:13 +11:00
Andrew Tridgell d2d2067f1c HAL_ChibiOS: fixed micros and millis on boards without 1MHz clock 2023-12-24 10:10:14 +11:00
Andrew Tridgell 4a59097b5e HAL_ChibiOS: use C implemention of div1000 2023-12-21 09:09:11 +11:00
bugobliterator cf481a8952 AP_HAL_ChibiOS: allow option to enable scripting on CubeRedSecondary 2023-12-21 07:30:25 +11:00
Andrew Tridgell 65cae116a2 hwdef: fixed build of CarbonixL496 2023-12-20 20:07:35 +11:00
Andrew Tridgell a94484d770 HAL_ChibiOS: fixed SPI build on F1xx
F1 does not have palReadLineMode()
2023-12-20 19:33:12 +11:00
Andrew Tridgell 6dbc3b6a70 HAL_ChibiOS: speed up millis(), micros64() etc
these use faster primitives and an assembly division by 1000 to get
between 2x and 3x speedup on these critical calls
2023-12-19 11:47:24 +11:00
Thomas Watson 2aa4ee8ba7 AP_HAL_ChibiOS: remove references to legacy UART order from hwdefs 2023-12-19 06:53:15 +11:00
Thomas Watson dc4438d0e3 AP_HAL_ChibiOS: eliminate legacy UART ordering/references
SERIAL_ORDER has been around for a few years now and UART_ORDER is
rejected by the hwdef script, so support for UART_ORDER and associated
processing in the hwdef script is removed, along with the order
conversion script.
2023-12-19 06:53:15 +11:00
Thomas Watson 507ab623b2 AP_HAL_ChibiOS: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Andy Piper ea76c0bd01 AP_HAL_ChibiOS: ensure dshot commands are send to all FMU channels when IOMCU is present 2023-12-18 19:02:52 +11:00
Andy Piper d2a48148dd AP_HAL_ChibiOS: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 2415c2998b AP_HAL_ChibiOS: allow dshot to be used even if bdshot was specified.
correct zero handling in bdshot decoding
2023-12-18 19:02:52 +11:00
Andy Piper 8c03c9e4bf AP_HAL_ChibiOS: cache values of io_dshot() and io_enabled()
enabled shared_up_dma to be fully compiled out
address some minor review comments
2023-12-18 19:02:52 +11:00
Andy Piper a5b6c3b5ef AP_HAL_ChibiOS: utility to print out bdshot encoded data 2023-12-18 19:02:52 +11:00
Andy Piper 9f30d01561 AP_HAL_ChibiOS: bdshot for f103 iofirmware
add support to tell if shared DMA channel is actually shared
avoid starting and stopping the timer peripheral with bdshot
ensure that rcout DMA allocation and deallocation happens entirely within the lock
increase rcout thread working area for bdshot
fix mode mask that is sent to the iomcu
ensure iomcu rcout thread gets timeouts for callbacks
control bdshot input and output line levels on f103
use input capture channel pairs to read rising and falling edges of telemetry on f103
reset channel pairs together on iomcu
generalize the bdshot input path to support suitable buffer sizes for iomcu
generalize DMAR reading of CCR registers to read two at a time on iomcu
enable bi-directional dshot channels on PWM1-4 on iomcu
add methods to directly access erpm values from rcout
update erpm mask and esc telemetry correctly for firmware supporting dshot
add support for propagating bdmask to iomcu
dshot commands to all channels need to be aware of iomcu
ensure esc type is propagated to iomcu
cope with iomcu channel numbering when using EDT
ensure pwm driver is reset properly for dshot commands on iomcu
correctly reset pwm for dshot commands
correctly mask off bdshot bits going to iomcu
don't reset GPIO modes on disabled lines
don't reset pwm_started when sharing DMA channels
set thread name on iomcu rcout and reduce stack size on iomcu
ensure that bdshot pulses with no response are handled correctly
correctly setup DMA for input capture on f103
deal with out of order captured bytes when decoding bdshot telemetry
ensure DMA sharing on f103 does not pull lines low
only disable the timer peripheral when switching DMA channels on iomcu
add support for waiting for _UP to finish before proceeding with dshot
re-order iomcu dshot channels to let TIM4_UP go first
ensure that a cascading event will always come when expected on rcout
allow timeouts when using cascading dshot
always rotate telemetry channel after trying to capture input
cater for both in order and out-of-order bdshot telemetry packets
cope with reversed packets when decoding bdshot telemetry
ensure UP DMA channel is fully free on iomcu before starting next dshot cycle
refactor rcout for iofirmware into separate file
2023-12-18 19:02:52 +11:00
tomas.vrsansky e6feebb2fb AP_HAL_ChibiOS: add hwdef files for Airvolute DCS2 onboard FMU
added ethernet config to hwdef
updated readme.md
hwdef: MAC parameters redefined according to ChibiOS
hwdef: add default params for Airvolute DCS2 on board FMU
update according to new changes in ChibiOS MAC driver
added defines to support ethernet communication
bootloaders: Airvolute-DCS2
2023-12-12 11:09:09 +11:00
Andrew Tridgell a4fb05de95 HAL_ChibiOS: increase LWIP windows
now getting 6.8MByte/s with NET_TESTS=4
2023-12-11 18:00:38 +11:00
Andrew Tridgell 28885dca4c HAL_ChibiOS: adjust buffer sizes
this fixes issues with TCP accepts being lost in web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell f603f045b5 HAL_ChibiOS: make lwip debugging easier
use ap_networking_printf wrapper
2023-12-11 18:00:38 +11:00
Andrew Tridgell 436c60c7de HAL_ChibiOS: defaults to 50 socket limit
makes for more useful web server
2023-12-11 18:00:38 +11:00
bugobliterator 00a65632eb AP_HAL_ChibiOS: add support for swapping ICM42688 with ICM45686 2023-12-06 13:34:52 +11:00
bugobliterator e34e9c61aa AP_HAL_ChibiOS: disable core m4 use to silence the chibios asserts
checking allocation of peripherals
2023-12-06 13:31:26 +11:00
Andy Piper cca8f8219a hwdef: new variant of KakuteH7 using ICM42688 2023-12-05 11:41:08 +11:00
Andy Piper 0cc5cf7d2d AP_HAL_ChibiOS: allow betaflight converter to run on output from "dump hardware" 2023-12-05 11:38:53 +11:00
Martin Luessi 6e417f1d0c RADIX2HD: Set HAL_I2C_INTERNAL_MASK 2023-12-05 11:37:57 +11:00
jfbblue0922 c16e1a28df AP_HAL_ChibiOS/hwdef: changed defaults parm in JFB110 board definition
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-11-28 15:58:53 +09:00
Andrew Tridgell f471732aad HAL_ChibiOS: enable SO_REUSEADDR 2023-11-28 12:18:55 +11:00
Andrew Tridgell 0659ab8ef4 HAL_ChibiOS: increase max TCP resources 2023-11-28 12:18:55 +11:00
Henry Wurzburg d9d5e91110 hwdef: update SDH7V1 readme 2023-11-28 11:47:32 +11:00
daniel.li e6b7daa323 AP_HAL_ChibiOS: Add Aocoda-RC-H743Dual target 2023-11-28 10:29:23 +11:00
Thomas Watson 87fef1ae5d AP_HAL_ChibiOS: use get_HAL_mutable() to install new CAN interfaces
Avoids dubious extern redefinition.
2023-11-28 08:24:25 +11:00
Thomas Watson a9ddadee3b AP_HAL_ChibiOS: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Tom Pittenger 1f7b4d0938 AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for minimize 2023-11-26 11:57:14 +11:00
Tom Pittenger cd6a656acf AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for periph 2023-11-26 11:57:14 +11:00
Peter Barker 27f836b66e hwdef: correct ARK_CANNODE compilation
this was turning SPI on when there aren't any devices...
2023-11-25 13:47:13 -08:00
alexklimaj ddba794420 hwdef: ark_rtk_gps fix safety led 2023-11-25 13:45:56 -08:00
Peter Barker e9fc99b1bf AP_HAL_ChibiOS: base HAL_USE_SPI on devices not buses
fixes compilation problem with gcc 10.3

../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp: In static member function 'static void ChibiOS::SPIDeviceManager::__static_initialization_and_destruction_0(int, int)':
../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp:76:18: error: statement has no effect [-Werror=unused-value]
   76 | ChibiOS::SPIDesc SPIDeviceManager::device_table[] = { HAL_SPI_DEVICE_LIST };
      |                  ^~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1plus: some warnings being treated as errors
2023-11-22 18:14:00 +11:00
Peter Barker 15e0f689c2 AP_HAL_ChibiOS: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Andy Piper 229916a48c AP_HAL_ChibiOS: enable serial LEDs on ARK_CANNODE 2023-11-20 19:23:06 +11:00
Andy Piper 73610c8932 AP_HAL_ChibiOS: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper b7fd04318a AP_HAL_ChibiOS: fix race condition in sending serial LED data 2023-11-20 19:22:20 +11:00
Andrew Tridgell 2ba4bf1478 HAL_ChibiOS: allow for --disable-networking 2023-11-17 10:54:24 -08:00
Andrew Tridgell 6bf3debe73 HAL_ChibiOS: default disable ICE in periph 2023-11-17 13:09:02 +11:00