Commit Graph

511 Commits

Author SHA1 Message Date
Peter Barker 4bcd4decb1 AP_HAL_ChibiOS: add and use AP_RCPROTOCOL_ENABLE_SET_RC_PROTOCOLS 2023-05-26 14:26:27 +10:00
bugobliterator b5617a9ff8 Revert "AP_HAL_ChibiOS: disable watchdog in hwdef.h not in-line in code"
This reverts commit ccfad8ceea.
2023-05-23 09:00:11 +10:00
Peter Barker 0c7a16b03d AP_HAL_ChibiOS: use chibios_hwdef to define NOTIFY_LED_OVERRIDE_DEFAULT 2023-05-18 07:53:22 +10:00
Peter Barker 586851e40f hwdef: create and use convenient is_periph_firmware method 2023-05-17 18:39:51 +10:00
Peter Barker 30131a2f36 AP_HAL_ChibiOS: replace HAVE_FILESYSTEM_SUPPORT with backend defines 2023-05-17 09:40:39 +10:00
Peter Barker 6aeeb3d51d AP_HAL_ChibiOS: consolidate AP_Periph serialmanager defaults 2023-05-16 10:16:10 +10:00
Peter Barker 2d7123fcff AP_HAL_ChibiOS: add and use AP_RCPROTOCOL_ENABLED 2023-05-16 09:16:37 +10:00
Henry Wurzburg d0ac8f3016 AP_HAL_ChibiOS: normalize SerialManagers ports defaults to allow inclusion in hwdefs 2023-05-11 18:45:53 +10:00
Peter Barker db6deee9e1 hwdef: chibios_hwdef.py becomes a library 2023-05-10 17:14:43 +10:00
Andy Piper d69b8c2693 AP_HAL_ChibiOS: fix usage of ADC2 and ADC3 in STM32H730 2023-04-28 08:31:15 +10:00
Andy Piper e6c1897dd3 AP_HAL_ChibiOS: provide complete ADC2/ADC3 maps for STM32H750 and STM32H743
Fix dummy pin generation
2023-04-28 08:31:15 +10:00
Andy Piper 26c59349d5 AP_HAL_ChibiOS: use HAL_XIP_ENABLED to denote running in external flash 2023-04-28 08:31:15 +10:00
Andy Piper 5b43926d0a AP_HAL_ChibiOS: for H730/H750 running in XIP mode do not reset clocks
create mcuconf file for STM32H730 (type2)
allow OTG2 to be used as OTG1 on MCUs that need it
remove redundant OTG enablement
2023-04-28 08:31:15 +10:00
Andy Piper 798fc05ba8 AP_HAL_ChibiOS: clean up linker map on H730 and H750
use regular ChibiOS RAM areas for RAM functions
exclude board.o from RAM functions and add some comments
use separate linker script for H750
use correct RAM area for process stack on H750/H743
update EXCLUDE items to put __early_init in flash on H730 and H750
optimize H730 ramfunc usage
2023-04-28 08:31:15 +10:00
Andy Piper 8b8f5eadd6 AP_HAL_ChibiOS: detect QSPI and OSPI separately for setting NO_RESET 2023-04-28 08:31:15 +10:00
Andy Piper 8ef92805e1 AP_HAL_ChibiOS: support for OCTOSPI 2023-04-28 08:31:15 +10:00
Andy Piper 61e70a5fb1 AP_HAL_ChibiOS: add support in hwdef for OCTOSPI 2023-04-28 08:31:15 +10:00
Andy Piper f8dd6a1b2a AP_HAL_ChibiOS: rename QSPIDevice to WSPIDevice 2023-04-28 08:31:15 +10:00
Andy Piper cc086ab8d4 AP_HAL_ChibiOS: support for STM32H730xx MCUs
correct calculation of advanced timers
add support for linker script configuration in mcu config script
use linker script configuration for H750 and H730
add single OTG_HS support on H730 via OTG2
make sure complimentary channels get advanced timers
complemntary timers do not require advanced mode
allow custom clockspeeds of 550Mhz
correct debug pins on H730
support custom clockrate of 520Mhz on H730
correct H730 USB end point pins
restructure linker script for STM32H730
allow chibios_hwdef.py to set advanced timer on L431
don't define RAMFUNC on STM32H730
clock tree for STM32H730
create non-cacheable memory area for SDMMC DMA
don't look for RAM_MAP in bootloader with external flash
2023-04-28 08:31:15 +10:00
Peter Barker 1f3aecf41b AP_HAL_ChibiOS: use defaults to turn off CRSF telem on IO firmware 2023-04-27 18:31:30 +10:00
Peter Barker 926c7d64b1 AP_HAL_ChibiOS: add and use AP_BOOTLOADER_FLASHING_ENABLED 2023-04-26 22:55:36 +10:00
bugobliterator 0343b789e6 AP_HAL_ChibiOS: add support for mixed internal and external flash 2023-04-26 18:04:00 +10:00
bugobliterator 626fd9e77f AP_HAL_ChibiOS: add support for marking ADC pins with identifier 2023-04-26 18:04:00 +10:00
bugobliterator 726dcda24f AP_HAL_ChibiOS: add support for using ADC2 and ADC3 on H7 2023-04-26 18:04:00 +10:00
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