Commit Graph

2243 Commits

Author SHA1 Message Date
Andrew Tridgell 6845f2e24d hwdef: use right name for ICM42670 SPI device 2022-08-02 17:26:46 +10:00
Andy Piper 3b034e3af6 AP_HAL_ChibiOS: enabled OSD parameter menus on KakuteH7. 2022-07-22 21:23:34 +10:00
Tom Pittenger 0ef78dd77a AP_HAL_CHibiOS: add new hwdef target for SkystarsH7HD 2022-07-21 21:53:15 -07: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 796653630c hwdef: support CUAV-6X and Holybro-6X with same firmware 2022-07-19 15:02:31 +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
Nikolay March fa71a8ccf2 AP_HAL_ChibiOS: add BDShot for Holybro PH4-mini
Tested, working like its big Holybro Pixhawk4! (copied bdshot files)
And there no telem2 port(usart3), undef to relolve DMA.
I thought the copter stopped twitching like before, more stable!
2022-07-19 11:15:56 +10:00
Henry Wurzburg 2f90806f0a AP_HAL_ChibiOS: fix bootloaders to turn on switched supply during bootloader 2022-07-19 10:34:47 +10:00
Peter Barker 4de69823e8 AP_HAL_ChibiOS: allow crashdump even if !HAL_GCS_ENABLED
We can dump these to SD card, for example.
2022-07-13 18:23:37 +10:00
Andy Piper 81aa5b9dc6 AP_HAL_ChibiOS: make available/available_locked consistent with read/read_locked 2022-07-13 18:17:07 +10:00
Iampete1 60408fd16e hwdef: skyviper: update AP_AIS_ENABLED to AP_AIS_ENABLED 2022-07-12 09:39:54 +10:00
xiao 084bae21ef HAL_ChibiOS: hwdef: MFE-PixSurveyA1 rename PixSurveyA1 2022-07-05 17:44:03 +10:00
xiao 39abb13692 HAL_ChibiOS: hwdef: add new hardware MFE-PixSurveyA1 2022-07-05 17:44:03 +10:00
Andrew Tridgell af5eb44629 hwdef: added telem3 on Pixhawk6X 2022-07-05 10:34:36 +10:00
Peter Barker a647cd9b8f hwdef: remove redundant 'define HAL_MINIMIZE_FEATURES 0' 2022-07-05 10:20:38 +10:00
李孟晓 8a83e02e59 HAL_ChibiOS: hwdef: add support for ICP101XX to CUAV_GPS 2022-06-28 11:59:04 +10:00
Peter Barker 2228f1407d hwdef: remove unused NO_DATAFLASH hwdef directive 2022-06-28 11:03:53 +10:00
Andy Piper feaad96963 AP_HAL_ChibiOS: hwdef for Foxeer Reaper F745v2.
README for Reaper F745v2
2022-06-28 11:03:26 +10:00
Andrew Tridgell 5f8ea596a5 hwdef: changed Pixhawk6C board type to 56
production bootloader uses 56
2022-06-23 13:43:38 +10:00
Andrew Tridgell 881d9764d4 hwdef: added Pixhawk6C support 2022-06-23 12:37:24 +10:00
Andrew Tridgell b1e3b9414b hwdef: fixed Pixhawk6X ALT_RAM_MAP check 2022-06-23 12:37:24 +10:00
Isaac A 94064175af AP_HAL_ChibiOS: Allow KakuteF7 initialization without baro 2022-06-21 10:03:08 +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 8f3405d308 hwdef: added Pixhawk6X support
a new H753 based board similar to the Pixhawk5X
2022-06-15 17:28:40 +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
Andrew Tridgell 308717d5eb HAL_ChibiOS: enable ITCM and DTCM on H7 at startup
these may have been disabled by the px4 H7 bootloader
2022-06-15 17:28:40 +10:00
Andy Piper ed6f7fb9e9 AP_HAL_ChibiOS: add support for MambaF405 2022 MK4
mark DMA on MambaF405US-I2C UARTs
correct RSSI pin on MambaF405US-I2C
2022-06-15 17:05:41 +10:00
Tom Pittenger c28db6d91c AP_HAL_ChibiOS: Durandal hwdef to enable Sagetech MXS driver by default for CI to test against 2022-06-14 07:10:17 -07:00
Tom Pittenger 07be987073 AP_HAL_ChibiOS: enable SagetechMXS driver by default only for CUAV-X7 and CubeOrange 2022-06-14 07:10:17 -07:00
mateksys 71b9e80c04 hwdef: added more PWM options in MatekL431-Dshot 2022-06-14 18:59:52 +10:00
Andy Piper 4068337971 AP_HAL_ChibiOS: correct UART RX stats 2022-06-14 10:25:17 +10:00
James Harton b963be7ee8 AP_HAL_ChibiOS: Add on-board baro support to iFlight BeastH7 V2 target.
iFlight's own website says that there is no barometer on this device,
however on my one there is a DPS310 connected on I2C.  This PR adds
support for the on-board baro but leaves it as optional.
2022-06-14 09:46:46 +10:00
Andrew Tridgell 085413865a hwdef: added MatekL431-EFI 2022-06-09 21:10:37 +10:00
Andy Piper fafa4158dd AP_HAL_ChibiOS: hwdef for MambaH743v4
support BMI270 on MambaH743v4 and increase flash SPI clock
add bi-directional dshot to MambaH743
add README and pinout for MambaH743
2022-06-08 21:44:21 +10:00
Pierre Kancir b909a110cd AP_HAL_ChibiOS: fix executable permission and trailing whitespace 2022-06-08 08:16:42 +09: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
Pradeep 03f7df39dd hwdefs: choose node stats - CarbonixF405 and CarbonixL496
Added definition to enable node statistics
AP_Periph: choose node stats - CarbonixF405 and CarbonixL496

Added definition to enable node statistics
2022-06-07 09:57:32 +10:00
Andrew Tridgell e807a74976 AP_HAL_ChibiOS: fixed use of configured() vs configured_in_storage() 2022-06-06 13:11:50 +10:00
bugobliterator 68f0863fb6 AP_HAL_ChibiOS: remove peripheral power down in bootloader 2022-06-03 16:41:22 +10:00
bugobliterator 2726de9b7a AP_HAL_ChibiOS: split the CubeOrange hwdef into inc and dat so the inc can be properly reused 2022-06-03 16:41:22 +10:00
bugobliterator 026ca4adae AP_HAL_ChibiOS: update to using H757 chipset in cubeorange+ 2022-06-03 16:41:22 +10:00
Andy Piper 58b04db242 AP_HAL_ChibiOS: save a sliding window of frequency bins 2022-06-01 15:49:32 +01:00
bugobliterator 76d6170ec9 AP_HAL_ChibiOS: add mechanism to set register rw register using device name for SPI 2022-05-25 18:14:46 +10:00
Andy Piper cabaef6173 AP_HAL_ChibiOS: add BLHeli_S ESC type and use it to control bitwidths 2022-05-25 17:06:08 +10:00
Peter Barker 2913c8d9e9 AP_HAL_ChibiOS: add support for SIM_OH_MASK (sim-on-hardware output enable mask 2022-05-24 10:35:32 +10:00
Andrew Tridgell c8b328c3a1 HAL_ChibiOS: always start with safety enabled
we want it enabled during early boot to prevent incorrect ESC and
servo output
2022-05-22 14:58:12 +10:00
Peter Barker e2f5443a1e hwdef: skyviper-v2450: compile in only ICM20789 2022-05-22 12:11:45 +10:00
Andrew Tridgell 1d9abefbb1 AP_HAL_ChibiOS: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Iampete1 7fc691d8d5 AP_HAL_ChibiOS: enable 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 af58ca52c1 AP_HAL_ChibiOS: allocate_heap_memory use single malloc 2022-05-18 08:20:32 +10:00
murata e007b21f9e AP_HAL_ChibiOS: Console output can be disabled 2022-05-17 09:53:06 +10:00
Lokesh Ramina adfb2f9cad AP_HAL_Chibios: add_12Mhz_Clock_stm32F405
There was no option for 12Mhz for STM32F405
2022-05-12 17:40:21 +10:00
Peter Barker 7da0b3aaf2 AP_HAL_ChibiOS: allow airspeed backends to be compiled out 2022-05-10 09:02:51 +10:00
Andrew Tridgell 946a6ac4d0 HAL_ChibiOS: fixed RSSI from IOMCU analog pin 103
need to check new pin not old pin
2022-05-09 07:25:40 +10:00
Andrew Tridgell bf9b803265 hwdef: added FlyingMoonF427 support 2022-05-08 18:41:39 +10:00
Andrew Tridgell b9b5f055ef hwdef: added FlyingMoonF407 board support 2022-05-08 18:41:39 +10:00
Andy Piper 884454cd88 AP_HAL_ChibiOS: add vector addition function 2022-05-04 17:05:51 +10:00
MallikarjunSE bf9c0fffa7 hwdef: sierra-l431 hwdef update 2022-05-04 07:17:41 +10:00
Kirill Shilov c414a021ae AirLink-HWDEF: external peripherals enabled with logical high 2022-05-02 10:56:09 +10:00
Mirko Denecke 11a74cf28c AP_HAL_ChibiOS: fix auxiliary typo 2022-05-02 10:55:08 +10:00
bugobliterator 46f9ae54af AP_HAL_ChibiOS: fix CubeOrangePlus IMU rotation 2022-04-29 08:26:34 +10:00
Andrew Tridgell 8c3d2205cb hwdef: added DShot peripheral for MatekL431 2022-04-28 13:56:16 +10:00
Andy Piper 7c4d0ad9f4 AP_HAL_ChibiOS: catch and handle STM32_DMA_ISR_DMEIF in bdshot. 2022-04-27 18:19:24 +10:00
Andrew Tridgell 06b9b804a1 hwdef: uncompress bootloader for HolybroG4_GPS
not enough ram to uncompress at runtime
2022-04-27 17:12:08 +10:00
Randy Mackay 1ee01577f6 AP_HAL: add GPIO::pin_to_servo_channel method 2022-04-26 15:19:28 +09:00
Randy Mackay 588a75a883 AP_HAL_ChibiOS: GPIO comment removes mention of BRD_PWM_COUNT 2022-04-26 15:19:28 +09:00
Andy Piper 119cde79a7 AP_HAL_ChibiOS: determine presence of disabled channels based on digital channels in a group 2022-04-25 15:55:54 +09:00
Andy Piper df35cb6243 AP_HAL_ChibiOS: move bitwidths to AP_HAL 2022-04-20 17:39:29 +10:00
Andy Piper eaa414bb0c AP_HAL_ChibiOS: implement pseudo-flushing for buffered UARTS 2022-04-20 17:38:08 +10:00
yuri-rage eaa62fb490 AP_HAL: remove BRD_PWM_COUNT reference 2022-04-20 07:57:57 +09:00
Andrew Tridgell e73f868fc0 HAL_ChibiOS: disable fatal exceptions for DMA errors
this zeros-watchdog was caused by a SPI DMA error on STM32F405:

  https://discuss.ardupilot.org/t/crash-with-4-2-0-beta-and-4-3-0-daily-bdshot/83297

we had incorrectly left these internal errors enabled when asserts
were not enabled. That led to a osalSysHalt()

without these we get an spi_fail internal error, caught by the
SPIDevice code
2022-04-19 21:52:53 +10:00
Walter Dunckel b0c3fae662 AP_HAL_ChibiOS: add support for NucleoH755 board
This addition allows for cheap testing of a STM32H755 (dual core). This borrows the setup file STM32H757xx.py, as there are almost no changes between the chips. CRSF in and out, gps, ICM20948, BMP388, settings saving to on board flash all working.

PWM(3) pin change

Changed PWM(3) pin to one exposed on connector
2022-04-18 14:53:14 +10:00
QioTek 9909499a81 AP_HAL_ChibiOS: ICM4 series sensors as an alternative with IMU3.
AP_HAL_ChibiOS:  ICM4 series sensors as an alternative with IMU3.
2022-04-18 11:01:14 +10:00
Andrew Tridgell 9f58c73780 hwdef: Added MatekL431-Rangefinder 2022-04-17 17:40:04 +10:00
Peter Barker bca4fc9608 hwdef: disable serially-attached actuators on SkyViper 2022-04-17 09:10:10 +10:00
Andrew Tridgell f5c3b56426 AP_HAL_ChibiOS: update for changed INS_NOTCH parameter name 2022-04-16 08:14:06 +10:00
mateksys 16a8400f85 AP_HAL_ChibiOS:add icm42688p as substitution 2022-04-13 20:59:07 +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 04cc45de65 hwdef: remove non-ascii character from hwdef
Killing the custom build server
2022-04-13 12:14:17 +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
Henry Wurzburg c770a2bd58 hwdef: minimal GPS support for Flywoo baords 2022-04-12 10:04:57 +10:00
Andy Piper 1a843f659f AP_HAL_ChibiOS: bdshot version of MatekF765-Wing 2022-04-12 10:03:11 +10:00
Andy Piper e89eb34d55 AP_HAL_ChibiOS: add I2C and compass backend to drivers in memory on H750
move more of EKF into memory on H750
move rc handling into memory on H750
disable double math on SPRacing H7
2022-04-12 09:19:45 +10:00
Michel Pastor f4a3a65797 hwdef: add revo-mini-sd 2022-04-12 09:17:03 +10:00
Lokesh Ramina 729466358d hwdef: added CarbonixF405 AP_Periph node
added hwdef files for CarbonixF405 board
2022-04-11 12:58:48 +10:00
Andy Piper e0adbb978e AP_HAL_ChibiOS: fix dshot timeout bug where the elapsed pulse is longer than the send time
dshot timeouts should be no longer than the pulse interval
use correct timestamp for dmar send time
2022-04-07 07:21:21 +10:00
Peter Barker 00de10d796 AP_HAL_ChibiOS: use structure for writing out WDOG,MON message 2022-04-06 21:54:15 +10:00
Peter Barker 717edae9ef hwdef: fix redefinition of Solo values in CubeSolo/CubeGreen-Solo
adding fmuv3 into the list of firmwares we might run on Solo was a late
addition to the recent PRs.  It was forgotten that the inheritance would
cause a redefition failure
2022-04-06 16:38:23 +10:00
Andrew Tridgell 37d8feb928 hwdef: disable GPS drivers on low flash boards
only leave uBlox enabled on boards that are running out of flash
2022-04-06 14:14:07 +10:00
Andrew Tridgell c9bbfd94c0 hwdef: set AUTOBUILD_TARGETS None on eval boards 2022-04-06 14:13:44 +10:00
李孟晓 2d37bc9c78 AP_HAL_ChibiOS: CUAV-Nora: add usart3 support 2022-04-06 11:04:08 +10:00
Peter Barker d2c3c578c2 hwdef: add hwdef for CubeOrange-SimOnHardware 2022-04-05 18:10:14 +10:00
Andrew Tridgell 392e80001f HAL_ChibiOS: fixed H7 flash storage
this fixes the flash re-init problem when flash storage fills on
H7. It was caused by rejecting writes where one or more of the 32 byte
chunks was not all 0xff but was equal to the current data. That
happens when writing to the sector header in AP_FlashStorage

it also moves the interrupt disable inside the loop to allow for
other interrupts to run between blocks
2022-04-05 17:46:52 +10:00
Andrew Tridgell 093acc1577 HAL_ChibiOS: use 16 byte lines for flash storage on H7
this halves the number of flash writes needed, and makes flash storage
twice as space efficient on H7

On H7 we need to write 32 bytes at a time to flash, which corresponds
to 30 bytes of data in AP_FlashStorage. By using a 16 byte storage
line we don't waste as much space
2022-04-05 17:46:52 +10:00
Andrew Tridgell 055ee6ba82 HAL_ChibiOS: increase monitor thread stack by 512
this is needed to ensure that the log writes of MON and WDOG don't
overflow monitor thread stack
2022-04-05 17:46:52 +10:00
Andrew Tridgell 1b6620b42f HAL_ChibiOS: added expected delays on flash writes
this prevents a long loop internal error on disarm after a large
amount of flash writes when armed on a board with flash storage
2022-04-05 17:46:52 +10:00
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