Commit Graph

2446 Commits

Author SHA1 Message Date
Andrew Tridgell a0c867bce7 HAL_ChibiOS: disable interrupts during flash operations
we have now shown that interrupts being enabled during flash
operations can cause the infamous "68ms" bug, or watchdog when using a
32 bit timer on boards using flash for storage

The issue is quite repeatable with a load of a very large waypoint
file (over 500 waypoints) using "wp ftpload" in MAVProxy. This puts a
huge load on flash storage.

Our current working theory is that while doing flash writes for
storage on dual-bank we block access to only one bank, so if another
thread uses a timeout function with a short timeout while the flash
write is happening and chVTDoTickI calls code which crosses the flash
bank boundary then it can cause chVTDoTickI to violate the assumption
that no more than CH_CFG_ST_DELTA ticks pass while it is calculating
the value to set in the system timer. In that case we get a delay of a
full timer wrap, which is 68ms on boards with 16 bit timer and 70
minutes on boards with 32 bit timer
2022-04-05 17:46:52 +10:00
Andrew Tridgell f6f6521b28 Revert "hwdef: changed MatekH743 to a 32 bit timer"
This reverts commit 7dc5911572.
2022-04-05 17:46:52 +10:00
Andrew Tridgell 5ef9c5aaa5 HAL_ChibiOS: constrain more timer timeouts 2022-04-05 17:46:52 +10:00
Andrew Tridgell 4c977eb7a0 HAL_ChibiOS: prevent long timeouts in DShot
this prevents bad calculated timeouts in DShot. The timeout would
sometimes come out as 0xFFFFFFFF, which led to an assert and could
block the thread

This fix is meant to be minimilistic to allow it to be merged easily
into 4.2. A better fix would fix all the uint32_t wrap handling in
DShot
2022-04-05 17:46:52 +10:00
Lokesh Ramina 11b3eccf66 AP_Periph: Hwdef CarbonixL496 update
Modification of CarbonixL496 to add more features.
Features:
To use internal clock of MCU, Oscillator value is set to 0.
LED pin changed from PA13 to PA15
Enabled  JTAG
Add interface to GPS and ADSB.
2022-04-05 09:57:02 +10:00
Andrew Tridgell 1c5a954b24 HAL_ChibiOS: incorrect class of class in uart TX timeout
need to call chEvtGetAndClearEventsI() as we are in a system lock
state
2022-04-04 16:59:38 +10:00
Mirko Denecke c1e0e9c305 AP_HAL_ChibiOS: fix ms5611 probe for NucleoH743 2022-03-31 16:31:13 +11:00
Andy Piper 23f8a00619 AP_HAL_ChibiOS: use narrower bitwidths for dshot and LEDs to allow more accurate prescaler calculation 2022-03-30 17:11:09 +11:00
Henry Wurzburg 479b02e5b0 HWDEF: add SLCAN OTG port, correct defaults.param errors 2022-03-29 10:43:51 +11:00
Andy Piper eb996f28cc AP_HAL_ChibiOS: spro H7 extreme updates.
cannot currently use both IMUs on spro H7 extreme due to CPU load
2022-03-29 10:39:35 +11:00
Andy Piper 4fa0e275fd AP_HAL_ChibiOS: fix ESCs constantly arming on rover with dshot commands
make sure debug will compile
take into account active channels when configuring bdshot
add channel mask debug output
correct set bdshot telemetry position at startup
make sure all channels in a bdshot group are pulled high to prevent spurious pulses
2022-03-29 10:29:31 +11:00
Peter Barker 29c2c40c41 hwdef: enable both OreoLED and Solo gimbal on fmuv3
for users running fmuv3 on their Solo
2022-03-29 08:24:59 +09:00
Peter Barker a30f33a674 hwdef: enable both OreoLED and Solo gimbal on CubeOrange
for users who have replaced their CubeSolo with a CubeOrange
2022-03-29 08:24:59 +09:00
Peter Barker f186f612f9 AP_HAL_ChibiOS: enable Solo Gimbal only on CubeGreen 2022-03-29 08:24:59 +09:00
Andrew Tridgell 7dc5911572 hwdef: changed MatekH743 to a 32 bit timer
the 68ms issue is still present on this board. Switching to a 32 bit
timer will fix it, but loses us the tonealarm support
2022-03-29 07:45:23 +11:00
Andrew Tridgell 4564140745 HAL_ChibiOS: display source of RC input
distinguish between IOMCU, RCInput with bytes and RCInput with pulses
2022-03-28 17:09:26 +11:00
Andrew Tridgell b46b0d61a6 HAL_ChibiOS: switch between IOMCU and RCProt rapidly
keep the RCProtocol decoder going when IOMCU being used, allowing for fast failover
between IOMCU RC input and uart RC input
2022-03-28 17:09:26 +11:00
Andrew Tridgell 7947494cab HAL_ChibiOS: prevent conflicting RC input
when we have RC from both IOMCU and from rcprotocol (eg. from
SERIALn_PROTOCOL=23) we need to only process one of them. This
prioritises IOMCU input
2022-03-24 16:09:43 +11:00
Andy Piper 458ff45fe6 AP_HAL_ChibiOS: correct channel offsets for dshot commands
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2022-03-24 11:20:09 +09:00
Randy Mackay 5561a5e82e AP_HAL_ChibiOS: reversible DShot fix
Co-authored-by: Andy Piper <github@andypiper.com>
2022-03-24 08:01:48 +09:00
MallikarjunSE bf0ce19942 hwdef: RM3100 no false rotation 2022-03-24 07:47:11 +11:00
MallikarjunSE 549883772c hwdef: RM3100 reversal mask 2022-03-24 07:47:11 +11: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
bugobliterator 7abcf9ec46 AP_HAL_ChibiOS: add CubeOrangePlus 2022-03-20 07:23:10 -07:00
Andrew Tridgell 54e4c6e1be hwdef: leave MatekL431 ROMFS uncompressed
this allows for bl update when low on memory
2022-03-19 12:06:04 +11:00
mateksys 35ed87a5db AP_HAL_ChibiOS: add MatekL431 AP_Periph hwdef 2022-03-19 12:06:04 +11:00
Peter Barker f7608c22da AP_HAL_ChibiOS: set pwm output values in simstate object 2022-03-17 14:39:55 +11:00
Peter Barker 8b2f85756a AP_HAL_ChibiOS: instantiate SIMState object in HAL 2022-03-17 14:39:55 +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
Andy Piper 222717cc88 AP_HAL_ChibiOS: add KakuteH7-bdshot target 2022-03-15 10:18:58 +11:00
Peter Barker 470cb2caa2 AP_HAL_ChibiOS: turn autocal off for periphs 2022-03-15 08:52:37 +11:00
李孟晓 81b129d3b3 AP_HAL_ChibiOS: CUAVv5: use icm42688p instead of icm20602 2022-03-15 05:59:14 +11:00
AndKe caaa5002ab AP_HAL_ChibiOS: add OREOLED to CubeGreen 2022-03-14 09:19:37 +11:00
iainguilliard ea0b6dfcb2 HAL_ChibiOS: add MatekF405-STD S7 PWM output
MatekF405-STD board has a pad for S7 PWM output from pin PB8 missing in hwdef
2022-03-13 14:00:26 +11:00
Peter Barker e486671bb2 AP_HAL_ChibiOS: correct #ifndef nesting in periph defaults 2022-03-13 13:23:51 +11:00
bugobliterator 6a0c46d241 AP_HAL_Periph: assert clock is FDCANCLK is 80MHz for H7 boards 2022-03-11 18:13:54 +11:00
bugobliterator 633eb0db8b AP_HAL_ChibiOS: move to using data_32 for copying into CANFD buffer 2022-03-11 18:13:54 +11:00
bugobliterator faf0c0d7c3 AP_HAL_ChibiOS: set canfd bitrates using CANFD_SUPPORTED opt 2022-03-11 18:13:54 +11:00
bugobliterator 4bdbd37731 AP_HAL_ChibiOS: use datalength when copying payload into CAN Frames 2022-03-11 18:13:54 +11:00
bugobliterator 90a660b445 AP_HAL_ChibiOS: update clock tree to have FDCAN Base clock at 80MHz 2022-03-11 18:13:54 +11:00
bugobliterator 47dd964e63 AP_HAL_ChibiOS: add init method to take in separate canfd bitrate 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
Siddharth Purohit 8aa047d876 AP_HAL_ChibiOS: add support for CANFD for H7 and G4 2022-03-11 18:13:54 +11:00
MallikarjunSE 228796d55b AP_HAL_ChibiOS: Add Sierra-F9P support 2022-03-10 08:29:51 +11:00
murata eb78a0a4a6 hwdef: Set the maximum number of barometric pressure sensors to 1 2022-03-08 14:21:31 -08:00
murata 60eb6ff1b7 hwdef: Maximum number of battery monitors is 1 2022-03-08 14:21:31 -08:00
Andrew Tridgell 74f1a8007d hwdef: enable GPS_MOVING_BASELINE on FreeflyRTK and f303-GPS
this allows for F9P based dual-GPS yaw on DroneCAN peripherals with
auto-config
2022-03-09 07:52:42 +11:00
Andrew Tridgell 86c25b98d5 hwdef: added HolybroG4_GPS 2022-03-09 07:51:35 +11:00
Andrew Tridgell 93031e297d HAL_ChibiOS: fixed min/max inversion in MCU voltage logging 2022-03-08 11:33:21 +11:00
MallikarjunSE 5cd1c7783d hwdef: hwdef update with watchdog 2022-03-07 16:15:41 +11:00
MallikarjunSE 360ddb2aed hwdef:update storage pages and enable watchdog 2022-03-07 16:15:41 +11:00
Andrew Tridgell 7999335727 hwdef: fixed buzzer on CUAV_GPS peripheral 2022-03-03 16:26:27 +11:00
Peter Barker 11f7cce978 AP_HAL_ChibiOS: allow specification of AUTOBUILD_TARGETS in hwdef files 2022-03-03 09:03:17 +11:00
Andy Piper d589c0fc5e AP_HAL_ChibiOS: normalize BeastH7v2 in line with BeastF7v2 definition 2022-03-02 15:46:17 +11:00
Evgeniy 32afbbdec4 AP_HAL_ChibiOS: BeastH7v2 board added 2022-03-02 15:46:17 +11:00
Andy Piper ed952a0ea0 AP_HAL_ChibiOS: allow flash to be write-protected/unprotected on reboot
control protection support via HAL_FLASH_PROTECTION
provide support for flash protection on SPRacingH7
SPRacingH7 bootloader needs to use w25q-dtr
2022-02-24 10:19:07 +11:00
Henry Wurzburg ac88f354fc hwdef: update Swan-K1 with new harmonic notch mask to avoid errors 2022-02-23 18:45:51 +11:00
Andy Piper 02219ba3e5 AP_HAL_ChibiOS: ensure chan_offset is initialized before using it 2022-02-23 18:35:43 +11:00
Andy Piper b6022ca5d4 AP_HAL_ChibiOS: add support for alternate alarm PWM group
account for inverted alarms and build on boards without PWM
enable alarm based on pwm
shutdown alarm channel if using a different one
2022-02-23 18:35:43 +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 fd8d28e23c HAL_ChibiOS: reduced time in critical sections for CAN processing 2022-02-19 18:24:56 +11:00
Andrew Tridgell 7e18d85f7e hwdef: added compat board ID for FreeFly RTK GPS 2022-02-17 14:37:41 +11:00
Andrew Tridgell f2308e96a9 HAL_ChibiOS: added stm32_was_software_reset() 2022-02-17 14:37:41 +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
Nathan Costa 9f7aa715b1 AP_HAL_ChibiOS: add support for CAN/I2C switch 2022-02-16 13:25:58 +11:00
Andy Piper 7b15245efe AP_HAL_ChibiOS: update SPRacingH7 Extreme hwdef and add README
add SPRacingH7 board layout
2022-02-15 11:32:52 +11:00
Andrew Tridgell 33ebc83a68 AP_HAL_ChibiOS: disable CAN filtering except on AP_Periph
this saves flash space and makes CAN forwarding for any bus without
reconfigure/reboot easy. CAN filtering is not useful in the main
flight controller firmware as we want to see nearly all packets
2022-02-12 16:36:05 +11:00
Andrew Tridgell 124c9d5d9b HAL_ChibiOS: support mavcan message forwarding 2022-02-12 16:36:05 +11:00
Andy Piper 89ba955419 AP_HAL_ChibiOS: only change SD card on external flash boards 2022-02-09 12:47:55 +00: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
MallikarjunSE a4b5bf1f4f hwdef: Update hwdef to have only mag and airspeed 2022-02-09 18:27:56 +11:00
Andrew Tridgell ef7e611aff HAL_ChibiOS: added cubemx file for F745-8MHz 2022-02-09 09:35:26 +11: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
Peter Barker 6e684b3496 hwdef: disable blheli on skyviper 2022-02-08 20:39:44 +11:00
Peter Barker 09c040891e hwdef: cap number of Compass, Baro and INS instances
saves flash as we don't have to have the parameter structures
2022-02-08 20:39:44 +11:00
Peter Barker 7f584ad2c8 hwdef: SkyViper gets COMPASS_MAX_SENSORS 1 2022-02-08 20:39:44 +11:00
Andy Piper 0e18bd450d AP_HAL_ChibiOS: fix bi-directional dshot on omnibusf4pro 2022-02-08 12:12:28 +11:00
Peter Barker b88bfa962b AP_HAL_ChibiOS: add and use AP_MOTORS_FRAME_DEFAULT_ENABLED 2022-02-08 11:06:24 +11:00
Joshua Henderson 3df82b26de hwdef: MatekF045-CAN remove unused define, set BATT_Default 0 2022-02-08 10:41:02 +11:00
Joshua Henderson ecacd513c2 hwdef: f405-MatekGPS add debug pin info, set default arspd, batt 0
and remove ADSB from build
2022-02-08 10:41:02 +11:00
Joshua Henderson 8505017d26 hwdef: Add f405-MatekAirspeed 2022-02-08 10:41:02 +11:00
Andy Piper ab25fc659a AP_HAL_ChibiOS: correct prescaler algorithm
remove redundant PWM reset
2022-02-07 12:56:30 +11:00
murata a6ea55735f AP_HAL_ChibiOS: Remove meaningless semicolons 2022-02-07 08:27:34 +09:00
Sam Chamberlin d73a45aa64 hwdef: add ARK_GPS 2022-02-03 18:36:02 +11:00
Joshua Henderson 204c26c53b hwdef: f103-RangeFinder, use AP_PERIPH_RANGEFINDER_PORT_DEFAULT 2022-02-02 18:45:59 +11:00
Joshua Henderson ed208687b4 hwdef: Pixracer-periph, use AP_PERIPH_RANGEFINDER_PORT_DEFAULT 2022-02-02 18:45:59 +11:00
Andrew Tridgell c2c94631e8 HAL_ChibiOS: added STM32CubeMX files for new F412 configs 2022-02-02 07:42:23 +11:00
Andrew Tridgell e07057d24f HAL_ChibiOS: support SDIO 48MHz clock on F412 2022-02-02 07:42:23 +11:00
TulleU 7907fd5729 AP_HAL_ChibiOS: revo-mini-i2c probe for external compasses
allow for probing of external compasses on i2c
2022-02-01 17:36:14 +11:00
Hwurzburg 0ea7044796 AP_HAL_ChibiOS: update option names in BATTMonitor in prep for expansion 2022-02-01 12:35:03 +11:00
Peter Barker 0eacc0348e AP_HAL_ChibiOS: remove HAL_COMPASS_DEFAULT define
this doesn't actually allow you to specify a default, despite the name
and a couple of hwdefs trying to use it that way.

This would have stopped being useful when we did the
compass-prority-table stuff - or before.
2022-02-01 12:10:38 +11:00
Peter Barker a4d2194f80 hwdef: SkyViper-v2450: enable only UBLOX and MAV GPS backends 2022-02-01 11:22:02 +11:00
mathieulohier bcc60d0945 hwdef: modalai_fc_v1 update documentation 2022-02-01 11:02:23 +11:00
Andrew Tridgell 563528dfc0 HAL_ChibiOS: update CubeMX files 2022-01-29 18:57:33 +11:00
Andrew Tridgell 00e32b52bf hwdef: removed unnecessary PLL overrides
now we've properly filled in the F4 clocks we can use normal PLL
settings
2022-01-29 18:57:33 +11:00
Andrew Tridgell 040ff007ea HAL_ChibiOS: fixed some F4 clocks, and support no crystal on F4
this fixes up some of the F4 varients that were running at the wrong
clock, and also gives support for running F4s with no crystal
2022-01-29 18:57:33 +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
Andrew Tridgell 1224ff48b3 hwdef: fixed VCC monitoring on AIRLink 2022-01-29 15:09:46 +11:00
Peter Barker da79a5ea78 hwdef: skyviper-v2450: exclude many build features 2022-01-27 20:58:24 +11:00
Kirill Shilov 477fb4c408 hwdef: AIRLink added default parameters files 2022-01-27 17:42:11 +11:00
Andrew Tridgell d71ec5bb4d HAL_ChibiOS: don't init RCOut twice
this triggered a watchdog if the dshot timer was already active, which caused
the neoled driver to prevent boot of the Matek F405 GPS
2022-01-27 08:26:47 +11:00
Andrew Tridgell 585ee5b2e4 hwdef: fixed rainbow effect on startup in CUAV_GPS 2022-01-27 08:26:47 +11:00
Andrew Tridgell e35514b551 HAL_ChibiOS: fixed neopixel control
fixes frequency setup for neopixel, separating out DShot setup. Also
allows for neopixel without other DMA controlled output types for LEDs
in AP_Periph
2022-01-27 08:26:47 +11:00
Peter Barker 51a9efe817 AP_HAL_ChibiOS: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
Hwurzburg c5a444e4a3 hwdef: correct Pixhawk5 3.3V analog in scale factor 2022-01-25 09:37:34 +11:00
ot0tot 13050b325b Tools: add JHEMCU GSF405A bootloader and ID 2022-01-19 18:31:05 +11:00
ot0tot 1a08a1e1a1 hwdef: add support for JHEMCU GSF405A 2022-01-19 18:31:05 +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
Hwurzburg 176de8aa86 AP_HAL_ChibOS: update hwdef,defaults.readme for KakuteH7 2022-01-18 11:05:38 +11:00
Andrew Tridgell d22e3a1f52 hwdef: fixed flash double reserve
fixes #19765, an alternative to #19768

the advantage of this approach is it is less error prone, as the
actual position and size of the storage sectors is calculated
2022-01-13 06:44:46 +11:00
Peter Barker 4c72d0f562 AP_HAL_ChibiOS: disable UART statistics on Hitec-Airspeed 2022-01-12 18:30:49 +11:00
Peter Barker 875f9a9497 AP_HAL_ChibiOS: add HAL_UART_STATS_ENABLED to disable stats gathering 2022-01-12 18:30:49 +11:00
Andy Piper 368a0c74a1 AP_HAL_ChibiOS: fix UART operation on original OmnibusNanoV6 2022-01-12 18:17:08 +11:00
Peter Barker 2af5c51ac7 AP_HAL_ChibiOS: save flash on the BeastF7v2
Note that many of these entries are already excluded by BeastF7 which
this hwdef inherits from
2022-01-11 13:25:13 +11:00
Andrew Tridgell 1ecb129afa hwdef: fixed 3 incorrect storage sizes
can't do 16384 in 16k sector flash storage
2022-01-11 11:33:30 +11:00
Andrew Tridgell d4eb2919ef hwdef: fixed HAL_STORAGE_SIZE for MatekF405-TE 2022-01-11 11:33:30 +11:00
Andrew Tridgell 59b2a30c11 HAL_ChibiOS: added check for valid HAL_STORAGE_SIZE 2022-01-11 11:33:30 +11:00
Andrew Tridgell de273fb76d hwdef: fixed f405-MatekGPS storage location and CAN
this allows for CAN firmware update using f405-MatekGPS bootloader by
fixing a typo, then moves storage to allow the bootloader with can to
fit on the board

this will allow CAN update of peripheral firmware for Matek GPS and
airspeed sensors
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
Andy Piper a533fadf1b AP_HAL_ChibiOS: support KakuteH7Mini 2022-01-11 10:58:55 +11:00
Peter Barker 03e9307bdd AP_HAL_ChibiOS: add MANUFACTURER and BRAND_NAME to PixRacer Pro 2022-01-07 22:46:52 +11:00
Peter Barker 81d205465c hwdef: remove OpticalFlow from builds in several low-flash boards 2022-01-06 13:35:51 +11:00
李孟晓 94b14ae60b hwdef: CUAV-Nora: Add servo voltage detection pin 2022-01-06 12:39:45 +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
MallikarjunSE adff48c3ea hwdef: remove Notify LEDs from Sierra-F405
NTF_LED_BRIGHT 2, NTF_LED_LEN 8 used to cause board to get stuck in bootloader on reboot.
2022-01-05 09:22:45 +11:00
Peter Barker f44335371f hwdef: set AP_OPTICALFLOW_ENABLED 0 for SkyViper-v2450 2022-01-04 11:01:40 +11:00
Andy Piper f9e14ffa30 AP_HAL_ChibiOS: add support BeastF7v2 2021-12-31 09:25:29 +11:00
MallikarjunSE 3ff9b76b08 AP_HAL_ChibiOS: Sierra-F405 support 2021-12-29 10:13:54 +11:00
MallikarjunSE eb8cfea507 AP_HAL_ChibiOS: Sierra-F412 support 2021-12-29 10:12:40 +11:00
Andrew Tridgell 61ecf0c443 HAL_ChibiOS: cleanup SDMMC enable defines
ensure both are set
2021-12-28 16:04:57 +11:00
Andrew Tridgell 146f394d64 HAL_ChibiOS: include fatfs format code 2021-12-28 16:04:57 +11:00
Andrew Tridgell 281f041abb hwdef: fixed debug pins on two boards bootloaders 2021-12-28 10:31:25 +11:00
Andrew Tridgell 6a2303f72d hwdef: enable telem3 (SERIAL5) TX on Pix32v5
this is now safe as we disable the TX/RX pins on ports with
SERIALn_PROTOCOL = -1

as this board defaults to protocol -1 for SERIAL5, we can enable this
if the user wishes to use telem3
2021-12-28 10:13:58 +11:00
Nikolay March cceae1acf3 hwdef: Redefine DMA priority PH4-mini
BUG.
Without redefining priority there is no DMA on any RX of serial ports.
Now it is.
Without DMA, you cannot normally use the serial port for the CRSF protocol.
2021-12-27 11:25:51 +11:00
mateksys be601acd89 AP_HAL_ChibiOS: add MatekF405-TE hwdef 2021-12-22 18:47:37 +11:00
Andy Piper 2fab99d647 AP_HAL_ChibiOS: remove redundant harmonics from DSP 2021-12-22 18:13:38 +11:00
Brad Stinson cd39110b68 hwdef: add support for PixC4-Jetson
add support for building IOMCU with F103 and 8MHz clock
2021-12-21 13:05:34 +11:00
Jaaaky f1f31c1aef AP_HAL_ChibiOS: Fix multi #include's 2021-12-21 10:38:46 +11:00
bugobliterator 62945e1d85 AP_HAL_ChibiOS: use common directory reference wrt hwdef scripts 2021-12-20 12:47:25 +11:00
Peter Barker a281c3ef91 AP_HAL_ChibiOS: remove stray 'No Crash Detected' diagnostic 2021-12-19 10:48:44 +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
Shiv Tyagi b2073e4e1c AP_HAL_ChibiOS: remove stray define HAL_PERIPH_ENABLE_BATTERY_MPPT_PACKETDIGITAL
We have removed the class AP_BattMonitor_MPPT_PacketDigital, hence this should be removed too
2021-12-17 20:24:25 +09:00
Stephen Dade fb5ac63a63 AP_HAL_ChibiOS: Fix get_options() to use uint16_t 2021-12-15 14:14:07 +11:00
Peter Barker 7cbe48d1f6 hwdef: fix CubeOrange-periph-heavy build 2021-12-14 14:11:35 +11: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
Andrew Tridgell c9b35ccfc8 hwdef: enable ESC telem on CarbonixL496 2021-12-10 08:11:24 -08:00
Andrew Tridgell 67649fe17d hwdef: added CarbonixL496 AP_Periph node 2021-12-07 10:23:54 +11:00
Andrew Tridgell c5fc2fa709 HAL_ChibiOS: enable DShot on L4 MCUs for AP_Periph 2021-12-07 10:23:54 +11:00
Andrew Tridgell fbadc24fca HAL_ChibiOS: support 12MHz crystal on L4xx MCUs 2021-12-07 10:23:54 +11:00
Andrew Tridgell 2c2369bf03 AP_HAL_ChibiOS: revert compass parameter changes 2021-12-04 16:51:53 +11:00
Randy Mackay ec6ea03b80 AP_HAL_ChibiOS: update CubeBlack-pinout image
CAN1 and CAN2 port labels have been swapped
2021-12-03 13:49:20 +09:00
Andrew Tridgell 05ec2be62b hwdef: updated KakuteH7 battery scale defaults
thanks to Vincent at Holybro
2021-12-02 18:17:49 +11:00
bugobliterator f9bb9b4fc0 AP_HAL_ChibiOS: log heap and bss memory regions if enough space 2021-12-01 18:17:50 +11:00
bugobliterator 4efe75683a HAL_ChibiOS: mention of HAL_CRASH_DUMP_FLASHPAGE not required 2021-12-01 18:17:50 +11:00
bugobliterator 878940292d HAL_ChibiOS: no need to mention END reserve for Crash Dump anymore 2021-12-01 18:17:50 +11:00
bugobliterator ee35350129 HAL_ChibiOS: setup for recording crashdump at the remaining flash space 2021-12-01 18:17:50 +11:00
bugobliterator 52c7886270 HAL_ChibiOS: fix issue with failing to write final buffer 2021-12-01 18:17:50 +11:00
bugobliterator eae3fb016f HAL_ChibiOS: dump per thread stack for crash 2021-12-01 18:17:50 +11:00
bugobliterator f02a7b560b AP_HAL_ChibiOS: update last_crash_dump api 2021-12-01 18:17:50 +11:00
Andrew Tridgell 312a6461b6 HAL_ChibiOS: enable UART7 on Swan-K1
useful extra UART for debug
2021-12-01 18:08:54 +11:00
Josh Henderson 34b3b7999e CubeYellow: define HAL_CHIBIOS_ARCH_CUBE 2021-11-30 10:20:54 +11:00
Josh Henderson 188c3a781e CubeSolo: define HAL_CHIBIOS_ARCH_CUBE 2021-11-30 10:20:54 +11:00
Josh Henderson e78edac2a0 CubePurple: define HAL_CHIBIOS_ARCH_CUBE 2021-11-30 10:20:54 +11:00
Josh Henderson b37c214f28 CubeOrange: define HAL_CHIBIOS_ARCH_CUBE 2021-11-30 10:20:54 +11:00
Josh Henderson db3be4d07c CubeBlack: define HAL_CHIBIOS_ARCH_CUBE 2021-11-30 10:20:54 +11:00
Josh Henderson c7b986f30a CubeYellow: set default EKF_IMU_MASK 2021-11-30 10:20:54 +11:00
Josh Henderson b8411c22c5 CubeOrange: set default EKF_IMU_MASK 2021-11-30 10:20:54 +11:00
Iampete1 0c519db602 hwdef: use new compass param names in defualts.parm 2021-11-30 08:14:43 +09:00
Peter Barker 7abf07f233 hwdef: remove unused HAL_NO_GCS defines
This became HAL_GCS_ENABLED, off by default on Periph
2021-11-26 12:25:40 +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
Peter Barker 5d005df92f AP_HAL_ChibiOS: rename HAL_AP_FETTEC_ONEWIRE_ENABLED to AP_FETTEC_ONEWIRE_ENABLED 2021-11-24 12:01:22 +11:00
Peter Barker 9a2d9898ba AP_HAL_ChibiOS: eliminate HAL_LOGGING_DATAFLASH
This define didn't add anything over HAL_LOGGING_DATAFLASH_ENABLED - and
predates it.
2021-11-23 11:24:46 +11:00
Andrew Tridgell 0b567e95dc hwdef: added OTG2 for MatekF765-SE 2021-11-22 22:48:59 +11:00
Andrew Tridgell fc6a82de1b AP_HAL_ChibiOS: support up to 9 UARTs 2021-11-22 22:48:59 +11:00
李孟晓 dfe2ade495 CUAV-X7: Add servo voltage detection pin 2021-11-22 16:39:15 +11:00
Peter Barker e7f1a273e5 AP_HAL_ChibiOS: remove unused pin-related defines
Unused
2021-11-20 11:08:48 +11:00
Andrew Tridgell fbeaa3be6b hwdef: change MatekH743 to -Os
leave space for more features
2021-11-17 19:39:26 +11:00
TunaLobster 11f98f7421 AP_HAL_ChibiOS: fix ADC scaling on IOMCU 2021-11-16 14:12:43 +11:00
Andrew Tridgell c3442d0143 hwdef: added alternative Durandal 20602 IMU 2021-11-11 08:28:51 +11:00
Jaime 5d117c6ae7 hwdef: CubeOrange Enable Serial2 and Serial3 in bootloader hwdef 2021-11-10 18:10:20 +11:00
bugobliterator b025c17ec4 AP_HAL_ChibiOS: add get_storage_ptr method 2021-11-10 17:21:35 +11:00
Kirill Shilov f97182f48a hwdef: AIRLink board support 2021-11-10 08:47:21 +11:00
Andrew Tridgell f7bc7b0d9b HAL_ChibiOS: support more enable pins for late enable 2021-11-10 08:47:21 +11:00
Randy Mackay 9c1ca781f6 AP_HAL_ChibiOS: update for renamed BRD_HEAT_ parameters 2021-11-09 08:02:57 +09:00
Andrew Tridgell 61ffe188d4 HAL_ChibiOS: implement disable_rxtx() 2021-11-07 07:00:35 +11:00
Andrew Tridgell 97aee6f45e HAL_ChibiOS: fixed regex error for GPIOs 2021-11-07 07:00:35 +11:00
Andrew Tridgell 8a4001817b HAL_ChibiOS: added support for Pixhawk5X 2021-11-05 14:30:43 +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 7f2bcf927c HAL_ChibiOS: allow setting of armed pin 2021-11-05 14:30:43 +11:00
Andrew Tridgell c77dfae9a4 HAL_ChibiOS: adjust modalai for INA2xx batt mon change 2021-11-05 14:30:43 +11:00
bugobliterator 418ac60373 AP_HAL_ChibiOS: disable watchdog when DISABLE_WATCHDOG is defined 2021-11-05 07:38: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
QioTek 952a827287 HAL_ChibiOS: fixed orientation of ADI1674X and optimize SPI3 DMA
HAL_ChibiOS: fixed orientation of ADI1674X and optimize SPI3 DMA
2021-10-31 08:42:05 +11:00
bugobliterator 57e1fb1a81 HAL_ChibiOS: disable building CrashCatcher for non 2M boards 2021-10-30 19:24:57 +11:00
bugobliterator 91fdf6e875 HAL_ChibiOS: fix issue with writing the last byte 2021-10-30 19:24:57 +11:00
bugobliterator a28bf358d1 HAL_ChibiOS: skip compiling last_crash_dump if bootloader and GCS disabled 2021-10-30 19:24:57 +11:00
bugobliterator 8651d99de6 HAL_ChibiOS: move to using parameter STORAGE_FLASH_PAGE instead of define 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 909f59f0e0 HAL_ChibiOS: fix build with boards without HAL_CRASH_SERIAL_PORT 2021-10-30 19:24:57 +11:00
bugobliterator a6b2018cbf HAL_ChibiOS: fix build and serial crash dump for F4 based boards 2021-10-30 19:24:57 +11:00
bugobliterator 7d199f3e51 HAL_ChibiOS: record info into watchdog as well 2021-10-30 19:24:57 +11:00
bugobliterator 13c83f7010 HAL_ChibiOS: remove build of Crash dump to flash methods when !defined(HAL_CRASH_DUMP_FLASHPAGE) 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 b2ffc12092 HAL_ChibiOS: define flash page for dumping crash log 2021-10-30 19:24:57 +11:00
bugobliterator 29568a23ae HAL_ChibiOS: fetch crash_dump stored in flash 2021-10-30 19:24:57 +11:00
bugobliterator bd08d2d257 HAL_ChibiOS: move crashcatcher methods out from system.cpp into hwdef common 2021-10-30 19:24:57 +11:00
bugobliterator 7c96f295b3 HAL_ChibiOS: use CrashCatcher's hardfault method to log and dump crashes 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
bugobliterator c32bd845f2 HAL_ChibiOS: build crashcatcher lib alongside chibios 2021-10-30 19:24:57 +11:00
Andrew Tridgell a0b662f161 hwdef: fixed reported flash on boards with storage at end of flash
this was in hwdef-bl.dat but had been left out of hwdef.dat which led
to flash_free being wrong in apj file
2021-10-29 18:28:36 +11:00
Andrew Tridgell b94d6b064f HAL_ChibiOS: convert some hwdef.dat to unix line endings 2021-10-26 15:56:53 +11:00
Andrew Tridgell 80836ca1d9 HAL_ChibiOS: simplify AP_Periph hwdef.dat 2021-10-26 15:56:53 +11:00
Andrew Tridgell 68146d541c HAL_ChibiOS: removed boilerplate lines from bootloaders 2021-10-26 15:56:53 +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
Michel Pastor 876f478ae1 RCOutput: fix motor stopping with rev thrust and full throttle 2021-10-26 10:53:34 +11:00
Hwurzburg e7a157283f AP_HAL_ChibiOS: add param for second IMU primary in Swan-K1 hwdef 2021-10-26 10:38:28 +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
kniuk aabb6f7c59 AP_HAL_ChibiOS: add alt config GPIO to Matek F765-Wing
Based on new functionality introduced in #18753
2021-10-26 10:05:20 +11:00
Andrew Tridgell 822e657a70 HAL_ChibiOS: increase PROCESS_STACK on several boards
use min of 0xA00 for AP_Periph. A larger stack is needed for parameter
fetching
2021-10-20 19:06:35 +11:00
Iampete1 8459439798 AP_HAL_ChibiOS: CubeYellow: set default IMU arming temp margin 2021-10-19 11:16:45 +11:00
Iampete1 8e381b6017 AP_HAL_ChibiOS: CubeSolo: set default IMU arming temp margin 2021-10-19 11:16:45 +11:00
Iampete1 a004de65b3 AP_HAL_ChibiOS: CubePurple: set default IMU arming temp margin 2021-10-19 11:16:45 +11:00
Iampete1 e3289d2aec AP_HAL_ChibiOS: CubeBlack: set default IMU arming temp margin 2021-10-19 11:16:45 +11:00
Iampete1 5d5a21a4ec AP_Hal_ChibiOS: CubeOrange: set default min IMU temp margin 2021-10-19 11:16:45 +11:00
QioTek fd2195d6fe HAL_ChibiOS: added QioTekZealotH743 support 2021-10-19 08:17:43 +11:00
Andrew Tridgell 7aa968329c HAL_ChibiOS: added Nucleo-L476 target 2021-10-17 20:30:20 +11:00
Andrew Tridgell c8664e0b98 HAL_ChibiOS: added STM32L476 support 2021-10-17 20:30:20 +11:00
Andrew Tridgell 655c757c22 HAL_ChibiOS: added Sierra-L431 peripheral 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 f1ea4f5d01 HAL_ChibiOS: use a 16 bit sysinterval_t on 16 bit timers
prevent mixed size subtraction errors
2021-10-17 20:29:42 +11:00
bugobliterator 5fa50c419d AP_HAL_ChibiOS: account for TXFIFO when doing flow control detection 2021-10-15 19:57:55 +11:00
Andrew Tridgell d1c7ed1c82 HAL_ChibiOS: make it clear how to enable parameter backup on CubeBlack
uses 16k more ram, but allows auto-restore of corrupted params
2021-10-12 22:08:13 -04:00
Andrew Tridgell 84bbc707fc AP_HAL_ChibiOS: added stack logging 2021-10-12 16:04:06 +11:00
auturgy 7c3c3a0a41 HAL_Chibios: support modalai_fc-v1 flight controller
Based on M0018 version. Thanks to ModalAI for assistance
2021-10-12 15:47:51 +11:00
Andrew Tridgell 6fa9768eab HAL_ChibiOS: support GPIO get_mode and set_mode 2021-10-12 15:47:51 +11:00
Andrew Tridgell 25324ae0e2 HAL_ChibiOS: support SDMMC2 for sdcard 2021-10-12 15:47:51 +11:00
Andrew Tridgell d962e094e7 HAL_ChibiOS: change RCIN PULLUP to PULLDOWN
this makes us more consistent between boards
2021-10-12 11:52:36 +11:00
Andrew Tridgell 47da7f5c9b HAL_ChibiOS: change RCIN FLOAT to PULLDOWN
this lowers the chance of noise on a RCIN pin causing incorrect
protocol detection
2021-10-12 11:52:36 +11:00
Nick Exton ffa2bba35c HAL_ChibiOS: add missing return to Dual CDC get_usb_baud() 2021-10-12 10:54:44 +11:00
Andrew Tridgell e6aae3caf6 HAL_ChibiOS: fix G4 I2c bus speeds 2021-10-12 10:54:07 +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
bugobliterator fc4d59c5a4 HAL_ChibiOS: setup hw random number generator for stm32 chips 2021-10-07 19:43:11 +11:00
bugobliterator 792e6666a3 HAL_ChibiOS: add random number generator implementation for ChibiOS 2021-10-07 19:43:11 +11:00
Iampete1 9751cb5b24 AP_HAL_ChibiOS: move is_dshot_protocol up to AP_HAL 2021-10-06 18:59:57 +11:00
Iampete1 f7cba024c1 AP_HAL_ChibiOS: AnalogSource: check for valid pin 2021-10-06 18:42:51 +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 52124cf602 HAL_ChibiOS: fixed f1 bootloader build errors 2021-10-06 06:44:36 +11:00
Andrew Tridgell 8deaa1b46b HAL_ChibiOS: fixed warning for USB 2021-10-06 06:44:36 +11:00
Andrew Tridgell 4daf4ad501 HAL_ChibiOS: lock in no warnings for chibios RTOS build 2021-10-06 06:44:36 +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 f0a284c1e7 AP_Hal_ChibiOS: R9Pilot: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 0143518954 AP_Hal_ChibiOS: mRoControlZeroF7: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 a282a39866 AP_Hal_ChibiOS: F4BY: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 6f1f26a72a AP_Hal_ChibiOS: CubeOrange: add OUTPUT to GPIO 2021-10-05 15:46:02 +11:00
Iampete1 5848510876 AP_HAL_ChibiOS: set flow control disabled if no RTS line 2021-10-05 12:11:47 +11:00
Michel Pastor a9fed2f9bc RCOutput: fix full throttle bug 2021-10-05 11:47:04 +11:00
Andrew Tridgell c15221fd53 HAL_ChibiOS: fixed orientation of ICM42605 on QiotekZealotF427 2021-10-03 14:00:09 +11:00
Andrew Tridgell 6953778b4c HAL_ChibiOS: use micros16() for blheli pass-thru IRQ
saves some IRQ overhead, makes time handling more consistent
2021-10-02 18:26:39 +10:00
Andrew Tridgell 5714ee113f HAL_ChibiOS: added micros16() method 2021-10-02 18:26:39 +10:00
Andrew Tridgell 2aef3364bc HAL_ChibiOS: optimisation for AP_HAL::micros() on systems with 32 bit timers
most ChibiOS boards have a 32 bit timer. This optimisation reduces the
cost of micros() from 0.3us to 0.06us, which is significant in
interrupt handlers and for accurate timing. It takes advantage of the
timer being 32 bit with 1MHz clock
2021-10-02 18:26:39 +10:00
bugobliterator dd9f513aa5 AP_HAL_ChibiOS: setup led control via lua script for HerePro 2021-09-30 08:52:27 +10:00
Iampete1 b6de44cc7b AP_HAL_ChibiOS: CubeOrange: add alt config for telem1 RTS CTS as GPIO 2021-09-29 19:55:21 +10:00
Iampete1 8ae5bc5ad0 AP_HAL_ChibiOS: hwdef: allow GPIO alt config 2021-09-29 19:55:21 +10:00
Iampete1 a96150a528 AP_HAL_ChibiOS: allow enabling GPIO as alt config 2021-09-29 19:55:21 +10:00
Iampete1 dc45a113f9 AP_HAL_ChibiOS:UARTDriver: allow re-defintion of RTS and CTS pins 2021-09-29 19:55:21 +10:00
Andrew Tridgell e85594e423 HAL_ChibiOS: added KakuteH7 support 2021-09-29 18:11:04 +10:00
Andrew Tridgell d1d5cd5d9f HAL_ChibiOS: fix sdcard on SPI bus on H7
the spiIgnore() call was hanging on H7. The ChibiOS submodule change
fixes that, but this patch is also needed to ensure we timeout any
spiIgnore calls correctly
2021-09-29 18:11:04 +10:00
Andrew Tridgell 2c2c85c4d8 HAL_ChibiOS: fixed polled SPI 2021-09-29 18:11:04 +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
Iampete1 ade01f41d9 AP_HAL_ChibiOS: support digital write via IOMCU 2021-09-28 09:40:25 +10:00
Andrew Tridgell 4aa88d172c HAL_ChibiOS: adjust Swan-K1 parameters
limit down pitch to 15 degrees to prevent overspeed, and limit angular
rates to 100 deg/s
2021-09-27 21:21:53 +10:00
Peter Barker 43469955a9 AP_HAL_ChibiOS: rename GENERATOR_ENABLED to HAL_GENERATOR_ENABLED 2021-09-26 19:24:09 +10:00
Josh Henderson 27fa2e776d AP_HAL_ChibiOS: Hitec-Airspeed move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-24 21:05:05 +10:00
Andrew Tridgell 6d093e56fb HAL_ChibiOS: added Nucleo-L496 AP_Periph target 2021-09-24 18:08:00 +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 758ce2699e HAL_ChibiOS: added Hitec-Airspeed hwdef 2021-09-21 13:51:40 +10:00
Andrew Tridgell 7f59366cc0 HAL_ChibiOS: process AIRSPEED lines in hwdef.dat 2021-09-21 13:51:40 +10:00
Iampete1 bf695e4eeb AP_HAL_ChibiOS: atof to strtof 2021-09-15 17:36:12 +10:00
Hwurzburg 6dfbd9ce31 AP_HAL_ChibiOS: add batt mon defaults to Kakutef4 Mini 2021-09-14 10:14:20 +10:00
Iampete1 53ee7d861d AP_HAL_ChibiOS: remove safe PWM 2021-09-14 09:23:02 +10:00
Andrew Tridgell 88d77d0acd HAL_ChibiOS: change f303-PWM timers
fixes PWM on channels 3 and 4
2021-09-13 21:29:13 +10:00
Andrew Tridgell adbaccaa08 HAL_ChibiOS: fixed RTSCTS flow control issue
this fixes an issue reported on MatekH743, but also applies to other
boards. When not using DMA if there have been bytes written before the
auto flow control detection was enabled then these must be cleared
from _total_written so the flow control detection can work correctly
2021-09-13 21:28:08 +10:00
mateksys 659286ee4f ChibiOS: add icm42605 as substitution for icm20602 2021-09-11 17:37:12 +10:00
Iampete1 529a3a9122 AP_HAL_ChibiOS: convert back to full range on IOMCU ONESHOT125 read 2021-09-08 18:01:50 +10:00
Andy Piper e705f78b5e AP_HAL_ChibiOS: correct and compact Pixhawk4-bdshot build 2021-09-08 17:09:49 +10:00
Andy Piper c92c75c9a6 AP_HAL_ChibiOS: bdshot version of CUAVv5 2021-09-08 17:09:49 +10:00
Andy Piper bb41db8478 AP_HAL_ChibiOS: bdshot version of CUAVv5Nano 2021-09-08 17:09:49 +10:00
Andrew Tridgell d29057a158 HAL_ChibiOS: added f303-PWM
for a PWM output node based on mRo f303 CAN node
2021-09-08 17:06:44 +10:00
Andrew Tridgell 2e4766fe54 HAL_ChibiOS: ensure HI_POWER periph is on 2021-09-07 10:40:44 +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
Hwurzburg d0b67baefd AP_HAL_ChibOS: add pin defs for RSSI to KakuteF7 2021-09-06 10:12:48 +10:00
Hwurzburg 854697f870 AP_HAL_ChibiOS: update default params for SWAN-K1 2021-09-06 08:07:06 +10:00
Andrew Tridgell 8462ce4e2e HAL_ChibiOS: fixed GPIO lines for QioTekZealotF427 2021-09-03 18:16:43 +10:00
bugobliterator 4ecdf90470 AP_HAL_ChibiOS: add internal flash version of hwdef for H757I_EVAL 2021-09-01 17:10:53 +10:00
Siddharth Purohit d484477a99 AP_HAL_ChibiOS: move to using PLL2_R_CK for QSPI 2021-09-01 17:10:53 +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 1eb318c62b AP_HAL_ChibiOS: increase clock frequency for QSPI 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 813e93a69c AP_HAL_ChibiOS: do not reset GPIO for boards with external flash 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
Siddharth Purohit a039711628 AP_HAL_ChibiOS: prepare H757I_EVAL for external flash programming 2021-09-01 17:10:53 +10:00
Andrew Tridgell fdfa14c4c0 HAL_ChibiOS: adjust Swan-K1 tuning 2021-09-01 14:04:35 +10:00
Andrew Tridgell f4ad8f6ef5 HAL_ChibiOS: fix for HAL_PWM_COUNT zero
reported by Mallikarjun
2021-09-01 13:05:20 +10:00
Andrew Tridgell 584fb7cd7b HAL_ChibiOS: use more USB buffers on higher end F7 chips 2021-08-31 10:12:00 +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 fd95c32d88 AP_HAL_ChibiOS: add CubeOrange Periph Heavy build 2021-08-27 09:17:30 -07:00
Andrew Tridgell 858a6b7e87 HAL_ChibiOS: allow FlywooF745 to build again 2021-08-27 07:45:58 +10:00
Marek S. Łukasiewicz 47f2e13024 HAL_ChibiOS: Add hwdef for BirdCANdy 2021-08-26 09:43:39 +10:00
bugobliterator a32a32ab43 HAL_ChibiOS: change name for USART2_CTS pin in STM32H757xx.py 2021-08-25 10:09:23 +10:00
bugobliterator 21ad3c7ac1 AP_HAL_ChibiOS: add HereID board 2021-08-25 10:09:23 +10:00
Andrew Tridgell e9427f1dae HAL_ChibiOS: removed remnants of CHIBIOS_ADC_MAVLINK_DEBUG 2021-08-25 07:11:31 +10:00
Andrew Tridgell 5bacd35eaa HAL_ChibiOS: review fixes 2021-08-25 07:11:31 +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 531ca4289e HAL_ChibiOS: switch to minimum scheduling delta of 10us
this avoids an issue with the ChibiOS 20.3 virtual timer
implementation that can result in a scheduling slip equal to the
system timer period.

Andy has been suggesting this change for a while. I resisted it as I
thought it would impact on soft-serial parsing, but it turns out it
doesn't.

Fixes issue #18383
2021-08-23 10:45:44 +10:00
Peter Barker 70aef84997 AP_HAL_ChibiOS: remove definitions of BOARD_PWM_COUNT_DEFAULT
No longer used
2021-08-20 10:51:19 +10:00
Andy Piper 0279c86f7f AP_HAL_ChibiOS: use hardware serial inversion pins on F4 boards that support it
change mamba F405 to active high as per betaflight
2021-08-19 17:05:42 +10:00
bugobliterator d64621e349 HAL_ChibiOS: remove duplicate FLASH_RESERVE_START_KB from hwdef 2021-08-19 14:20:58 +10:00
bugobliterator a8ab20abd9 AP_HAL_ChibiOS: allow sending stats via mavftp on AP_Periph 2021-08-19 14:20:58 +10:00
bugobliterator 4f65705c99 AP_HAL_ChibiOS: set proper name for CAN terminators on HerePro 2021-08-19 14:20:58 +10:00
bugobliterator c7907bb8fb AP_HAL_ChibiOS: update config for dual gps heading in HerePro 2021-08-19 14:20:58 +10:00
Andy Piper b78d848a5d AP_HAL_ChibiOS: add FlywooF745Nano board definition 2021-08-18 17:06:09 +10:00
Randy Mackay a1eb84ebfd AP_HAL_ChibiOS: swap Pixhawk4 blue and red LEDs 2021-08-17 10:13:39 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 38a825c987 AP_HAL_ChibiOS: disable FETtec OneWire device driver 2021-08-13 16:22:37 +10:00
Andy Piper 68fd87091c AP_HAL_ChibiOS: output initializing from PWM banner when not available 2021-08-12 19:07:51 +09:00
Andy Piper a51e58022f AP_HAL_ChibiOS: add accessor for reversed mask
allow mask updates to be disabled
send dshot commands even if armed - they will be accepted as long as throttle is at zero
only accept low-priority dshot commands while disarmed
apply reversed and reversible mask as servo channels
2021-08-12 19:00:51 +09:00
Andrew Tridgell 79b0571d7e HAL_ChibiOS: added Swan K1 support 2021-08-10 10:08:05 +10:00
Andy Piper 7dea029626 AP_HAL_ChibiOS: probe for compasses on FlywooF745 2021-08-10 09:35:06 +10:00
Leonard Hall 4e06140c6c AP_Hal_ChibiOS: Skyviper Parameters PSC_VELXY_FLTE 2021-08-10 08:33:56 +09:00
bugobliterator 81c5a99527 AP_HAL_ChibiOS: fix invalid use of FDCAN2_IT0_IRQn enum for ifdef 2021-08-10 07:25:05 +10:00
QioTek 30e23052a0 AP_HAL_ChibiOS: add Icm42605 as a backup to replace icm20649
AP_HAL_ChibiOS: add Icm42605 as a backup to replace icm20649
2021-08-10 07:00:52 +10:00
Andy Piper f71b951cb2 AP_HAL_ChibiOS: return correct value for tx_pending(). 2021-08-04 17:26:18 +10:00
Andrew Tridgell eb638a5267 HAL_ChibiOS: added CubeMX files for G431 and G441 2021-08-03 10:54:03 +10:00
Andrew Tridgell bab0c1dfc7 HAL_ChibiOS: fixed build for single FDCAN G4 boards 2021-08-03 10:54:03 +10:00
Andrew Tridgell 8df99f0d15 HAL_ChibiOS: added G431 and G441 support 2021-08-03 10:54:03 +10:00
Andrew Tridgell 4df62ce719 HAL_ChibiOS: added mRo-M10095 G491 peripheral 2021-07-30 10:20:52 +10:00
Andrew Tridgell 4fce1ae092 HAL_ChibiOS: added G491 support 2021-07-30 10:20:52 +10:00
Hwurzburg 8b7b4d6796 AP_HAL_Chibios: Change RC in to RCINT to free a DMA channel 2021-07-28 17:24:06 +10:00
mateksys 08cd1171bf Tools: added MatekF765-SE to autobuild 2021-07-26 18:13:46 +10:00
Isaac Alich 35beae6037 AP_HAL_ChibiOS: Make final tweaks to MambaF405US-I2C 2021-07-25 17:44:22 +10:00
Isaac Alich bdcb32456e AP_HAL_ChibiOS: Add support for MambaF405US-I2C based boards 2021-07-25 09:28:17 +10:00
Andrew Tridgell d8b8facdd0 HAL_ChibiOS: fixed off by 1 bug in GPIO check 2021-07-24 18:18:57 +10:00
Andrew Tridgell d302d3c90a HAL_ChibiOS: implement valid_pin() 2021-07-22 07:48:12 +10:00
Andrew Tridgell bbcce717dc HAL_ChibiOS: stop defaulting relay pins to 54 and 55
this just leads to confusion
2021-07-22 07:48:12 +10:00
Andrew Tridgell 54e53ed71c HAL_ChibiOS: use is_GPIO() instead of BRD_PWM_COUNT 2021-07-22 07:48:12 +10:00
bugobliterator 48b8fdfd48 AP_HAL_ChibiOS: make linecoding objects static arrays 2021-07-21 17:06:41 +10:00
bugobliterator d1b0438412 AP_HAL_ChibiOS: add support for usb passthrough with baud changes 2021-07-21 17:06:41 +10:00
Michael Oborne d622aad592 AP_HAL_ChibiOS: add get_usb_baud - support for usb baudrate 2021-07-21 17:06:41 +10:00
honglang ef109721fe AP_HAL_ChibiOS: hwdef: reorder CUAV-X7 IMUs
adjust the sequence of IMU sensors to have good performance.
2021-07-20 16:10:50 +10:00
Hwurzburg 0f2f6ccc80 AP_HAL_ChibiOS: add Link Quality reporting to RC protocols 2021-07-16 13:27:38 +10:00
Andrew Tridgell a098c80671 HAL_ChibiOS: use DNA for node allocation on Matek GPS
this works as MSP is now active when a DNA server is not found
2021-07-15 14:38:11 +10:00
Andrew Tridgell db1df9d3a8 HAL_ChibiOS: raise DMA contention threshold for H7 2021-07-15 11:31:55 +10:00
Andrew Tridgell 926d4ad71c HAL_ChibiOS: implement NOFIFO option for uarts 2021-07-15 11:31:55 +10:00
Andy Piper 60b0df0a25 AP_HAL_ChibiOS: only control widest pulse for dshot and oneshot 2021-07-14 17:50:06 +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
Andrew Tridgell 4ed0b03f35 HAL_ChibiOS: implement set_RTS/CTS_pin methods 2021-07-09 13:27:57 +10:00
mateksys 40200654af AP_HAL_ChibiOS: add MatekF765-SE hwdef as a variant of MatekF765-Wing 2021-07-08 13:01:44 +10:00
Andrew Tridgell dd156d8da6 HAL_ChibiOS: run storage writes at 1kHz not 100Hz
The 100Hz update rate means there is a significant chance of an arming
failure after mission upload if you try to arm shortly after the
update.

Each mission item is 15 bytes, so with a 1200 item mission we need to
write 18000 bytes to storage. At 100Hz, with 8 bytes per storage line,
that takes over 22 seconds.
2021-07-07 17:32:21 +10:00
Andy Piper e9f0c59e61 AP_HAL_ChibiOS: re-enable LEDs on MatekF405-bdshot 2021-07-06 10:10:04 +10:00
Andrew Tridgell 7ac895db77 HAL_ChibiOS: always send zero DShot when disarmed
this prevents a misconfigured system (for example SERVOn_REVERSED=1)
from running a motor while disarmed.

See https://discuss.ardupilot.org/t/plane-4-1-0-beta/72434/34?u=tridge
2021-07-03 11:37:28 +10:00
Siddharth Purohit 9b2359b34c AP_HAL_ChibiOS: allow option to enable ChibiOS features in bootloader 2021-07-02 08:50:16 +10:00
Siddharth Purohit 1a1dd76a4c AP_HAL_ChibiOS: add initial herepro hwdef 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 245f9d21b3 AP_HAL_ChibiOS: update clock config for FDCAN and External Flash 2021-06-30 19:34:36 +10:00
Siddharth Purohit 28dbbc2bc4 AP_HAL_ChibiOS: do not even initialise empty qspi driver 2021-06-30 19:33:17 +10:00
Siddharth Purohit d3e081c100 AP_HAL_ChibiOS: add support for entering XIP mode 2021-06-30 19:33:17 +10:00
Siddharth Purohit 263fbbbdb0 AP_HAL_ChibiOS: add echo safe debug flag bouncebuffer 2021-06-30 19:33:17 +10:00
Siddharth Purohit 3b3cc0b194 AP_FlashIface: add initial files for AP_FlashIface library 2021-06-30 19:33:17 +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
Siddharth Purohit 0e4fbe7c46 AP_HAL_ChibiOS: allow using internal compasses onboard 2021-06-30 17:06:02 +10:00
Siddharth Purohit 882b01bae3 AP_HAL_ChibiOS: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +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
Andy Piper 9e99f724e5 AP_HAL_ChibiOS: add 1Hz update_channel_masks()
Send dshot commands in update function
2021-06-22 09:55:27 +10:00
Andrew Tridgell ed93caadd5 HAL_ChibiOS: fixed build of VRUBrain-v51
overflowing flash
2021-06-21 16:48:10 -07:00
Andy Piper 3386cbb0df AP_HAL_ChibiOS: add OREO support to CubeSolo.
add back RunCam and Spektrum support to MatekF405-Wing
remove gripper support from MatekF405-Wing
2021-06-16 20:25:58 +10:00
Samuel Tabor 3fc58de7ce AP_HAL_ChibiOS: Restore soaring on F405-Wing board. 2021-06-16 09:15:03 +10:00
Andy Piper d36b4bfa3f AP_HAL_ChibiOS: make sure all MatekF405 bi-dir outputs get a DMA channel
only allow (b)dshot on M1-4 to get full DMA on USART3 and UART4
2021-06-15 09:49:02 +10:00
Peter Barker f780a5c358 AP_HAL_ChibiOS: fix infinite loop for large SPI transfers
len is 32 bits; i may integer-wrap back to zero at 65535+1
2021-06-14 09:13:49 +10:00
Dr.-Ing. Amilcar do Carmo Lucas d363cbadcc AP_HAL_ChibiOS: Disable un-needed hardware drivers in SkyViper builds
these boards have integrated ESCs with no telemetry
2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 8593672f4c AP_HAL_ChibiOS: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00