Commit Graph

3041 Commits

Author SHA1 Message Date
Andrew Tridgell
91cc0d7dba HAL_ChibiOS: ensure periph uses same RAM0 address as bootloader
this fixes passing of addresses for boards that use an ALT_RAM_MAP
2024-01-21 12:30:08 +11:00
Andrew Tridgell
82dea9c037 HAL_ChibiOS: ensure our reserved ram is not in available ram regions
this prevents a fault when the ram0 region is filled in by the periph
code on boards that do dynamic memory allocation
2024-01-21 12:30:08 +11:00
Andrew Tridgell
a155f592a4 hwdef: added CubePilot PPPGW builds 2024-01-21 12:30:08 +11:00
Andrew Tridgell
2fee9e69db HAL_ChibiOS: support ROMFS_DIRECTORY in hwdef.dat 2024-01-21 12:30:08 +11:00
Andrew Tridgell
46f65aec4e AP_Periph: moved web UI script to Tools/AP_Periph
for use in multiple boards
2024-01-21 12:30:08 +11:00
Andrew Tridgell
69f23edd4a hwdef: added bootloader web server for Pixhawk6X-PPPGW 2024-01-21 12:30:08 +11:00
Andrew Tridgell
654b70da67 HAL_ChibiOS: allow HAL_Semaphore in the bootloader 2024-01-21 12:30:08 +11:00
Peter Barker
8e2a634c72 hwdef: don't enable filesystem-romfs just because we have a defaults file 2024-01-18 21:44:15 +11:00
Peter Barker
e958e7b720 hwdef: enable ROMFS if we have a defaults filepath to embed 2024-01-18 21:44:15 +11:00
Peter Barker
3aab3bac52 Tools/AP_HAL_ChibiOS: move defaults from tools to hwdef directory
Tools: move defaults from tools to hwdef directory
2024-01-17 18:28:48 +11:00
Peter Barker
c4a342f0af AP_HAL_ChibiOS: use @ROMFS/defaults.parm rather than apj_tool for defaul parms 2024-01-17 18:28:48 +11:00
Peter Barker
29f1953ad7 AP_HAL_ChibiOS: remove bad default from kha_eth hwdef
off is the default, but you have to use 0 not FALSE or it's a redefinition error
2024-01-17 18:25:55 +11:00
Peter Barker
2e23fa7612 hwdef: remove ghost telemetry from peripherals 2024-01-16 09:46:57 +11:00
Peter Barker
f7365556d0 AP_HAL_ChibiOS: tidy disabling of GHST on iomcu 2024-01-16 09:46:57 +11:00
Thomas Watson
5f5673b58f AP_HAL_ChibiOS: match thread stack pointer types to ChibiOS
`__main_thread_stack_base__` and `__main_thread_stack_end__` are
variables whose address is defined to be the corresponding part of the
stack. These are declared as `extern stkalign_t` in ChibiOS code, and
being declared as `extern uint32_t` in ArduPilot code creates a warning
at link time when using LTO. Correct the declaration to eliminate this
warning.

Also update `__main_stack_base__` and `__main_stack_end__` which don't
currently trigger this warning but serve similar purposes and so might
in the future.

The hardware expects an alignment of `stkalign_t` (which is 8 bytes) and
the linker script defines the variable values with this alignment as
well, so this is safe.

No code size or functional change.
2024-01-16 09:24:34 +11:00
Peter Barker
d0e7039b68 hwdef: remove un-needed AP_PARAM_MAX_EMBEDDED_PARAM default
these boards have <= 1024, and we have code in place which defaults this value tto 1024
2024-01-15 20:25:59 +11:00
Peter Barker
7cf66d917c hwdef: correct compilation of revo-mini-sd
this isn't built on the firmware server, so we won't notice when it dies

In this case the SMBUS batter define was being set differently

Also remove some redundant defines which come from includes anyway
2024-01-15 20:24:37 +11:00
Peter Barker
d4f59cbe5f hwdef: remove HAL_NO_LOGGING from Here4FC-bl.dat
this was removed from master a long time ago
2024-01-15 09:40:35 +11:00
Peter Barker
ad90e37f21 hwdef: remove bad AP_PERIPH_HAVE_LED lines from bootloaders
this define is only used within the AP_Periph directory
2024-01-15 09:40:35 +11:00
Andrew Tridgell
60c69d052b hwdef: added scripting to CubePilot-PPPGW 2024-01-12 19:06:49 -08:00
Andrew Tridgell
faea203af6 hwdef: added web UI to PPPGW example 2024-01-12 19:06:49 -08:00
Andrew Tridgell
2c946b92e9 hwdef: added Pixhawk6X-PPPGW 2024-01-12 14:23:34 -08:00
Andrew Tridgell
280d7c6d15 hwdef: added CubePilot-PPPGW 2024-01-12 14:23:34 -08:00
Davide_Lentini
5fdcd876ee AP_HAL_ChibiOS: Update defaults.parm of luminousbee5 board 2024-01-12 20:45:11 +09:00
Andy Piper
3caf336b0f AP_HAL_ChibiOS: switch BetaFPV-F405, BeastF7 and BeastF7v2 to minimize_fpv 2024-01-10 18:32:53 +11:00
Iampete1
416a41e756 AP_HAL_ChibiOS: Only test SPI clock if SPI is enabled 2024-01-10 13:46:40 +11:00
Maxim Buzdalov
809e15acf4 hwdef: Add pinout for Flywoo GOKU F745 AIO v1.2 2024-01-09 10:57:29 +11:00
bugobliterator
57ccac308d AP_HAL_ChibiOS: Add readme file to Here4 FC 2024-01-08 07:05:34 +11:00
bugobliterator
ec15951b06 AP_HAL_ChibiOS: add hwdef for Here4FC 2024-01-08 07:05:34 +11:00
bugobliterator
bea8b25c5d AP_HAL_ChibiOS: add support for early initialisation of WATCHDOG
This is needed for Ardupilot Vehicle builds running on AP_Periph bootloaders
2024-01-08 07:05:34 +11:00
Andrew Tridgell
6ea2c28a4d HAL_ChibiOS: fixed DMA on SPI on H743
this fixes DMA failures affecting IMUs on H743. The reason for the
failure is not yet clear, but this reverts back to our old stragegy of
always using the bouncebuffer on H7 as a quick workaround
2024-01-07 19:10:25 +11:00
Andrew Tridgell
c54aa0241a HAL_ChibiOS: added mem_is_dma_safe() function
used for bouncebuffer code and in FATFS code
2024-01-05 06:52:11 -08:00
Peter Barker
c557e67aff chibios_hwdef.py: populate intdefines as part of parsing, not output 2024-01-04 20:29:14 +11:00
jamming
6fe7a1408e hwdef: Add support for BMI088 on Pixhawk6c 2024-01-04 07:17:24 +11:00
Peter Barker
ed1ae3b5f1 chibios_hwdef.py: add quiet option to remove parsing debug output 2024-01-03 18:04:37 +11:00
Andrew Tridgell
cc8c671cb7 HAL_ChibiOS: don't link evtimer in chibios_board.mk 2024-01-03 12:14:47 +11:00
Andrew Tridgell
418897c443 HAL_ChibiOS: removed old lwip options 2024-01-03 12:14:47 +11:00
Andrew Tridgell
936bbeda88 AP_HAL_ChibiOS: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell
9456b585fa HAL_ChibiOS: don't link lwip bindings from ChibiOS 2024-01-03 12:14:47 +11:00
Andrew Tridgell
5748adbf44 HAL_ChibiOS: allow for networking without ethernet 2024-01-03 12:14:47 +11:00
Peter Barker
d5ddbad27f HAL_ChibiOS_Class: adjust for dsp disappearing from HAL constructor 2024-01-03 11:45:31 +11:00
Andrew Tridgell
c0d0aeee86 HAL_ChibiOS: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell
8a027eddb0 HAL_ChibiOS: implement BinarySemaphore
and removed event handles
2024-01-03 07:37:05 +11:00
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
Tom Pittenger
ac16f10ecd AP_HAL_ChibiOS: hwdef kha_eth to show SerialManager params 2023-11-16 10:58:50 -08:00
Jonathan Loong
16c55a3bc1 AP_HAL_ChibiOS: Add in CarbonixF405 QMC5883P compass enable 2023-11-15 10:53:38 +11:00
Jonathan Loong
8d64d5215e AP_Periph: CarbonixL496 crystal hwdef changes 2023-11-15 10:53:38 +11:00
Andy Piper
7639761d28 AP_HAL_ChibiOS: correct neopixel bitwidth
Use 64-bit timestamps for dshot send checks
2023-11-14 11:06:25 +11:00
Henry Wurzburg
4681e5fba6 hwdef:correct JFB110 defaults 2023-11-14 10:55:33 +11:00
Andrew Tridgell
2f9bfb648f HAL_ChibiOS: default RTS pins to PULLDOWN
this avoids issues with SiK and RFD900x radios getting stuck in
bootloader mode due to a high RTS pin on power on.

We did this for Pixhawk6C in this PR:
https://github.com/ArduPilot/ardupilot/pull/24169

this now applies it to all boards
2023-11-12 07:26:50 +11:00
Cedric0489
95dbb7a3f5 AP_HAL_ChibiOS: added PixPilot-C3 2023-11-10 17:14:18 +11:00