Peter Barker
ccfad8ceea
AP_HAL_ChibiOS: disable watchdog in hwdef.h not in-line in code
2023-02-01 18:44:06 +11:00
Peter Barker
47c7acf1b3
AP_HAL_ChibiOS: define HAL_ENABLE_SAVE_PERSISTENT_PARAMS for bootloader in hwdef.h
2023-01-31 10:36:39 +11:00
Peter Barker
3e0ca818a3
AP_HAL_ChibiOS: move all defaults to end of hwdef.h
...
this allows the defaults to be based on other things set in the hwdef - for example, NUM_SERVO_CHANNELS to be dependent on HAL_PWM_COUNT
2023-01-25 22:30:55 +11:00
Peter Barker
d4930b4e55
AP_HAL_ChibiOS: move AP_Periph config of NUM_SERVO_CHANNELS into chibios_hwdef.py
2023-01-25 22:30:55 +11:00
Peter Barker
3a604ecfdf
AP_HAL_ChibiOS: add and use AP_VIDEOTX_ENABLED
2023-01-24 11:03:27 +11:00
Andy Piper
0234c344ab
AP_HAL_ChibiOS: add vanity and build requirements to betaflight converter
2023-01-18 19:17:22 +11:00
Andy Piper
f9276f76e7
AP_HAL_ChibiOS: cope with sensor alignment not being set in betaflight config
2023-01-18 19:17:22 +11:00
Andy Piper
9caf94b5e4
AP_HAL_ChibiOS: simple conversion tool for betaflight pin definitions
2023-01-11 18:57:33 +11:00
Peter Barker
28592269ff
AP_HAL_ChibiOS: use chibios_hwdef.py to disable fence on AP_Periph
2023-01-06 12:39:06 +11:00
Peter Barker
de54bcbc21
AP_HAL_ChibiOS: define AP_INERTIALSENSOR_ENABLED in a new AP_InertialSensor_config.h
2023-01-04 18:02:34 +11:00
Andrew Tridgell
673aa5ceb7
HAL_ChibiOS: default to max 1 rangefinder in periph
2023-01-02 15:42:55 +11:00
Andrew Tridgell
d768c721ee
HAL_ChibiOS: make it fatal to have I2C devices without an I2C_ORDER
...
otherwise it is very confusing when you end up with AP_HAL_Dummy for
I2C manager
2022-12-21 19:52:31 +11:00
Andrew Tridgell
eb704510d6
HAL_ChibiOS: default to one battery monitor backend in peripherals
2022-12-20 10:44:52 +11:00
Andrew Tridgell
46782057f4
HAL_ChibiOS: fixed a bug in processing STORAGE_FLASH_PAGE
...
when we look in hwdef.dat for STORAGE_FLASH_PAGE we need to recurse
into includes, or we may miss it
2022-12-05 15:19:52 +11:00
Henry Wurzburg
f297e57176
AP_HAL_ChibiOS: add synthetic current sensor,fix SITL current
2022-11-24 06:53:35 +11:00
Peter Barker
c7f08e422c
AP_HAL_ChibiOS: remove GCS.h from header files
2022-11-16 18:29:07 +11:00
Peter Barker
aef745c693
AP_Compass: fix compilation when removing diagonals state
2022-11-09 21:14:04 +11:00
Peter Barker
2f1bda4375
AP_HAL_ChibiOS: explicitly default MSP off for AP_Periph
...
several Periphs already define this on
2022-11-09 10:21:44 +11:00
Peter Barker
fc8ad509f7
AP_HAL_ChibiOS: define HAL_MAX_CAN_PROTOCOL_DRIVERS for bootloader in hwdef.h
2022-11-08 12:06:54 +11:00
Peter Barker
bb1c3d6545
AP_HAL_ChibiOS: use minimize_features.inc for HAL_WITH_DSP
2022-11-05 14:52:10 +11:00
bugobliterator
2a4921c139
AP_HAL_ChibiOS: add support for detecting IMU backends by order
2022-11-01 10:41:59 +11:00
Peter Barker
4cc1459e63
AP_HAL_ChibiOS: disable CanManager in hwdef.h for AP_Periph
2022-09-20 09:39:48 +10:00
Peter Barker
28a0336423
AP_HAL_ChibiOS: move defaulting of HAL_DSHOT_ALARM into hwdef
2022-09-15 09:18:04 +10:00
Andrew Tridgell
8e102ecfcc
hwdef: added CUAV_V6X default parameters
2022-09-14 18:04:46 +10:00
Andrew Tridgell
f899a47429
HAL_ChibiOS: removed debug msg
2022-09-05 12:35:37 +10:00
bugobliterator
0c78f8bac2
AP_HAL_ChibiOS: add support for booting into DFU
2022-08-30 10:51:06 +10:00
Peter Barker
e4bc7a0ef5
AP_HAL_ChibiOS: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED
2022-08-18 22:49:10 +10:00
Peter Barker
4ca0f35943
AP_HAL_ChibiOS: do not gate AP_CRASHDUMP_ENABLED on bootloader
...
Also rename from HAL_CRASHDUMP_ENABLE
Removes code based on define rather than creating empty functions. Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Peter Barker
ecde9f8c3f
AP_HAL_ChibiOS: make HAL_FLASH_PROTECTION a boolean, stop checking for definition
2022-08-16 08:10:16 +10:00
Andrew Tridgell
a8ab7c3865
HAL_ChibiOS: auto-define AP_CHECK_FIRMWARE_ENABLED for AP_Periph
2022-08-15 09:18:34 +10:00
Andy Piper
1ff3ee7a12
AP_HAL_ChibiOS: allow undef of SPI devices
2022-08-03 17:06:38 +10:00
Andy Piper
7fc5a7135a
AP_HAL_ChibiOS: make sure bootloader reserves space for storage
...
Fixes bug introduced by #19769
2022-08-03 16:55:51 +10:00
Peter Barker
13b03f79db
AP_HAL_ChibiOS: move from HAL_NO_SHARED_DMA to AP_HAL_SHARED_DMA_ENABLED
...
This allows hwdef files to manipulate this value
2022-07-19 18:02:26 +10:00
Andrew Tridgell
0e745d0ad3
hwdef: added BOARD_MATCH() support for IMUs
...
allow hwdef.dat to specify list of IMUs which match a specific board
type
2022-07-19 15:02:31 +10:00
Andrew Tridgell
b1e3b9414b
hwdef: fixed Pixhawk6X ALT_RAM_MAP check
2022-06-23 12:37:24 +10:00
Peter Barker
ce1bb906b7
AP_HAL_ChibiOS: allow rangefinder backends to be individually compiled in
2022-06-21 09:15:20 +10:00
Andrew Tridgell
9efcad3adf
HAL_ChibiOS: added support for ALT_RAM_MAP on H7
...
for compatibility with the px4 H7 bootloader
2022-06-15 17:28:40 +10:00
Pradeep
183352cdfe
AP_Periph: choose node stats - build files
...
Added - AP_Stat library and AP_STATS_ENABLED build options
2022-06-07 09:57:32 +10:00
Peter Barker
7da0b3aaf2
AP_HAL_ChibiOS: allow airspeed backends to be compiled out
2022-05-10 09:02:51 +10:00
Peter Barker
e788941f70
hwdef: turn off various GPS backends on on AP_Periph
2022-04-13 18:23:51 +10:00
Peter Barker
73b86ccc04
AP_HAL_ChibiOS: allow RobotisServo protocol to be compiled out
2022-04-12 10:35:01 +10:00
Peter Barker
2e20e26403
AP_HAL_ChibiOS: allow Volz protocol to be compiled out
2022-04-12 10:35:01 +10:00
bugobliterator
2dceb9a3ed
AP_HAL_ChibiOS: ensure that common ram is selected for bootloader/app comms in STM32H7
2022-03-23 19:09:21 +11:00
Andy Piper
ceef68e07b
AP_HAL_ChibiOS: allow H7 480Mhz clock speed to be configured in hwdef via MCU_CLOCKRATE_MHZ
2022-03-16 20:37:30 +11:00
Peter Barker
470cb2caa2
AP_HAL_ChibiOS: turn autocal off for periphs
2022-03-15 08:52:37 +11:00
Peter Barker
e486671bb2
AP_HAL_ChibiOS: correct #ifndef nesting in periph defaults
2022-03-13 13:23:51 +11:00
bugobliterator
faf0c0d7c3
AP_HAL_ChibiOS: set canfd bitrates using CANFD_SUPPORTED opt
2022-03-11 18:13:54 +11:00
Siddharth Purohit
72090d10da
AP_HAL_ChibiOS: add hwdef config to enable CANFD support
2022-03-11 18:13:54 +11:00
Andy Piper
f840315aa4
AP_HAL_ChibiOS: clock H750 at 480Mhz when using 8Mhz, 16Mhz and 24Mhz crystals
2022-02-23 18:19:56 +11:00
Andrew Tridgell
96518c9eda
HAL_ChibiOS: added CPU defines to hwdef
...
needed for checks like defined(STM32F1)
2022-02-22 12:13:19 +11:00
Andrew Tridgell
6039b8012a
HAL_ChibiOS: define HAL_USE_SDMMC
2022-02-22 12:13:19 +11:00
Andrew Tridgell
638e20a0b9
HAL_ChibiOS: bring in hal.h where it is needed
2022-02-22 12:13:19 +11:00
Andrew Tridgell
25cc8203d8
HAL_ChibiOS: added CHIBIOS_BOARD_NAME define
2022-02-22 12:13:19 +11:00
Andrew Tridgell
a641eb3a30
HAL_ChibiOS: support ALT_BOARD_ID
...
allow for compat with px4 board ID for the same board
2022-02-17 14:37:41 +11:00
Andy Piper
83ac78e969
AP_HAL_ChibiOS: add support for @SYS/timers.txt
...
move out prescaler calculation and use closest prescaler everywhere
include timer id in PWM groups
2022-02-16 15:28:04 +11:00
Andy Piper
48c21299f8
AP_HAL_ChibiOS: hwdef for SPRacingH7
...
hwdef for DevEBoxH7v2
pin definitions for STM32H750
add QSPI to DevEBox bootloader
add external flash to DevEBox
rename EXTERNAL_PROG_FLASH_MB to EXT_FLASH_SIZE_MB
Add support for EXT_FLASH_RESERVE_START_KB and EXT_FLASH_RESERVE_END_KB
Disable HAL_ENABLE_SAVE_PERSISTENT_PARAMS when there is no bootloader flash available
relax storage health status with SD card backend
don't check SD card health unless USE_POSIX
binary sections rearranged on external ram
manage RAMFUNC through ldscript and optimize function placement in external flash
inline timer functions
optimize placement of ChibiOS and functions in ITCM and AXI RAM
fix chibios features on bootloader build with external flash
change H750 memory layout
increase line storage for SD card based parameters
comment external flash linker script
move vtables into DTCM
update ram map for H757
enable crashdump support with external flash
correct bootloader pins and generator on SPRacingH7/DevEBoxH7v2
setup external flash reserve regions
allow different RAM_MAP for external flash on H750 and H757
2022-02-09 12:47:55 +00:00
Walter Dunckel
f2347e7845
AP_HAL_ChibiOS: add missing EOL in output
...
without it a double define line was giving compiler an error
2022-02-09 09:14:25 +11:00
Andrew Tridgell
a8b98bfcc4
HAL_ChibiOS: required EXPECTED_CLOCK in all MCU files
...
this ensures we validate the clock setup at compile time
2022-01-29 18:57:33 +11:00
Peter Barker
185ccaee92
AP_HAL_ChibiOS: disable UART stats based on GCS being enabled
...
We may need to revisit this if we are able to transfer these files over
some other mechanism into the future
2022-01-18 11:09:03 +11:00
Andrew Tridgell
59b2a30c11
HAL_ChibiOS: added check for valid HAL_STORAGE_SIZE
2022-01-11 11:33:30 +11:00
Andrew Tridgell
1236474cfb
HAL_ChibiOS: give an error if STORAGE_FLASH_PAGE overflash flash
...
when storage is between the bootloader and main program flash then the
flash size available to the bootloader needs to stop at the sector for
the storage flash.
Similarly, if storage is at the end of flash, then total flash size
needs to be limit
this ensures we don't try to build a firmware that encroaches on
program space
2022-01-11 11:33:30 +11:00
phil tokumaru
bfded82da5
AP_HAL_ChibiOS: STM32F777xx.py: correct pincount for J and K
2022-01-06 09:15:14 +11:00
Andy Piper
c357c1e521
AP_HAL_ChibiOS: hwdef for BeastF7 v2
...
Fix undef of alt pins
2022-01-05 18:50:41 +11:00
bugobliterator
62945e1d85
AP_HAL_ChibiOS: use common directory reference wrt hwdef scripts
2021-12-20 12:47:25 +11:00
Peter Barker
bdeec0868e
AP_HAL_ChibiOS: turn wind-compensation off in hwdef defaults
2021-12-19 10:45:16 +11:00
bugobliterator
f0073e472b
HAL_ChibiOS: set SWD pins pulled up and low by default
2021-12-17 22:51:18 -08:00
Andrew Tridgell
ee7464140a
HAL_ChibiOS: avoid re-writing hwdef.h if unchanged
...
this makes dependency handling faster
2021-12-14 09:37:17 +11:00
Andrew Tridgell
0e5beb423e
HAL_ChibiOS: sort shared dma mask
...
this prevents an unnecessary change in hwdef.h on reconfigure
2021-12-14 09:37:17 +11:00
bugobliterator
ee35350129
HAL_ChibiOS: setup for recording crashdump at the remaining flash space
2021-12-01 18:17:50 +11:00
Peter Barker
139c460fa5
hwdef: remove unused define NO_DATAFLASH
2021-11-24 18:18:06 +11:00
Peter Barker
ee68072c62
AP_HAL_ChibiOS: chibios_hwdef: use ifndef pattern for AP_FETTEC_ONEWIRE_ENABLED
2021-11-24 12:01:22 +11:00
Andrew Tridgell
fc6a82de1b
AP_HAL_ChibiOS: support up to 9 UARTs
2021-11-22 22:48:59 +11:00
Andrew Tridgell
97aee6f45e
HAL_ChibiOS: fixed regex error for GPIOs
2021-11-07 07:00:35 +11:00
Andrew Tridgell
5f15432e07
HAL_ChibiOS: allow for NODMA patterns
...
this makes it easy to disable DMA on I2C
2021-11-05 14:30:43 +11:00
Andrew Tridgell
98849a3998
HAL_ChibiOS: fixed build for EMPTY uarts
...
this fixes NucleoH743 build
2021-11-01 15:48:25 +11:00
bugobliterator
57e1fb1a81
HAL_ChibiOS: disable building CrashCatcher for non 2M boards
2021-10-30 19:24:57 +11:00
bugobliterator
70f606c480
AP_HAL_ChibiOS: restrict crash dump mechanisms only on boards with 2M flash
2021-10-30 19:24:57 +11:00
bugobliterator
66b8b9cf74
HAL_ChibiOS: add support for dumping crash logs to flash page
2021-10-30 19:24:57 +11:00
bugobliterator
69f53a6188
HAL_ChibiOS: add defines for CrashCatcher methods to use
2021-10-30 19:24:57 +11:00
Andrew Tridgell
0378e1a879
HAL_ChibiOS: removed need for a lot of boilerplate hwdef lines
...
bootloader and AP_Periph lines can default to right values
2021-10-26 15:56:53 +11:00
Iampete1
d7cc2cb296
AP_HAL_ChibiOS: hwdef.py: allow same GPIO pin in multiple alt configs
2021-10-26 10:05:20 +11:00
Andrew Tridgell
c8664e0b98
HAL_ChibiOS: added STM32L476 support
2021-10-17 20:30:20 +11:00
Andrew Tridgell
5a68e21435
HAL_ChibiOS: support STM32L431
2021-10-17 20:30:20 +11:00
Andrew Tridgell
71e7bb0fe3
HAL_ChibiOS: mark af_parse_cubemx.py as executable, py3
2021-10-17 20:30:20 +11:00
Andrew Tridgell
25324ae0e2
HAL_ChibiOS: support SDMMC2 for sdcard
2021-10-12 15:47:51 +11:00
bugobliterator
f298ea406e
HAL_ChibiOS: enable RNG only for H7 based boards off for the rest by default
2021-10-07 19:43:11 +11:00
Andrew Tridgell
33529c98a9
HAL_ChibiOS: check the ROMFS line for IOMCU is added
2021-10-06 06:45:43 +11:00
Andrew Tridgell
4dbff85de7
HAL_ChibiOS: check for common hwdef.dat errors
...
catches missing GPIO type, mismatched timers and UARTs or bad pin types
2021-10-05 15:46:02 +11:00
Iampete1
8ae5bc5ad0
AP_HAL_ChibiOS: hwdef: allow GPIO alt config
2021-09-29 19:55:21 +10:00
Andrew Tridgell
27e93155f4
HAL_ChibiOS: fixed build on boards with OTG2 and no CAN interfaces
2021-09-29 18:11:04 +10:00
Andrew Tridgell
0212e23cd3
HAL_ChibiOS: added support for STM32L496 MCUs
...
good MCU for AP_Periph
2021-09-24 18:08:00 +10:00
Peter Barker
1bd62362a4
AP_HAL_ChibiOS: move from HAL_NO_GCS to HAL_GCS_ENABLED
2021-09-22 21:37:00 +10:00
Andrew Tridgell
7f59366cc0
HAL_ChibiOS: process AIRSPEED lines in hwdef.dat
2021-09-21 13:51:40 +10:00
Andrew Tridgell
532396e5e6
REVERT: HAL_ChibiOS: Rename STM32F412 hw definition file
...
This reverts commit 5de6c690d8
.
That commit broke the build for the affected board as the chibios
headers rely on the name of the file matching a ifdef
2021-09-07 10:37:43 +10:00
Andrew Tridgell
b77580f934
HAL_ChibiOS: avoid an issue with DCache init on H743
...
this fixes an issue found by Andy Piper where the H743 bootloader gets
a hard fault in the DCache enable code when SRAM1 is primary memory.
This is the simplest fix I could think of, and avoids the problem by
making DTCM the first segment in the bootloader.
Note that we can't use DTCM as first segment for main firmware since
we went to double precision EKF as the static variables don't fit
2021-09-06 18:23:03 +10:00
Siddharth Purohit
81dc237a19
AP_HAL_ChibiOS: move to using Instruction RAM with External Flash setup
2021-09-01 17:10:53 +10:00
Siddharth Purohit
39bd229279
AP_HAL_ChibiOS: remove dependency on Semaphores in QSPIDevice in BL
2021-09-01 17:10:53 +10:00
Siddharth Purohit
4ba2835de1
AP_HAL_ChibiOS: add config for supporting load from external flash
2021-09-01 17:10:53 +10:00
Siddharth Purohit
faedb12493
AP_HAL_ChibiOS: fix hwdef generation for bootloader supporting ext flash
2021-09-01 17:10:53 +10:00
Siddharth Purohit
6e81fcbed1
AP_HAL_ChibiOS: add support for things required to run QSPIDriver
2021-09-01 17:10:53 +10:00
Andrew Tridgell
39f44147b8
HAL_ChibiOS: reduce the impact of UART DMA contention
...
this changes the heuristics for UART TX DMA allocation to greatly
reduce the chances of DMA contention causing long delays on other
devices
This fixes issues with FETTec driver output and gimbal status messages
as reported by Amilcar and OlliW. The problem is particularly bad when
no GPS is connected to GPS1 on fmuv3 and derived boards (such as
CubeBlack)
key changes:
- remember the contention_counter across begin() calls, as the GPS
calls begin with new baudrates regularly
- added a is_shared() API to Shared_DMA, allowing the UART driver to
avoid TX DMA on shared streams when at low baudrates.
2021-08-31 07:55:27 +10:00
Marek Łukasiewicz
5de6c690d8
HAL_ChibiOS: Rename STM32F412 hw definition file
2021-08-30 10:27:45 +10:00
bugobliterator
a32a32ab43
HAL_ChibiOS: change name for USART2_CTS pin in STM32H757xx.py
2021-08-25 10:09:23 +10:00
Andrew Tridgell
4cebcede31
HAL_ChibiOS: switched to fix allocation for BMDA streams on H7
...
this avoids issues with BDMA stream assignments due to bugs found
while testing boards with both I2C4 and SPI6
2021-08-25 07:11:31 +10:00
Andrew Tridgell
57e87b9820
HAL_ChibiOS: measure MCU temperature and ref voltage on H7
...
this uses ADC3 to measure the internal MCU temperature and the reference
voltage. This uses a currently unused BDMA channel
2021-08-25 07:11:31 +10:00
Andrew Tridgell
8df99f0d15
HAL_ChibiOS: added G431 and G441 support
2021-08-03 10:54:03 +10:00
Andrew Tridgell
4fce1ae092
HAL_ChibiOS: added G491 support
2021-07-30 10:20:52 +10:00
bugobliterator
d1b0438412
AP_HAL_ChibiOS: add support for usb passthrough with baud changes
2021-07-21 17:06:41 +10:00
Andrew Tridgell
4f32fa537a
HAL_ChibiOS: define HAL_HAVE_HARDWARE_DOUBLE on F765, F777 and H7
2021-07-10 07:20:41 +10:00
Andrew Tridgell
6c712c9001
HAL_ChibiOS: use SRAM1 as first ram segment on H7
...
this is needed to give the linker more than 128k for static variables
with double precision maths.
2021-07-10 07:20:41 +10:00
Siddharth Purohit
9b2359b34c
AP_HAL_ChibiOS: allow option to enable ChibiOS features in bootloader
2021-07-02 08:50:16 +10:00
Andrew Tridgell
b4b02b4ffc
HAL_ChibiOS: use nargs='+' for chibios_hwdef.py
2021-07-01 09:33:16 +10:00
willpiper
ce1ee6334f
AP_HAL_ChibiOS: addressed reviewed comments
2021-07-01 09:33:16 +10:00
willpiper
fb4a4e609a
AP_HAL_ChibiOS: added --extra-hwdef option
2021-07-01 09:33:16 +10:00
Siddharth Purohit
c962292bae
AP_HAL_ChibiOS: add support for H757I Evaluation board
2021-06-30 19:33:17 +10:00
Siddharth Purohit
abc26d1993
AP_HAL_ChibiOS: add QSPI Device Driver in HAL
2021-06-30 19:33:17 +10:00
Siddharth Purohit
4cb48da984
modules: update ChibiOS
2021-06-30 19:33:17 +10:00
bugobliterator
7e8f11b749
AP_HAL_ChibiOS: allow embedded bootloader to be excluded
...
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-06-24 08:36:30 +10:00
Peter Barker
3ba57fed89
AP_HAL_ChibiOS: add support for AP_Logger into AP_Periph
2021-06-08 09:57:55 +10:00
Andrew Tridgell
c34d8e80e9
HAL_ChibiOS: fixed serial info indexing for EMPTY uarts
2021-06-05 18:52:33 +10:00
Andrew Tridgell
23c0f257b6
HAL_ChibiOS: default off serial protocols in AP_Periph
...
this allows for a GPS on high numbered ports
2021-06-01 09:19:51 +10:00
Andrew Tridgell
fced5271af
HAL_ChibiOS: expand pin map of G474 to cover 64 pin parts
2021-05-25 09:35:25 +10:00
Andrew Tridgell
ebe858f762
HAL_ChibiOS: auto-set HAL_LOGGING_ENABLED for AP_Periph builds
2021-05-19 17:38:47 +10:00
Andrew Tridgell
6b9e4161cb
HAL_ChibiOS: removed UDID_START from all MCU defs
...
use UID_BASE from ChibiOS headers
2021-05-09 06:44:19 +10:00
Andrew Tridgell
36d5c98e96
HAL_ChibiOS: default UDID_START to UID_BASE
2021-05-09 06:44:19 +10:00
Andrew Tridgell
03cae60471
HAL_ChibiOS: added STM32F732 support
2021-05-09 06:44:19 +10:00
Andrew Tridgell
61c829d624
HAL_ChibiOS: only use SRAM4 for DMA for now
...
we can enable others when we have an allocation interface that
specifies the peripheral type
2021-04-07 17:10:45 +10:00
Iampete1
2377d33417
AP_HAL_ChibiOS: H7 set SRAM4 to no cache and allow DMA
2021-04-07 17:10:45 +10:00
Andrew Tridgell
ffb2876f58
HAL_ChibiOS: disable unused ChibiOS features
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ff31e10d9e
HAL_ChibiOS: ensure that RCIN DMA channel is not shared
...
RCIN DMA cannot be shared as it runs all the time
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2842730868
HAL_ChibiOS: fixed F3 CAN build
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ac9e6ba86d
HAL_ChibiOS: fix label for CCM on G4
2021-03-23 12:01:20 +11:00
Andrew Tridgell
f57b1b9c4b
HAL_ChibiOS: support logical/physical CAN bus mapping
...
allow for first CAN interface to be CAN2 or CAN3
2021-03-23 12:01:20 +11:00
Andrew Tridgell
2f7ff778be
HAL_ChibiOS: fixed bug in DMA resolver
...
idsets can be empty for a peripheral
2021-03-23 12:01:20 +11:00
Andrew Tridgell
439a944801
HAL_ChibiOS: added support for STM32G474 MCU
2021-03-23 12:01:20 +11:00
Andy Piper
e1d71486e4
AP_HAL_ChibiOS: build fixes for ChibiOS 20.3.x
2021-03-23 12:01:20 +11:00
Andrew Tridgell
4fbdb59398
HAL_ChibiOS: prevent sharing the same DMA stream on TIMn_UP channels
...
this avoids an issue with DShot where we run the same DMA stream on
two timers at once
2021-03-02 11:58:38 +11:00
Andy Piper
6cb263056d
AP_HAL_ChibiOS: build fix for iomcu
2021-03-02 11:58:38 +11:00
Andy Piper
d0e4d510cf
AP_HAL_ChibiOS: order PWM timers by DMA UP stream id to prevent deadlocks in dshot
2021-03-02 11:58:38 +11:00
Andy Piper
f9c5f9be00
AP_HAL_ChibiOS: make dshot DMA unlock event driven in order to allow unlocking from rcout thread
...
refactor rcout into separate thread and process all dshot requests there
move uart DMA completion to event model
process dshot locks in strick reverse order when unlocking
convert Shared_DMA to use mutexes
move UART transmit to a thread-per-uart
do blocking UART DMA transactions
do blocking dshot DMA transactions
trim stack sizes
cancel dma transactions on dshot when timeout occurs
support contention stats on blocking locking
move thread supression into chibios_hwdef.py
invalidate DMA bounce buffer correctly
separate UART initialisation into two halves
cleanup UART transaction timeouts
add @SYS/uarts.txt
move half-duplex handling to TX thread
correct thread statistics after use of ExpandingString
set unbuffered TX thread priority owner + 1
correctly unlock serial_led_send()
don't share IMU RX on KakuteF7Mini
observe dshot pulse time more accurately.
set TRBUFF bit for UART DMA transfers
deal with UART DMA timeouts correctly
don't deadlock on reverse ordered DMA locks
change PORT_INT_REQUIRED_STACK to 128
2021-02-20 14:37:11 +11:00
Andrew Tridgell
9de1519928
HAL_ChibiOS: prevent hw flow control from hogging a DMA channel
...
When hw flow control is enabled check the CTS pin before we grab the
DMA channel to prevent a long timeout trying to send to a blocked port
from holding a DMA channel against another device
this fixes issue #16587
2021-02-15 07:23:56 +11:00
Andy Piper
2cdc202d19
AP_HAL_ChibiOS: use non-cachable SRAM3 for DMA on H743
...
Adjust SRAM1+SRAM2 to 256k as describe in the H743 reference manual
Provide access to mem_info() information
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2021-02-03 23:35:44 +11:00
Andy Piper
06a1500f98
AP_HAL_ChibiOS: ensure GPIO pins get undef'ed properly
...
minimise bi-directional dshot configs for:
CubeOrange
Durandal
MatekF405
MatekH743
OmnibusNanoV6
Pixracer
mRoPixracerPro
omnibusf4pro
CUAV-X7
2021-02-03 18:49:06 +11:00
bugobliterator
c02c546077
AP_HAL_ChibiOS: add support for inline comments in hwdef.dat
2021-01-18 09:37:11 +11:00
bugobliterator
41693403e2
AP_HAL_ChibiOS: retain memory of past conflicts in dma_resolver
2021-01-18 09:37:11 +11:00
bugobliterator
4346264113
AP_HAL_ChibiOS: ensure UP and CH timer channels share DMA for H7
2021-01-12 10:45:03 +11:00
Andrew Tridgell
afbdd69165
AP_HAL_ChibiOS: adjust stack sizes
2021-01-10 08:28:55 +11:00
Andy Piper
8fb403c569
AP_HAL_ChibiOS: make sure BDMA channels are not adjacent
2021-01-10 08:11:37 +11:00
Andy Piper
401e5c2073
AP_HAL_ChibiOS: add support for bidir DShot support in RCOutput
...
add support for sampling GPIO pins using timer
don't restart pwm group when not doing bi-dir
fix hwdef generation preproc for TIM DMA
decode telemetry at the start of the dshot cycle
calculate dshot pulse separation correctly and ensure we output rapidly enough
calculate dshot min periods and timeouts correctly
refactor dshot_send() into dshot_send_groups()
use bi-dir dshot channel mask
selectively enable bi-dir RC Channels
process bi-dir mask correctly when allocating DMA channels
allow UP and CH DMA channel sharing
optionally enable bidir vars in hwdef.
enable bi-dir dshot in KakuteF7Mini
enable bi-dir dshot in OmnibusF4Pro
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in MatekF405
enable bi-dir dshot in fmuv5
enable bi-dir dshot in fmuv3
enable bi-dir dshot in OmnibusF7V2
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in CubeOrange
enable bi-dir dshot in Pixracer
enable bi-dir dshot in mRoPixracerPro
Co-authored-by: bugobliterator <siddharthbharatpurohit@gmail.com>
2020-12-30 19:14:16 +11:00
Andy Piper
83c8807b39
AP_HAL_ChibiOS: when HAL_ENABLE_THREAD_STATISTICS is defined add ChibiOS thread stats to threads.txt
...
define HAL_ENABLE_THREAD_STATISTICS in hwdef.h
2020-12-30 18:15:05 +11:00
Phillip Kocmoud
062c6cef41
HAL_ChibiOS: Fix typo relating to pin PB7:I2C4_SDA
2020-12-23 06:43:19 +11:00
Tom Pittenger
da74d755d0
AP_HAL_ChibiOS: add new HAL_PWM_COUNT define
2020-12-21 18:27:07 -08:00
Andrew Tridgell
b4de6fb56a
HAL_ChibiOS: added new option DEFAULTGPIO for hwdef.dat
...
this allows ESD issues to be avoided by pulling all unused pins low
2020-12-08 11:21:57 +11:00
Andrew Tridgell
f44e4aaefb
HAL_ChibiOS: always set STM32_DMA_REQUIRED for non-bootloader
...
this fixes an issue for uart-only AP_Periph builds
2020-12-08 10:27:27 +11:00
Tom Pittenger
e235fd311e
AP_HAL_ChibiOS: fixed comment in script file
2020-12-03 20:33:51 +11:00
Andrew Tridgell
c778d14fd3
HAL_ChibiOS: enable stack checking on f303 boards
2020-12-01 11:14:50 +11:00
Andrew Tridgell
573cd6db6d
HAL_ChibiOS: adjust MAIN_STACK for more ISR stack
...
we need more stack to deal with interrupt nesting between CAN, system
timer and serial interrupts
2020-12-01 11:14:50 +11:00
Andrew Tridgell
4d171ec19a
AP_HAL_ChibiOS: support uartI, allowing a total of 9 uarts
...
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Marek Łukasiewicz
64f208cbec
HAL_ChibiOS: Add af_parse for CubeMX pinout csv
2020-11-18 18:39:07 +11:00
Marek Łukasiewicz
8813057b4c
AP_HAL_ChibiOS: Tweak sorting to be py2/py3 compatible
2020-11-12 10:27:31 +11:00
Andrew Tridgell
17b4198921
HAL_ChibiOS: add WITH_FATFS to environment
2020-11-10 16:15:45 +11:00
Andrew Tridgell
bb3b59966f
HAL_ChibiOS: define INS_MAX_INSTANCES if less than 3
...
save some flash and memory
2020-11-10 16:15:45 +11:00
Andrew Tridgell
46976c4358
HAL_ChibiOS: fixed remapping of ioline_t with BRD_ALT_CONFIG
...
when a peripheral is made available via BRD_ALT_CONFIG we need to
remap the existing ioline_t in the UART and I2C drivers to use the new
pin.
This fixes an issue with half-duplex, inverted, swapped UART pins for
protocols like FPort and FPort2
2020-10-28 19:51:45 +11:00
Andrew Tridgell
702a3926f8
HAL_ChibiOS: setup defines for more flow control pins
...
allow all uarts to have flow control
2020-10-03 20:22:56 +10:00
Andrew Tridgell
4b747430e1
HAL_ChibiOS: save 2k in f103 bootloader
...
don't include serial bl support if dev list is empty
2020-09-24 12:32:19 +10:00
Siddharth Purohit
a79efaeb1d
AP_HAL_ChibiOS: hwdef: add support for HAL CANIface based bootloader
2020-09-24 12:32:19 +10:00
Siddharth Purohit
882c86c394
AP_HAL_ChibiOS: add app start offset to leave space for params
2020-09-24 12:32:19 +10:00
Siddharth Purohit
62df67a4b8
HAL_ChibiOS: hwdef: modify to use HAL CAN driver instead of ChibiOS's
2020-09-24 12:32:19 +10:00
Andrew Tridgell
1ffbbb2896
HAL_ChibiOS: added FLASH_TOTAL to environment
2020-09-10 07:41:25 +10:00
Andrew Tridgell
491e82159c
HAL_ChibiOS: add HAL_WITH_SPI_xx defines for SPI devices
...
this allows us to avoid building drivers for SPI devices we don't
have, such as OSD
2020-09-02 05:56:46 +10:00
Siddharth Purohit
8dcb973dad
HAL_ChibiOS: fix SWD config in f3 boards
2020-08-20 19:08:14 +10:00
Siddharth Purohit
cdf8e369f1
AP_HAL_ChibiOS: create UAVCAN agnostic CANIface driver
...
HAL_ChibiOS
2020-08-19 17:31:09 +10:00
Andrew Tridgell
20b2396646
HAL_ChibiOS: fixed bug in undef of pins
...
revert pin to initial state on undef
2020-06-30 14:28:30 +10:00
Andrew Tridgell
61d036acf3
HAL_ChibiOS: added build time check for right system clock
...
this helps prevent cases where we underclock a chip due to mistake in
headers or hwdef.dat
2020-05-10 15:09:28 +10:00
Andrew Tridgell
2c26807736
HAL_ChibiOS: embed hwdef.dat in ROMFS for all boards
2020-04-29 07:36:55 +10:00
Andrew Tridgell
6bacf021c8
HAL_ChibiOS: disable thread_info in AP_Periph and bootloader
2020-04-29 07:36:55 +10:00
Andrew Tridgell
ea71b72c87
HAL_ChibiOS: fixed issue with I2C4 on H743
...
when both I2C4 and SPI4 are active on a H743 I found that some BDMA
completion interrupts were lost, which resulted in SPI transfer
timeouts. Close inspection of the ChibiOS BDMA, I2Cv3 and SPIv3
drivers did not reveal any issues, but I found that the issue only
happened when the first 4 BDMA streams were used. This change splits
the 4 streams across the first and 2nd half of the BDMA controller,
and that fixes the problem.
This works as there are only 2 peripherals (I2C4 and SPI6) that want
to use BDMA with our current setup. If we ever wish to enable ADC3
(which also uses BDMA) we will need to revisit this issue
2020-04-28 17:42:15 +10:00
Andrew Tridgell
a52070d226
HAL_ChibiOS: use SERIAL_ORDER instead of UART_ORDER
...
SERIAL_ORDER is much easier for developers to understand as it maps
directly to the SERIALn_ parameters
2020-04-28 10:32:23 +10:00
Andrew Tridgell
82c45f6cdb
HAL_ChibiOS: default STM32_VDD to 3.3V
2020-04-28 10:32:23 +10:00
Andrew Tridgell
2165fd66f1
HAL_ChibiOS: define FLASH_RESERVE_END_KB
2020-04-14 10:02:51 +10:00
bugobliterator
ef91f1634b
HAL_ChibiOS: add support for adding board validation test
2020-04-10 07:04:21 +10:00
Andrew Tridgell
e0957c2bcc
HAL_ChibiOS: include hwdef.dat in ROMFS
...
this allows download via ftp
2020-03-28 15:28:03 +11:00
Andrew Tridgell
ea57b7b3cd
HAL_ChibiOS: embed ROMFS files from hwdef directory
...
this allows for a scripts/ directory under hwdef board directory to
embed lua scripts
2020-03-28 15:28:03 +11:00
Andy Piper
3d0cf7e12a
AP_HAL_ChibiOS: hardware M4-Cortex and M7-Cortex (and H7) implementation of HAL FFT abstraction
...
implements an FFT engine based on the betaflight feature using ARM hardware accelerated CMSIS library
make the FFT feature optional
add dynamic gyro windows
add quinns and candans estimators and record in DSP state
disable DSP for boards with limited flash
calculate power spectrum rather than amplitude
start/analyse version of analysis to support threading
allocate memory in a specific region
constrain window size by CPU class
control inclusion of DSP based on board size
2020-02-22 11:15:37 +11:00
Matt Lawrence
e6f32f4572
AP_HAL_ChibiOS: Fix waf --default-parameters
...
If a defaults.parm file was present in the hwdef, waf ignored the --default-parameters=xyz.parm command line argument. This will allow it to use that command line argument specified file.
2020-02-11 11:00:01 +11:00
Andrew Tridgell
7a812a5516
HAL_ChibiOS: use cortex m7 instructions on F7/H7
2020-01-25 08:50:09 +11:00
Andrew Tridgell
320a703afc
HAL_ChibiOS: fixed UART DMA config for ALT() pins
2020-01-19 07:24:57 +11:00
Andrew Tridgell
f7a65afa67
HAL_ChibiOS: allow for baro with no arguments
2020-01-18 17:00:44 +11:00
Andrew Tridgell
43172bdd57
HAL_ChibiOS: switch non-composite USB ID
...
use newly allocated 0x1209/0x5740
2020-01-06 11:43:15 +11:00
Andrew Tridgell
793b867706
HAL_ChibiOS: switched to new USB VID for dual-CDC boards
2020-01-06 09:55:26 +11:00
Andrew Tridgell
ab0f1a8887
HAL_ChibiOS: added max uarts check
2020-01-03 17:32:23 +11:00
Andrew Tridgell
296a4cb086
HAL_ChibiOS: re-format and fix chibios_hwdef.py for flake8
2020-01-02 09:52:57 +11:00
Andrew Tridgell
9c2b5a05bd
HAL_ChibiOS: fixed python3 error
2020-01-02 09:52:57 +11:00
Andrew Tridgell
c5df48faa7
HAL_ChibiOS: break out make_line() for PAL_LINE defines
2020-01-02 09:52:57 +11:00
Andrew Tridgell
66dd5925cf
HAL_ChibiOS: added support for alternative pin configs
2020-01-02 09:52:57 +11:00
Andrew Tridgell
a30e637484
HAL_ChibiOS: fixed bug in UART pin assignment
...
this fixes an issue with the setting of pullup/pulldown on UARTs. It
also adds enforcement of DMA assignment for DMA required peripherals
2020-01-02 09:52:57 +11:00
Andrew Tridgell
faf34970e1
HAL_ChibiOS: automatically control pullup/pulldown on inverted UARTs
...
this makes setup of sport telemetry much easier
2020-01-02 09:52:57 +11:00
CUAVcaijie
2df2e5c275
HAL_ChibiOS: Fix DMA of SPI1 TX on STM32F412
2019-12-26 15:50:18 +11:00
Andrew Tridgell
58292821b3
HAL_ChibiOS: fix DMA on UARTs for F303
2019-12-26 10:42:48 +11:00
Andrew Tridgell
652d137594
HAL_ChibiOS: fixed DMA channels for f3 USART2
2019-12-26 10:42:48 +11:00