Commit Graph

51 Commits

Author SHA1 Message Date
Randy Mackay e8e82e99d3 AP_HAL_ChibiOS: fix safety switch option handling 2018-10-05 10:25:11 +09:00
Andrew Tridgell 4a1348a432 HAL_ChibiOS: fixed a race in DShot code
this fixes a problem found by Daniel Met with the copter 3.6 beta
release
2018-10-05 10:24:59 +09:00
Andrew Tridgell bc2b5661c8 HAL_ChibiOS: fixed build 2018-08-06 11:40:03 +10:00
Andrew Tridgell e4c9257e6f HAL_ChibiOS: fixed dshot bad frames
adding a pre-bit on the DMAR, and ensuring that all groups are setup
for DMA together fixes the remaining bad frames reports in BLHeli32
2018-08-06 11:17:15 +10:00
Andrew Tridgell 660985db8e HAL_ChibiOS: set min dshot separation to 100usec
this fixes a problem with BLHeli32 not recognising dshot
2018-08-06 11:17:11 +10:00
Andrew Tridgell 4db2c4a380 HAL_ChibiOS: fixed timeout of serial read bytes
this allows for fast timeout of serial read bytes in BLHeli pass-thru
2018-08-06 11:17:05 +10:00
Andrew Tridgell fa4d125727 HAL_ChibiOS: only set freq on valid IO channels 2018-07-31 14:24:27 +10:00
Andrew Tridgell e3b68876a9 HAL_ChibiOS: fixed tx_len on tx DMA timeout 2018-06-19 09:08:45 +10:00
Andrew Tridgell 2493cdbcb6 HAL_ChibiOS: switch to new bouncebuffer system
this removes the dma_flush and dma_invalidate methods and uses a
common bouncebuffer system for all CPU types. This enables microSD
support on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell edb831653f HAL_ChibiOS: added dma_flush and dma_invalidate operations
these are needed to manage the data cache on the STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell 7e897c16c0 HAL_ChibiOS: maintain rcout state beyond BRD_PWM_COUNT
allow channels beyond BRD_PWM_COUNT to be sent over SBUS or DShot
distribution
2018-05-26 12:08:54 +10:00
Andrew Tridgell f3179e7934 HAL_ChibiOS: improved reliability of DShot passthru
thanks to WickedShell for debugging this on his Wraith32 ESCs. We were
truncating the last bit on some BLHeli transfers
2018-05-22 18:59:51 +10:00
Andrew Tridgell dcd7799ec9 HAL_ChibiOS: fixed DShot output on fixed wing
we need to mark the channels as 'fast' for DShot to enable properly
2018-05-21 13:31:00 +10:00
Andrew Tridgell 794ebe32e3 HAL_ChibiOS: fixed mixture of oneshot and normal PWM on IOMCU 2018-05-12 07:28:05 +10:00
Andrew Tridgell bb0cbd15a4 HAL_ChibiOS: implement fmuv4 safety state
and added safety_mask and safety_pwm support for both fmuv3 and fmuv4
2018-04-17 10:14:01 +10:00
Andrew Tridgell 4871bbf403 HAL_ChibiOS: make soft serial for RC serial more efficient
using system ticks halves the IRQ time
2018-04-16 07:40:55 +10:00
Alexander Malishev 79b5719419 ChibiOS: add support for complementry output timer channels 2018-04-14 09:25:15 +10:00
Andrew Tridgell 1b9cebc3f2 HAL_ChibiOS: check pwm count in rcout init 2018-04-09 15:32:04 +10:00
Andrew Tridgell 68293c9c11 HAL_ChibiOS: don't require GPIO() markers on PWM outputs
this fixes blheli pass-thru on MindPX-v2
2018-04-09 15:32:04 +10:00
Andrew Tridgell eb6c852ee3 HAL_ChibiOS: use simpler pullup on serial input
this maps to the right bits for each MCU type
2018-04-07 09:10:29 +10:00
Andrew Tridgell 71cd58cc7e HAL_ChibiOS: run rc serial thread at top priority
this maximises reliability for serial IO to ESCs, increasing flashing
reliability
2018-04-07 09:10:29 +10:00
Andrew Tridgell 3cd4f2a002 AP_ChibiOS: handle oneshot125 separately
this sets up oneshot125 with the full 1000 steps of throttle
resolution, using a 8MHz clock. This matches the behaviour of modern
ESCs that measure PWM values with high accuracy
2018-04-07 09:10:29 +10:00
Andrew Tridgell 5bfc97f9c0 HAL_ChibiOS: fixed dshot trigger while serial active 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6fd0af11ef HAL_ChibiOS: implement telem request API 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6bdb523630 HAL_ChibiOS: guarantee 1kHz output for DShot 2018-04-07 09:10:29 +10:00
Andrew Tridgell ef539d4145 HAL_ChibiOS: added debug timing option for RCOut 2018-04-07 09:10:29 +10:00
Andrew Tridgell af1e3aa64d HAL_ChibiOS: increase timeout on bytes for blheli 2018-04-07 09:10:29 +10:00
Andrew Tridgell 756c0d4b0b HAL_ChibiOS: fixed reset for oneshot
after a BLHeli connection we need to go back to 1Hz on timer
2018-04-07 09:10:29 +10:00
Andrew Tridgell 019049e76b HAL_ChibiOS: fixed RC period setting 2018-04-07 09:10:29 +10:00
Andrew Tridgell d258eac88d HAL_ChibiOS: fixed reconfig of group after serial_end() 2018-04-07 09:10:29 +10:00
Andrew Tridgell 46c76c3d5d HAL_ChibiOS: increase serial byte timeout
needs 2ms for final ack in verify
2018-04-07 09:10:29 +10:00
Andrew Tridgell 202a7dd091 HAL_ChibiOS: don't allow dshot while serial active 2018-04-07 09:10:29 +10:00
Andrew Tridgell 382772d999 HAL_ChibiOS: initial support for ESC serial output 2018-04-07 09:10:29 +10:00
Andrew Tridgell 26d279e165 HAL_ChibiOS: improve DShot timing accuracy 2018-04-07 09:10:29 +10:00
Andrew Tridgell bc32276966 HAL_ChibiOS: support DShot output
use DMAR burst DMA to minimise number of DMA channels needed

thanks to betaflight for the great reference implementation!
2018-04-07 09:10:29 +10:00
Andrew Tridgell 306d35655e HAL_ChibiOS: allow for bare board builds
this allows for a build with no UARTs, no SPI, no I2C, no PWM. Great
for initial board bringup with just USB
2018-03-02 12:52:50 +11:00
Andrew Tridgell b992b5e02a HAL_ChibiOS: allow for 16kHz brushed on all timers 2018-02-07 20:33:45 +11:00
Andrew Tridgell 7c23e33775 HAL_Chibios: set min output rate for oneshot to 100Hz
this will keep ESCs happy during gyro cal
2018-01-20 17:40:07 +11:00
Andrew Tridgell 880a84294e HAL_ChibiOS: support oneshot mode
supports oneshot 125 and oneshot
2018-01-20 17:40:07 +11:00
Andrew Tridgell f14a847b97 HAL_ChibiOS: rename classes to remove 'Chibi'
it is redundent as all classes are in ChibiOS namespace, and makes the
code harder to read
2018-01-15 11:46:02 +11:00
Andrew Tridgell 25b68dc150 HAL_ChibiOS: switch base freq when needed
timers can't do below 123 Hz with a clock of 8MHz, so we need to
change clock frequency based on the target period
2018-01-15 11:46:02 +11:00
Andrew Tridgell 738d70ef02 HAL_ChibOS: fixed handling of disabled channels 2018-01-15 11:46:02 +11:00
Andrew Tridgell d17e9f321a HAL_ChibOS: fixed mixture of brushed and normal PWM
allow non-brushed PWM servos with brushed main motors
2018-01-15 11:46:02 +11:00
Andrew Tridgell c639708e22 HAL_ChibOS: auto-generate full PWM config
use PWM markers in hwdef.dat to mark each PWM channel
2018-01-15 11:46:02 +11:00
Andrew Tridgell f5c8754d75 HAL_ChibiOS: use ARRAY_SIZE_SIMPLE
this allows for boards without a device type (eg. no SPI bus)
2018-01-15 11:46:02 +11:00
Andrew Tridgell 280140bf25 HAL_ChibiOS: added support for MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell c3435e45c5 HAL_ChibiOS: initial port to FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell 3a004adbd4 HAL_Chibios: use macro for NUM_GROUPS 2018-01-15 11:46:02 +11:00
Andrew Tridgell 26d6947bf6 HAL_ChibiOS: fixed PWM output 2018-01-15 11:46:02 +11:00
Andrew Tridgell 6dbab450a5 Hal_Chibios: use AP_BoardConfig::io_enabled() 2018-01-15 11:46:02 +11:00