Andrew Tridgell
64cd58c21a
ChibiOS: disable DMA on I2C on F7 and H7 by default
...
this was already done on many (most?) boards, and greatly reduces DMA
sharing which improves performance of UARTs. This changes the default
to no DMA on I2C
2023-04-25 14:19:09 +10:00
Andrew Tridgell
5024261e2e
HAL_ChibiOS: fixed hwdef DMA resolver dependency on python2/python3
...
we need to use sorted keys in dictionaries to ensure we end up with
the same DMA mapping when using py2 and py3
fixes #15534
2023-04-25 11:30:56 +10:00
Henry Wurzburg
efd0937568
AP_HAL_ChibiOS: rename/remove HAL_BUZZER_ON to DEFAULT_BUZZ_ON_LVL
2023-04-23 11:19:50 +10:00
Henry Wurzburg
be94015dba
AP_HAL_ChibiOS: remove unused HAL_BUZZER_OFF defines
2023-04-22 13:51:09 +10:00
Tom Pittenger
20d89c510b
AP_HAL_ChibiOS: AP_KDECAN_ENABLE 0 by default
2023-04-17 11:52:52 +10:00
Andrew Tridgell
3f33457404
HAL_ChibiOS: fixed L4 mcu type detection
2023-04-14 07:48:56 +10:00
tsubashmail@gmail.com
ae9e15ade5
HAL_ChibiOS: port for STM32L4+ processor
...
Added support for stm32l4+ processor
- Added scripts for hwdef generation
- Tested in custom hardware prototype (stm32l4r5vit6)
- Tested all peripherals and auto pilot modes.
2023-04-14 07:48:56 +10:00
Andy Piper
a115681373
AP_HAL_ChibiOS: add support for building USB MSD
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
39b226c46b
AP_HAL_ChibiOS: support EXPECTED_CLOCKS and assert on meaningful ones for H7
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
bugobliterator
97f92d9354
AP_HAL_ChibiOS: add support for initialising extra sensors as AUX
2023-03-23 13:53:44 +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
1326d1c3df
AP_HAL_ChibiOS: tidy enablement RC FastSBUS support
...
use the the hwdef to turn it off on IOMCU
2023-03-21 12:08:06 +11:00
Peter Barker
144c3ef42c
AP_HAL_ChibiOS: add and use option to compile SLCAN support out of code
2023-03-15 19:08:09 +11:00
Peter Barker
5576595006
AP_HAL_ChibiOS: specify AP_EXTERNALAHRS_ENABLED for periph in chibios_hwdef.py
2023-03-12 09:35:35 +11:00
Peter Barker
1b75f564f0
AP_HAL_ChibiOS: specify compass feature enables for periph in chibios_hwdef.py
2023-03-12 09:35:35 +11:00
Peter Barker
48ec224b8c
AP_HAL_ChibiOS: specify AP_BATTERY_ESC_ENABLED for periph in chibios_hwdef.py
2023-03-12 09:35:35 +11:00
Peter Barker
f58f8841a1
AP_HAL_ChibiOS: specify HAL_SUPPORT_RCOUT_SERIAL for periph in chibios_hwdef.py
2023-03-12 09:35:35 +11:00
Peter Barker
18b574a400
AP_HAL_ChibiOS: specify AP_STATS_ENABLED for periph in chibios_hwdef.py
2023-03-12 09:35:35 +11:00
Peter Barker
806f0bf97a
AP_HAL_ChibiOS: specify HAL_GENERATOR_ENABLED for periph in chibios_hwdef.py
2023-03-12 09:35:35 +11:00
Peter Barker
b52f54d480
AP_HAL_ChibiOS: add defines for all battery backends
2023-03-10 08:48:24 +11:00
Peter Barker
f47e60d1ea
AP_HAL_ChibiOS: add and use AP_WINCH_ENABLED
2023-03-03 20:59:06 +11:00
Andy Piper
59c59b8b28
AP_HAL_ChibiOS: support more configurations with betaflight conversion tool
2023-03-02 07:57:34 +11:00
Peter Barker
21836d792a
AP_HAL_ChibiOS: remove calls to save_fault_watchdog if on bootloader
2023-03-01 12:01:03 +11:00
Peter Barker
48639c6810
AP_HAL_ChibiOS: add SD card support to bootloader
2023-02-28 11:26:04 +11:00
Peter Barker
8b70587092
AP_HAL_ChibiOS: rename HAL_SCHEDULER_ENABLED to AP_SCHEDULER_ENABLED
...
there's AP_HAL::Scheduler which confuses this
2023-02-28 11:26:04 +11:00
Peter Barker
8d29116982
AP_HAL_ChibiOS: add more comments to generated hwdef.h
...
End-delimiters for e.g. AP_Periph defaults etc
2023-02-28 11:26:04 +11:00
Peter Barker
d72d02ca47
AP_HAL_ChibiOS: remove convenience debug code based on new define
...
bootloaders (at least the ones that need to fit into 16kB pages) don't really have the space for this sort of debug.
I figure if you're debugging a bootloader fault you probably have the know-how to get his information yourself based on the code now being excluded, or add it back in.
2023-02-26 17:20:23 +11:00
bugobliterator
090ef6f2e4
AP_HAL_ChibiOS: add HAL_WITH_MCU_MONITORING define for H757
2023-02-11 16:07:07 +11:00
Tom Pittenger
b0f0733ec3
A_HAL_ChibiOS: add HAL_NMEA_OUTPUT_ENABLED 0
2023-02-07 21:12:07 +11:00
Peter Barker
dd139a3a63
AP_HAL_ChibiOS: gate mavlink things on HAL_GCS_ENABLED, not HAL_BOOTLOADER_BUILD
2023-02-01 18:46:28 +11:00
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