Andrew Tridgell
751024f483
HAL_ChibiOS: mark two skyviper builds as needing abin files
2018-04-11 15:09:49 +10:00
Mark Whitehorn
960e217e79
AP_HAL_Chibios: fix latent bug in ToneAlarm
2018-04-10 21:48:16 +10:00
Andrew Tridgell
f2df171fdd
HAL_ChibiOS: fixed DSM input on fmuv4
2018-04-10 17:22:21 +10:00
Andrew Tridgell
96cc657bd0
HAL_ChibiOS: fixed GPIO interrupt port mapping
2018-04-09 15:32:04 +10:00
Andrew Tridgell
b4aeffbaed
HAL_ChibiOS: added power status flags reporting
2018-04-09 15:32:04 +10:00
Andrew Tridgell
7c85d06600
HAL_ChibiOS: setup pwm counts, and cleanup mindpx-v2 PWM lines
2018-04-09 15:32:04 +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
67993d6e5c
HAL_ChibiOS: re-instate priority boost system
...
this adds back in the priority boost system for the main thread when
waiting for a IMU sample. This significantly improves scheduling
performance on very busy boards like a PH2.1
2018-04-07 09:10:29 +10:00
Andrew Tridgell
2c6e6e3b13
HAL_ChibiOS: removed obsolete DShot example code
2018-04-07 09:10:29 +10:00
Andrew Tridgell
9b22e0b7cc
HAL_ChibiOS: fixed SPI rates on fmuv3
...
this fixes a SPI bandwidth issue on PH2.1 with 3 IMUs active
2018-04-07 09:10:29 +10:00
Andrew Tridgell
8e59f6aad6
HAL_ChibiOS: implement get_esc_scaling()
2018-04-07 09:10:29 +10:00
Andrew Tridgell
a2eec97325
HAL_ChibiOS: raised default SPI priority
...
this was causing transfer errors on the primary IMU of a PH2.1 when
fast sampling was enabled
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
e448b5d069
HAL_ChibiOS: implement UART port locking
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
751c3a554a
HAL_ChibiOS: added fmuv4-beta hardware definition
...
for an old pixracer quad I have (and I believe Peter has one too)
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
692f22c17f
HAL_ChibiOS: added GPIO assignments for revo-mini
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
9a29c6d3b5
HAL_ChibiOS: implement DigitalSource()
2018-04-07 09:10:29 +10:00
Andrew Tridgell
51c40a013b
HAL_ChibiOS: added IRQ save/restore to hal.scheduler
...
these are used by RPM driver
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
b350b07593
HAL_ChibiOS: allow internal GPIO fuctions to use disabled pins
2018-04-07 09:10:29 +10:00
Andrew Tridgell
67bae2669b
HAL_ChibiOS: enable serial5 on fmuv3
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
93111dc0b1
HAL_ChibiOS: ensure that IO UART gets DMA
2018-04-07 09:10:29 +10:00
Andrew Tridgell
95a261e061
HAL_ChibiOS: don't generate DMA channels for ALARM pin
2018-04-07 09:10:29 +10:00
Andrew Tridgell
01e9c55721
HAL_ChibiOS: fixed SPI bus speed on SPI3
...
and add optional bootup test of SPI bus speeds to help with porting to
new MCUs
2018-04-07 09:10:29 +10:00
Andrew Tridgell
610a6a6c88
HAL_ChibiOS: optimise USB config driver
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
294aac6955
HAL_ChibiOS: fixed CTS pulldown
...
we need to pulldown to prevent delays in uart sends
2018-04-07 09:10:29 +10:00
Andrew Tridgell
a64819cbf2
HAL_ChibiOS: minimise DMA TX latency on contended UARTs
...
try to prevent long delays on other users of a DMA channel
2018-04-07 09:10:29 +10:00
Andrew Tridgell
a86e85c6b2
HAL_ChibiOS: enable checking for DMA contention
2018-04-07 09:10:29 +10:00
Andrew Tridgell
64278f07d3
HAL_ChibiOS: removed the DMA channels from RCIN in hwdef.dat
...
no longer needed as this is automatic now
2018-04-07 09:10:29 +10:00
Andrew Tridgell
9a5df6d1f7
HAL_ChibiOS: auto-generate DMA channels for RCIN
...
and add DMA channels for TIMx_UP ready for DMAR based DShot support
2018-04-07 09:10:29 +10:00
Andrew Tridgell
6aff7ecbf5
HAL_ChibiOS: added channel numbers for STM32F4xx MCUs
2018-04-07 09:10:29 +10:00
Andrew Tridgell
da2e79130b
HAL_ChibiOS: generate channel numbers in DMA tables
2018-04-07 09:10:29 +10:00
Andrew Tridgell
3501763f4e
HAL_ChibiOS: added DShot example app
2018-04-07 09:10:29 +10:00
Tom Pittenger
b864cd6ae6
AP_HAL_ChibiOS: include correct wrappers
2018-04-03 08:27:44 +10:00
Andrew Tridgell
c311599e0a
HAL_ChibiOS: make DEFAULT_PARAMETERS relative to source root
2018-03-24 16:12:10 +11:00
kozinalexey
5df2b1a3ac
chibios hal config for F4BY
2018-03-24 06:39:09 +11:00
Peter Barker
2efd9341cd
AP_HAL_ChibiOS: copy the common linker script to outdir, use it from there
...
The directory we write the linker script to might not have the correct relative path to reference this common.ld script. So make it reference common.ld in the current directory and copy common.ld to the output directory
2018-03-23 11:06:24 +11:00
Andrew Tridgell
fd6185be0f
HAL_ChibiOS: fixed python3 pickle error
2018-03-05 09:50:27 +11:00
Andrew Tridgell
961a97a8c9
HAL_ChibiOS: expand docs on STDOUT_SERIAL
2018-03-02 21:46:23 +11:00
Andrew Tridgell
0cd6c9e5fb
HAL_ChibiOS: added commented block on enable debug for builds
2018-03-02 21:39:38 +11:00
Andrew Tridgell
556f3ba53f
HAL_ChibiOS: make UARTs non-blocking by default
...
we never want blocking ports any more with ArduPilot, so defaulting to
blocking makes no sense
2018-03-02 21:39:38 +11:00
Andrew Tridgell
33dd14b8d9
HAL_ChibiOS: use PULLUP on UART TX/RX lines
...
this can prevent spurious bytes on disconnected pins
2018-03-02 21:39:38 +11:00
Andrew Tridgell
91c741ef07
HAL_ChibiOS: use a non-blocking lock for UART shared DMA
...
we can have multiple UARTs on the same thread sharing the same DMA TX
channel. That can lead to deadlock with blocking locks on DMA. This
makes UART requests for DMA locks non-blocking to fix the issue
2018-03-02 21:39:38 +11:00
Andrew Tridgell
08634903c8
HAL_ChibiOS: use relative path for common.ld
...
this avoids a path length issue under cygwin
2018-03-02 17:11:31 +11:00
Andrew Tridgell
9ab695b7ca
HAL_ChibiOS: fixed namespace error
...
thanks to Peter for noticing
2018-03-02 17:11:31 +11:00
Andrew Tridgell
153ad95398
HAL_ChibiOS: added hwdef.dat for minimal F405 and F427 boards
2018-03-02 12:52:50 +11: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
74ed19f460
HAL_ChibiOS: moved more board setup into hwdef.dat
2018-03-02 12:52:50 +11:00
Andrew Tridgell
ebbd15ea17
HAL_ChibiOS: auto-enable CAN when pins are defined
2018-03-02 12:52:50 +11:00
Andrew Tridgell
d84c487a60
HAL_ChibiOS: generate env.py from hwdef.dat
...
allowing for environment override in hwdef.dat
2018-03-02 12:52:50 +11:00
Andrew Tridgell
5f353b5c85
HAL_ChibiOS: fixed build of I2C without I2C1 defined
2018-03-02 12:52:50 +11:00
Andrew Tridgell
6b6c35a435
waf: use relative paths for ChibiOS build
...
this fixes the ChibiOS build on cygwin by reducing path lengths to
below the cygwin limit
2018-03-02 12:52:50 +11:00
Andrew Tridgell
21951243f0
HAL_ChibiOS: default debug checks off
...
these can be enabled as needed for board bringup, but are too
expensive for general use
2018-03-02 12:52:50 +11:00
Andrew Tridgell
0cf104f2f3
HAL_ChibiOS: added scale_esc_to_unity()
...
needed for per-motor compass cal
2018-03-02 12:52:50 +11:00
Andrew Tridgell
21d401e844
HAL_ChibiOS: fixed compass orientation for revo-mini
2018-03-02 12:52:50 +11:00
Andrew Tridgell
46c3308964
HAL_ChibiOS: enable mag on crazyflie2
2018-03-02 12:52:50 +11:00
Andrew Tridgell
d5fc1ff3d4
HAL_ChibiOS: fixed crazyflie motor order
2018-03-02 12:52:50 +11:00
Andrew Tridgell
7e8ceb1121
HAL_ChibiOS: define ALLOW_ARM_NO_COMPASS
2018-03-02 12:52:50 +11:00
Andrew Tridgell
e05bac425f
HAL_ChibiOS: setup crazyflie2 IMU and baro
2018-03-02 12:52:50 +11:00
Andrew Tridgell
9e84c45035
HAL_ChibiOS: dynamically create name for bus threads
2018-03-02 12:52:50 +11:00
Andrew Tridgell
312bde54b4
HAL_ChibiOS: added fmuv2 build for 1M flash boards
2018-03-01 15:25:55 +11:00
Francisco Ferreira
e4382c2232
AP_HAL_ChibiOS: fix CAN thread name
2018-02-28 11:37:55 +09:00
Andrew Tridgell
2581965669
HAL_ChibiOS: fixed mini-pix IMU orientation
2018-02-26 19:16:24 +11:00
Andrew Tridgell
11cfa5fd01
HAL_ChibiOS: correct LSM9DS0 bus IDs to match HAL_PX4
2018-02-19 15:49:32 +11:00
Andrew Tridgell
4d0c3b6581
HAL_ChibiOS: added pixartPC15 SPI device for SPI01
2018-02-14 18:27:00 +11:00
Andrew Tridgell
c4445a7dfd
AP_HAL_ChibiOS: initial hwdef for crazyflie2
2018-02-14 18:27:00 +11:00
Andrew Tridgell
a6e0bb4ed0
HAL_ChibiOS: fixed uart order for revo-mini
...
and setup right battery pins
2018-02-14 18:27:00 +11:00
Andrew Tridgell
17b3607aa8
HAL_ChibiOS: fixed RCIN on revo-mini
...
this also adds an attempt at using 'N' (inverted) channels for
RCIN. This doesn't work yet, but would be better for the revo-mini, as
it would allow the normal RCIN pin to be used
2018-02-14 18:27:00 +11:00
Andrew Tridgell
c6879c679a
HAL_ChibiOS: re-enable USART1 on revo-mini
2018-02-14 18:27:00 +11:00
Andrew Tridgell
427e00dd41
HAL_ChibiOS: switched to system timer for AP_HAL::micros()
...
this uses the ChibiOS system timer instead of a separate GPT timer for
the core ChibiOS timer. The advantage is it saves us a timer, plus it
changes ChibiOS to use a 1MHz clock on its timer, which gives us
higher resolution for delays.
This has a remarkable effect on timing jitter, reducing it greatly
2018-02-14 18:27:00 +11:00
Andrew Tridgell
f357eec78b
HAL_ChibiOS: added more comments in hwdef.dat
2018-02-14 18:27:00 +11:00
Andrew Tridgell
9a95737d7d
HAL_ChibiOS: added lots of comments to FMUv3 hwdef.dat
...
this should help for developers of new boards
2018-02-14 18:27:00 +11:00
Andrew Tridgell
a057498e0c
HAL_ChibiOS: pull PA9 PA10 high on revo-mini
...
needed for correct operation of USB
2018-02-14 18:27:00 +11:00
Andrew Tridgell
66608e8cad
HAL_ChibiOS: improved mini-pix support
2018-02-14 18:27:00 +11:00
ljwang
9b99a0ce55
AP_HAL_ChibiOS: fixed mini-pix hwdef.dat
2018-02-14 18:27:00 +11:00
Andrew Tridgell
c3f8d5580a
HAL_ChibiOS: undef log directory for skyviper-v2450
2018-02-14 07:39:27 +11:00
Andrew Tridgell
b7c4dea9d3
HAL_ChibiOS: gain back 250usec in loop time
...
if we have already called delay_microseconds_boost() then we know
we've given up time to drivers, so we can avoid the extra delay in the
HAL
2018-02-13 17:15:05 +11:00
Mark Whitehorn
da69832140
AP_HAL_ChibiOS: add #ifdef around toneAlarm thread stack declaration
2018-02-13 07:27:02 +11:00
Mark Whitehorn
59b2d44323
AP_HAL_ChibiOS: make ToneAlarm compilation conditional on presence of
...
alarm pin
2018-02-11 14:55:23 +11:00
Mark Whitehorn
d569e35a0f
AP_HAL_ChibiOS: add toneAlarm support for ChibiOS on MindPX-v2
2018-02-11 14:55:23 +11:00
Mark Whitehorn
6baad37e47
AP_HAL_ChibiOS: add ICM208060-am to SPI device table in fmuv3/hwdef.dat
2018-02-11 14:55:23 +11:00
Mark Whitehorn
13c54c0543
AP_HAL_ChibiOS: add missing declaration in chibios_hwdef.py
2018-02-11 14:55:23 +11:00
Mark Whitehorn
3a40ba1d3e
AP_HAL_ChibiOS: add buzzer support to hwdef.dat for fmuv3
2018-02-11 14:55:23 +11:00
Mark Whitehorn
fb142422f6
AP_HAL_ChibiOS: pull ALARM_CHANNEL into pwmGroup
...
and improve formatting of HAL_PWM_ALARM in hwdef.h
2018-02-11 14:55:23 +11:00
Mark Whitehorn
8b216cf182
AP_HAL_ChibiOS: add ToneAlarm thread
...
fmuv4 hwdef.dat: remove PWM label from buzzer output pin
add buzzer pin labeled ALARM
remove timer PWM from HAL_PWM_GROUPs
2018-02-11 14:55:23 +11:00