Commit Graph

554 Commits

Author SHA1 Message Date
Andrew Tridgell 06a8aef998 HAL_ChibiOS: switched G4 FDCAN clock to 80MHz
this requires main CPU clock at 160 MHz instead of 168 MHz
2024-01-25 11:44:44 +11:00
bugobliterator 9de1b6164b AP_HAL_ChibiOS: add more pins to STM32H757 ADC channel map 2024-01-22 20:35:16 +11:00
Andrew Tridgell 5e7b211b79 HAL_ChibiOS: moved M4 disable into H757 script
this fixes assert checking in the bootloader and for boards other than
CubeRedPrimary
2024-01-21 12:30:08 +11:00
Andrew Tridgell 3a84f35593 HAL_ChibiOS: support building with no GPIOs 2024-01-21 12:30:08 +11:00
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 2fee9e69db HAL_ChibiOS: support ROMFS_DIRECTORY in hwdef.dat 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
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 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 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
Peter Barker c557e67aff chibios_hwdef.py: populate intdefines as part of parsing, not output 2024-01-04 20:29:14 +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 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 467daeb4a6 hwdef: tidy checking of is-bootloader-build 2024-01-02 13:00:15 +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
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
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
Andy Piper 0cc5cf7d2d AP_HAL_ChibiOS: allow betaflight converter to run on output from "dump hardware" 2023-12-05 11:38:53 +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 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
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
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
Andrew Tridgell 6173726846 HAL_ChibiOS: fail on badly formed SPIDEV line 2023-10-31 10:42:25 +11:00
bugobliterator fd319c6b2c AP_HAL_ChibiOS: fix setting APP_RAM size
also allows passing APP_RAM_START index through hwdef
2023-10-23 10:43:42 +11:00
bugobliterator 57f6f8e34d AP_HAL_ChibiOS: add support for saving and restoring SCK pin state
when SPI goes into undefined state during reset
2023-10-18 19:25:19 +11:00
Iampete1 e736d5ecb7 AP_HAL_ChibiOS: hwdef: scripts: defaults_periph: disable unused libaries by defualt 2023-10-17 10:23:20 +11:00
jfbblue0922 0f1e766269 AP_HAL_ChibiOS: JFB110 board definition
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-10-12 17:03:04 +11:00
Peter Barker cf96791fe2 AP_HAL_ChibiOS: add and use HAP_PERIPH_ENABLE_RTC 2023-10-11 19:17:27 +11:00
Peter Barker 53f4709a78 AP_HAL_ChibiOS: disable RTC on periphs
the singleton isn't instantiated
2023-10-11 19:17:27 +11:00
muramura 007c3460ea AP_ChibiOS: Delete the same definition 2023-10-11 14:42:32 +11:00
Andrew Tridgell da0870f616 HAL_ChibiOS: enable mavlink bindings for ADSB periph 2023-10-02 21:45:28 +11:00
Peter Barker e2975a67e7 AP_HAL_ChibiOS: use AP_GPS_ENABLED to exclude more code when GPS not compiled in 2023-09-27 16:38:15 +10:00
Andy Piper 82452758b4 AP_HAL_ChibiOS: write out serial ports that are available when configuring 2023-09-26 11:31:08 +10:00
Andy Piper 9387236e6c AP_HAL_ChibiOS: prefer bi-directional dshot channels that can be shared on F4 and F7 2023-09-13 17:03:51 +10:00
Andy Piper 194f555c7b AP_HAL_ChibiOS: provide mcu defaults in betaflight conversion 2023-09-06 17:13:07 +10:00
Andy Piper 2160a1afb4 AP_HAL_ChibiOS: correct hwdef generator battery scale 2023-09-06 17:13:07 +10:00
Andy Piper ee8631e9fd AP_HAL_ChibiOS: cope with different IMU drivers in hwdef conversion 2023-09-06 17:13:07 +10:00
Andrew Tridgell fbd44dddd0 HAL_ChibiOS: enable ISRs during flash ops in bootloader
this makes a huge difference in AP_Periph bootloader speeed, where
disabling interrupts prevents CAN packets from being received
2023-09-06 11:21:51 +10:00
Peter Barker c7080825d3 AP_HAL_ChibiOS: chibios_hwdef.py: canonicalise AP_PERIPH env define
before this change this environment variable is a string, which means anything checking it for truth will get back true even if it is empty ("") or the string zero ("0").  The existing is_periph_fw check only works because "1" != 0 - if it was "0" then it would still be considered a periph firmware
2023-09-06 09:28:37 +10:00
Iampete1 2fbc27584b AP_HAL_ChibiOS: default to 0 battery capacity on periph 2023-08-30 12:25:46 +10:00
Andrew Tridgell 202e71482f HAL_ChibiOS: support CKS32F407 MCU
based on STM32F407
2023-08-26 21:12:42 +10:00