Commit Graph

1722 Commits

Author SHA1 Message Date
Andrew Tridgell 957740db4f 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-28 12:50:32 +10:00
Andy Piper e7e3b478fc 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-28 12:50:32 +10:00
Randy Mackay 94ed5b876f AP_HAL_ChibiOS: swap Pixhawk4 blue and red LEDs 2021-08-28 12:50:32 +10:00
mateksys 714d11863e Tools: added MatekF765-SE to autobuild 2021-08-25 18:54:05 +10:00
mateksys 97b6467075 AP_HAL_ChibiOS: add MatekF765-SE hwdef as a variant of MatekF765-Wing 2021-08-25 18:54:05 +10:00
Andy Piper 1746ab3cfe AP_HAL_ChibiOS: output initializing from PWM banner when not available 2021-08-14 16:41:52 +10:00
Leonard Hall b1cd9434a9 AP_Hal_ChibiOS: Skyviper Parameters PSC_VELXY_FLTE 2021-08-14 16:41:52 +10:00
Andy Piper 150290dd25 AP_HAL_ChibiOS: probe for compasses on FlywooF745 2021-08-14 16:41:52 +10:00
Andy Piper 19ae04f1b0 AP_HAL_ChibiOS: only control widest pulse for dshot and oneshot 2021-07-22 16:01:01 +10:00
Andy Piper 560a5ea225 AP_HAL_ChibiOS: re-enable LEDs on MatekF405-bdshot 2021-07-22 16:01:00 +10:00
Andrew Tridgell d128c1a86f HAL_ChibiOS: raise DMA contention threshold for H7 2021-07-22 16:01:00 +10:00
Andrew Tridgell c2b310ad86 HAL_ChibiOS: implement NOFIFO option for uarts 2021-07-22 16:01:00 +10:00
Andrew Tridgell f0bc4bca84 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-22 16:01:00 +10:00
Andrew Tridgell fa3f3dd218 HAL_ChibiOS: define HAL_HAVE_HARDWARE_DOUBLE on F765, F777 and H7 2021-07-22 16:01:00 +10:00
Andrew Tridgell c6c197d4fb 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-22 16:01:00 +10:00
Andrew Tridgell 2d4e77e9b1 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-04 08:24:17 +10:00
Siddharth Purohit f8d313cfd6 AP_HAL_ChibiOS: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
bugobliterator 086f184c36 AP_HAL_ChibiOS: allow embedded bootloader to be excluded
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-07-04 08:19:10 +10:00
Andy Piper 9c7e2f5914 AP_HAL_ChibiOS: add 1Hz update_channel_masks()
Send dshot commands in update function
2021-07-04 08:19:10 +10:00
Andy Piper f09b01c5ad AP_HAL_ChibiOS: add OREO support to CubeSolo.
add back RunCam and Spektrum support to MatekF405-Wing
remove gripper support from MatekF405-Wing
2021-07-04 08:19:10 +10:00
Peter Barker 5c9467044b 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-07-04 08:19:10 +10:00
Andrew Tridgell 217a1acd7d HAL_ChibiOS: fixed build of VRUBrain-v51
overflowing flash
2021-06-24 18:03:40 +10:00
Samuel Tabor 534b807e22 AP_HAL_ChibiOS: Restore soaring on F405-Wing board. 2021-06-24 18:01:53 +10:00
Andy Piper 132b651968 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-24 18:01:17 +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
Tom Pittenger 7a004656a2 AP_HAL_ChibiOS: use HAL_ENABLE_LIBUAVCAN_DRIVERS instead of HAL_MAX_CAN_PROTOCOL_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger 1feec460c4 AP_HAL_ChibiOS: enable BattMon MPPT PacketDigital to CubeOrange-periph 2021-06-09 18:36:18 +10:00
Tom Pittenger f764bd6547 AP_HAL_ChibiOS: disable EventSource only when CH_CFG_USE_EVENTS is false
(cherry picked from commit 6e7542a70ca2343ab8d18470deaf5fc2d27390af) from bugobliterator
2021-06-09 18:36:18 +10:00
Andrew Tridgell f09abc705b HAL_ChibiOS: bring us to 18k free for MatekF405-Wing plane build 2021-06-09 18:07:00 +10:00
Peter Barker 09e82e52e1 AP_HAL_ChibiOS: disable AP_EFI on MatekF405-Wing and omnibusf4pro 2021-06-08 14:08:34 +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 67fea9f2f8 HAL_ChibiOS: fixed DMA disable on contention
this fixes a problem with the automatic DMA disable on DMA contention
in UARTs. This fixes issue #14581

the problem was that while tx_dma_enabled was correctly set to false,
it would keep looping inside write_pending_bytes_DMA() if the data
arrived in the write buffer at a faster rate than it could be sent
out, which did happen with a mavlink stream rate of 4Hz. This means it
kept using DMA even with tx_dma_enabled set to false. The result was
that the automatic flow control code never got a chance to run and we
didn't switch back to non-DMA for these low baudrate contended UARTs
2021-06-05 19:03:03 +10:00
Andrew Tridgell 3128d71aac HAL_ChibiOS: display uart even when not initialised
don't rely on thread allocation for uart info display
2021-06-05 18:52:33 +10:00
Andrew Tridgell c34d8e80e9 HAL_ChibiOS: fixed serial info indexing for EMPTY uarts 2021-06-05 18:52:33 +10:00
Andrew Tridgell 6fab8feeae HAL_ChibiOS: implement uart_info per-uart
this allows for some UARTs to be of EMPTY type
2021-06-05 18:52:33 +10:00
Andrew Tridgell 135a4d2c83 HAL_ChibiOS: fixed order and labelling of @SYS/uarts.txt 2021-06-05 18:52:33 +10:00
Andrew Tridgell a895bc1846 HAL_ChibiOS: reduce flash on VRBranin-v51 2021-06-05 13:05:30 +10:00
honglang 847ce3b311 AP_HAL_ChibiOS: CUAV X7/Nora: use icm42688 instead of bmi088 2021-06-03 13:57:27 +10:00
CUAVcaijie 0ff38e1379 HAL_ChibiOS: CUAV ICM20649 on SPI6 bus replaced by ICM20689
alternative IMUs for Nora and X7
2021-06-02 10:49:55 +10:00
Andrew Tridgell 8701932670 HAL_ChibiOS: return zeros in dma.txt on first fetch 2021-06-01 11:36:07 +09:00
Andrew Tridgell 5529ba36e2 HAL_ChibiOS: added HolybroGPS AP_Periph port 2021-06-01 09:19:51 +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 ac1e03e16a HAL_ChibiOS: move heater gains on CubeOrange to hwdef.dat
this makes it easier for users using apjtool to override params
2021-06-01 08:07:49 +10:00
Andrew Tridgell 244d896bfb HAL_ChibiOS: enable heater on Pix32v5 2021-06-01 08:07:49 +10:00
bugobliterator ea1795d6fe AP_HAL_ChibiOS: ensure ToneAlarm is not disabled when UAVCAN is available 2021-05-31 07:34:02 +10:00
Michael Oborne 126456742a Hwdef: add Joey 2021-05-27 14:19:55 +10:00
Andrew Tridgell 91dce554d1 HAL_ChibiOS: removed unnecessary USB product IDs from boards 2021-05-27 09:30:30 +09:00
Andrew Tridgell de3a3f7edf HAL_ChibiOS: fixed case of Pix32v5 USB product string 2021-05-27 09:30:30 +09:00
Siddharth Purohit ad9a8c8bd9 AP_HAL_ChibiOS: record error states in CANFDIface and CANIface 2021-05-26 18:25:01 +10:00