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
Andrew Tridgell
10f940c8d0
HAL_ChibiOS: adjust RCIN pin settings for fmuv4
...
thanks to Mark for this change
2018-02-09 10:14:53 +11:00
Andrew Tridgell
9301e4888a
HAL_ChibiOS: make not having bus lock a soft error
...
this is nicer for driver developers
2018-02-09 10:14:49 +11:00
Andrew Tridgell
2b86c0e962
HAL_ChibiOS: tweak DMA settings for skyviper-v2450
...
this resolves a problem with the cypress radio.
Thanks to Sid for working this out
2018-02-08 22:15:41 +11:00
Andrew Tridgell
8226530610
HAL_ChibiOS: added DMA_PRIORITY and DMA_NOSHARE options
...
this allows finer grained control of DMA streams
2018-02-08 22:13:00 +11:00
Andrew Tridgell
507fcb0f27
Tools: moved make_abin.sh into Tools/scripts
...
will be used in px4 build
2018-02-08 18:56:51 +11:00
Andrew Tridgell
4ce0c2c827
HAL_ChibiOS: simplify skyviper-v2450 config
...
remove unused peripherals
2018-02-08 17:36:33 +11:00
Andrew Tridgell
b90c0d78f3
HAL_ChibiOS: fixed build warning
2018-02-08 17:36:33 +11:00
Andrew Tridgell
8eff43a352
HAL_ChibiOS: fixed printf arguments
2018-02-08 17:36:33 +11:00
Andrew Tridgell
aee6462deb
HAL_ChibiOS: enable I2C clearing on F412 board only
...
may be needed on other boards in the future, but for now we only know
its needed on an I2C 20789, which is rare
2018-02-08 17:36:33 +11:00
Siddharth Purohit
40142e5aef
ChibiOS: implement way to clear i2c bus by toggling clock line
2018-02-08 17:36:33 +11:00
Andrew Tridgell
0d089e8116
HAL_ChibiOS: fixed F412 OF reset pin
2018-02-08 17:36:33 +11:00
Andrew Tridgell
3c3389a005
HAL_ChibiOS: raise I2C bus priority on F412
...
needed for good scheduling with I2C IMU
2018-02-08 17:36:33 +11:00
Andrew Tridgell
20a008c80a
HAL_ChibiOS: disable trace buffers
...
these were unusued but still allocated
2018-02-08 17:36:33 +11:00
Andrew Tridgell
875008f2a6
HAL_ChibiOS: lock all DMA channels on reboot
...
this fixes a problem with the ICM-20789 on I2C where a reboot while the bus is active
leaves the IMU in a dead state where it can't be recovered without a power cycle.
2018-02-08 17:36:33 +11:00
Andrew Tridgell
6faace278a
HAL_ChibiOS: run i2c at 400kHz on F412
2018-02-08 17:36:33 +11:00
Andrew Tridgell
9f53ae1ea4
HAL_ChibiOS: added F412-rev1 hwdef.dat
2018-02-08 17:36:33 +11:00
Andrew Tridgell
47ce37f463
HAL_ChibiOS: report I2C clock downgrades
2018-02-08 17:36:33 +11:00
Andrew Tridgell
73418519eb
HAL_ChibiOS: enable analog debug on F412
2018-02-08 17:36:33 +11:00
Andrew Tridgell
fd824e6258
HAL_ChibiOS: enable toy mode on F412
2018-02-08 17:36:33 +11:00
Andrew Tridgell
d208dc69d3
Tools: moved make_abin.sh into ChibiOS scripts
2018-02-08 17:36:33 +11:00
Andrew Tridgell
4aa604a193
HAL_ChibiOS: enable pixartflow on skyviper-V2450
2018-02-08 17:36:33 +11:00
Andrew Tridgell
591e0c2249
HAL_ChibiOS: allow control of interrupt port
...
F412 has radio IRQ on port B
2018-02-08 17:36:33 +11:00
Andrew Tridgell
3cacb1d4b5
HAL_ChibiOS: commented the motor order in hwdef
2018-02-08 17:36:33 +11:00
Andrew Tridgell
f3f6972fc0
HAL_ChibiOS: output panics on system console
2018-02-08 17:36:33 +11:00
Andrew Tridgell
75226ba187
HAL_ChibiOS: enable logging on MindPX-v2
...
not working yet, seems to be a problem with SDIO interface
2018-02-07 20:33:45 +11:00
Andrew Tridgell
4548fd4d2f
HAL_ChibiOS: changed RCIN to PULLDOWN
...
this fixes a high cpu load with no receiver connected
2018-02-07 20:33:45 +11:00
Andrew Tridgell
86189393a7
HAL_ChibiOS: fixed build warnings
2018-02-07 20:33:45 +11:00
Andrew Tridgell
4886ffbf8a
HAL_ChibiOS: fixed build warnings
2018-02-07 20:33:45 +11:00
Andrew Tridgell
30e4323c6d
HAL_ChibiOS: disable USART1 till USB problem solved
...
using USART1 causes USB disconnects. The behaviour is like CTS/RTS is
enabled on USART1, but it is disabled.
2018-02-07 20:33:45 +11:00
Andrew Tridgell
d0eb2970c7
HAL_ChibiOS: ensure RTS and CTS are both disabled for no flow control
2018-02-07 20:33:45 +11:00
Andrew Tridgell
82f1f462ae
HAL_ChibiOS: ensure we don't init a uart driver twice
2018-02-07 20:33:45 +11:00
Andrew Tridgell
ad5a04fc89
HAL_ChibiOS: added NODMA option
...
this allows a peripheral to be configured without DMA (for low-use
UARTs)
2018-02-07 20:33:45 +11:00
Andrew Tridgell
74f4d5a3c9
HAL_ChibiOS: push MPU6500 to 4MHz on mindpx-v2
2018-02-07 20:33:45 +11:00
Andrew Tridgell
f1ce321a2f
HAL_ChibiOS: added checking of bus owner
...
this ensures all bus transfers are only done by the thread that owns
the semaphore
2018-02-07 20:33:45 +11:00
Andrew Tridgell
fa68210210
HAL_ChibiOS: fixed build with older compilers
2018-02-07 20:33:45 +11:00
Andrew Tridgell
626632989e
HAL_ChibiOS: fixed build for boards with no USB
2018-02-07 20:33:45 +11:00
Andrew Tridgell
41758348e5
HAL_ChibiOS: added checking of lock state in shared_dma
...
and use lock around check for tx completion in UART handler
2018-02-07 20:33:45 +11:00
Andrew Tridgell
dce4c90467
HAL_ChibiOS: moved UART thread to UART driver
...
use an event model for triggering sends from tx complete DMA handler
for unbuffered uarts
2018-02-07 20:33:45 +11:00
Andrew Tridgell
5fc12f82fb
HAL_ChibiOS: expanded interrupt stack to 256
...
this is very conservative, and may be trimmed later based on analysis
of stack usage
2018-02-07 20:33:45 +11:00
Andrew Tridgell
aae1cc22f4
HAL_ChibiOS: updated USB device strings
...
use defaults or add in serial number
2018-02-07 20:33:45 +11:00
Andrew Tridgell
4b8bde746e
HAL_ChibiOS: improved default USB strings
...
use board name and serial number to make IDs unique
2018-02-07 20:33:45 +11:00
Andrew Tridgell
23e1b2e271
HAL_ChibiOS: added paranoid state checking on I2C
...
this is here just while debugging an issue with Mark
2018-02-07 20:33:45 +11:00
Andrew Tridgell
7e19f49e42
HAL_ChibiOS: fixed DMA lock in SoftSigReader
2018-02-07 20:33:45 +11:00
Andrew Tridgell
1aa6a0068a
HAL_ChibiOS: fixed order of I2C DMA
...
this was harmless, but confusing for debugging
2018-02-07 20:33:45 +11:00
Andrew Tridgell
111e5b6268
HAL_ChibiOS: change USB ID for revo-mini
2018-02-07 20:33:45 +11:00
Andrew Tridgell
4d018cf5e2
HAL_ChibiOS: take lock on DMA allocate/deallocate
...
this is required for the stm32_dma_stream bitmask manipulation
2018-02-07 20:33:45 +11:00
Andrew Tridgell
bc49c0d2c5
HAL_ChibiOS: make hwdef.h the same on python2 and python3
...
and output to /tmp by default to prevent accidental use of old hwdef.h
in the build
2018-02-07 20:33:45 +11:00
Andrew Tridgell
e002fbdb8d
HAL_ChibiOS: fixed a build warning
2018-02-07 20:33:45 +11:00
Andrew Tridgell
077aa24c6d
HAL_ChibiOS: add more pins for revo-mini port
2018-02-07 20:33:45 +11:00
Andrew Tridgell
e91144cc8e
HAL_ChibiOS: allow for empty UART drivers
...
allows for boards with no default GPS port
2018-02-07 20:33:45 +11:00
Andrew Tridgell
e0212ebe85
HAL_ChibiOS: cope with ETR timer channels
...
trean the ETR capability as a separate AF
2018-02-07 20:33:45 +11:00
Andrew Tridgell
c1df2a8a4b
HAL_ChibiOS: cope with timers 10 and later
2018-02-07 20:33:45 +11:00
Andrew Tridgell
d191b37520
HAL_ChibiOS: cope with having no ADC inputs
2018-02-07 20:33:45 +11:00
Andrew Tridgell
87389e0fdc
HAL_ChibiOS: fixed double DMA allocation on i2c
2018-02-07 20:33:45 +11:00
Andrew Tridgell
19e1349d0a
HAL_ChibiOS: setup serial5 for fmuv3 ESP8266
2018-02-07 20:33:45 +11:00
Andrew Tridgell
560948dc69
HAL_ChibiOS: fixed GPIOs for ESP8266 port
2018-02-07 20:33:45 +11:00
Andrew Tridgell
fa96e23552
HAL_ChibiOS: setup correct volt and current pins
...
use hwdef.dat to specify battery pins
2018-02-07 20:33:45 +11:00
Andrew Tridgell
85acbcb21d
HAL_ChibiOS: fixed UART send from TX complete IRQ
2018-02-07 20:33:45 +11:00
Andrew Tridgell
63a825dd2c
HAL_ChibiOS: don't call spiStart() unless bus is stopped
2018-02-07 20:33:45 +11:00
Andrew Tridgell
e29b79f41b
HAL_ChibiOS: fixed DMA allocation bug on SPI
...
thanks to Mark Whitehorn for finding this crash
2018-02-07 20:33:45 +11:00
Andrew Tridgell
29add8a880
HAL_ChibiOS: fixed build without FATFS enabled
2018-02-07 20:33:45 +11:00
Andrew Tridgell
6b187b393a
HAL_ChibiOS: fixed fmuv4 build
2018-02-07 20:33:45 +11:00
Siddharth Purohit
e1a8bba58b
HAL_ChibiOS: increase the stack size for uavcan thread
2018-02-07 20:33:45 +11:00
Siddharth Purohit
77f8acd7a1
HAL_ChibiOS: add CAN to supported peripherals list
2018-02-07 20:33:45 +11:00
Siddharth Purohit
6f21c1583f
HAL_ChibiOS: add definitions to support uavcan in fmuv3
2018-02-07 20:33:45 +11:00
Siddharth Purohit
edd0e8d2f5
HAL_ChibiOS: add CANManager to ChibiOS namespace
2018-02-07 20:33:45 +11:00
Siddharth Purohit
143686f70d
HAL_ChibiOS: add placeholder cstdio header
2018-02-07 20:33:45 +11:00
Siddharth Purohit
539d5adc13
hwdef: add more posix methods
2018-02-07 20:33:45 +11:00
Siddharth Purohit
288f6b1fa0
HAL_ChibiOS: add chibios cpp wrapers, libuavcan's stm32 driver uses it
2018-02-07 20:33:45 +11:00
Siddharth Purohit
f2e77ab773
AP_HAL_ChibiOS: add uavcan thread
2018-02-07 20:33:45 +11:00
Siddharth Purohit
3c009cf02c
AP_HAL_ChibiOS: add CAN driver
2018-02-07 20:33:45 +11:00
Andrew Tridgell
b992b5e02a
HAL_ChibiOS: allow for 16kHz brushed on all timers
2018-02-07 20:33:45 +11:00
Andrew Tridgell
b0d0ee1f01
HAL_ChibiOS: reformat using yapf and support python3
...
allow hwdef.h compilation using python3
2018-02-07 20:33:45 +11:00
Andrew Tridgell
67e0ba22fe
HAL_ChibiOS: fixed some errors in F405 tables
2018-02-07 20:33:45 +11:00
Andrew Tridgell
70ff3871e0
HAL_ChibiOS: fixed RC in on CH1 of timer
2018-02-07 20:33:45 +11:00
Andrew Tridgell
890d322b47
HAL_ChibiOS: starting on mini-pix hwdef.dat
...
for RadioLink mini-pix board
2018-02-07 20:33:45 +11:00
Andrew Tridgell
23555f4c25
HAL_ChibiOS: allow for empty storage during bringup
...
useful when storage backend driver isn't written yet
2018-02-07 20:33:45 +11:00
Andrew Tridgell
ecce2a73d0
HAL_ChibiOS: Storage::_timer_tick is an override
2018-02-07 20:33:45 +11:00
Andrew Tridgell
713006bb1d
HAL_ChibiOS: allow more OTG defines to be overridden
2018-02-07 20:33:45 +11:00
Andrew Tridgell
1fb257a35a
HAL_ChibiOS: initial hwdef.dat for revo mini
2018-02-07 20:33:45 +11:00
Andrew Tridgell
979a2a4796
HAL_ChibiOS: removed debug code
2018-02-07 20:33:45 +11:00
Siddharth Purohit
538af2a58a
HAL_ChibiOS: fix parity and stop bit setting
2018-02-07 20:33:45 +11:00
Mark Whitehorn
b94b1dcd97
AP_HAL_ChibiOS: add missing declaration
2018-02-07 20:33:45 +11:00
Siddharth Purohit
df4bf7e476
HAL_ChibiOS: fix irq clash with unnecessary access to readbuf ring buffer
2018-02-07 20:33:45 +11:00
Siddharth Purohit
02696882e9
HAL_ChibiOS: if unbuffered write, do continue to invoke DMA writes
...
adds higher latency to device sharing DMA
2018-02-07 20:33:45 +11:00
proficnc
c613c0bde2
added the cube red hardware definition
2018-02-07 20:33:45 +11:00
Andrew Tridgell
3dacbd1b36
HAL_ChibiOS: hold write lock for unbuffered writes
2018-02-07 20:33:45 +11:00
Andrew Tridgell
ad26ca4a27
HAL_ChibiOS: implement parity and stop bits controls
2018-02-07 20:33:45 +11:00
Andrew Tridgell
2e15285c51
HAL_ChibiOS: refuse unbuffered writes without DMA
...
we would need much more complex code to handle this
2018-02-07 20:33:45 +11:00
Andrew Tridgell
3f2cc2c9d6
HAL_ChibiOS: implement low latency UART writes
...
this implements the set_unbuffered_writes() API by performing writes
directly in the write() call and not from a timer
2018-02-07 20:33:45 +11:00
Andrew Tridgell
015c3a1fa3
HAL_ChibiOS: removed duplicate defines
2018-02-07 20:33:45 +11:00
Andrew Tridgell
865e4f3104
HAL_ChibiOS: implement _timer_tick in UARTDriver
2018-02-07 20:33:45 +11:00
Andrew Tridgell
a5bafb399f
HAL_ChibiOS: adjust SPI pin speeds
2018-02-07 20:33:45 +11:00
Andrew Tridgell
7b251c9739
HAL_ChibiOS: lower FRAM CS speed to 2MHz
...
this matches old firmware
2018-01-20 17:40:07 +11:00
Andrew Tridgell
30fd2da108
HAL_ChibiOS: enable RTSCTS and SBUS_OUT
2018-01-20 17:40:07 +11:00
Andrew Tridgell
63671b06a8
HAL_ChibiOS: added HAL_I2C_MAX_CLOCK define
2018-01-20 17:40:07 +11:00
Andrew Tridgell
88f11f5a50
HAL_ChibiOS: added HAL_I2C_BUS_BASE
...
this allows fmuv4 to start at bus 1
2018-01-20 17:40:07 +11:00
bugobliterator
c60c0b8ab1
HAL_ChibiOS: fix undef line processing
2018-01-20 17:40:07 +11:00
Andrew Tridgell
8286486890
HAL_ChibiOS: drop default SPI priority to 179
2018-01-20 17:40:07 +11:00
Andrew Tridgell
ab748034a2
HAL_ChibiOS: removed RC inversion logic
...
not needed any more
2018-01-20 17:40:07 +11:00
bugobliterator
7db19cfae0
HAL_ChibiOS: use separate parameter for detect timeout
2018-01-20 17:40:07 +11:00
Andrew Tridgell
613d7a47ba
HAL_ChibiOS: support RCIN on mindpx-v2
2018-01-20 17:40:07 +11:00
bugobliterator
02c7513f83
HAL_ChibiOS: add invert method and fix width measurement
2018-01-20 17:40:07 +11:00
bugobliterator
f7ac5aa079
HAL_ChibiOS: put rcin on a separate thread
2018-01-20 17:40:07 +11:00
Andrew Tridgell
f50f427a59
HAL_ChibiOS: added comment on beta fmuv4 board
2018-01-20 17:40:07 +11:00
Andrew Tridgell
743806116d
HAL_ChibiOS: removed unusued ppm driver
...
now uses AP_RCProtocol
2018-01-20 17:40:07 +11:00
Andrew Tridgell
ccb85c2707
HAL_ChibiOS: fixed fmuv3 build with no ICU
2018-01-20 17:40:07 +11:00
Andrew Tridgell
33c7cba9af
HAL_ChibiOS: use more efficient push mechanism in IRQ
...
and don't use push_force() as it is not safe to do reads from within
the producer
2018-01-20 17:40:07 +11:00
Andrew Tridgell
7a4f429b85
HAL_ChibiOS: don't adjust buffer size for protocol
...
its all about IRQ latency, not IRQ rate
2018-01-20 17:40:07 +11:00
Andrew Tridgell
e2c8fe27ef
HAL_ChibiOS: fixed memory handling in SoftSigReader
2018-01-20 17:40:07 +11:00
bugobliterator
eeea2c9961
HAL_ChibiOS: use software signal reader for RCInput if available
2018-01-20 17:40:07 +11:00
bugobliterator
6be4c710c3
HAL_ChibiOS: add Software Signal reader using timer and DMA
2018-01-20 17:40:07 +11:00
bugobliterator
1db1ff799e
HAL_ChibiOS: modify hwdef scripts to setup for generic RCIN
2018-01-20 17:40:07 +11:00
bugobliterator
1970d8a2c8
HAL_ChibiOS: use common RCIN pin for fmuv4
2018-01-20 17:40:07 +11:00
bugobliterator
445ba6ed39
HAL_ChibiOS: update ppm to use Extended ICU driver
2018-01-20 17:40:07 +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
b07c599bf2
Hal_Chibios: allow for faster INS sample times
...
we need higher priority on SPI and faster device loops
2018-01-20 17:40:07 +11:00
Andrew Tridgell
25f13ed518
HAL_Chibios: adjust MPU9250 clock speed down
...
this helps with fast sampling enabled
2018-01-20 17:40:07 +11:00
Andrew Tridgell
7e44b06440
HAL_ChibiOS: adjust SPI clock rates on FMUv4
...
this prevents some timing errors on the IMUs
2018-01-20 17:40:07 +11:00
Andrew Tridgell
dd59a5ff57
HAL_ChibiOS: adjust external bus clock for mpu9250
...
this fixes an issue with fast sampling on the PH2.1 cube
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
ba3cdf74b5
HAL_Chibios: optional ADC debugging
...
this debugging capability is very useful on board bringup. It outputs
the first 6 analog channels as an AP_ADC MAVLink message
2018-01-20 17:40:07 +11:00
Andrew Tridgell
c863681849
HAL_ChibiOS: fixed PWM output assignment
2018-01-20 17:40:07 +11:00
Andrew Tridgell
82c6d2751f
HAL_ChibiOS: fixed F412 ram and flash setup
2018-01-20 17:40:07 +11:00
Peter Barker
67bed1d6c2
HAL_ChibiOS: added support for Sparky2 STM23F405 board
2018-01-20 17:40:07 +11:00
Andrew Tridgell
f6138e3c91
HAL_ChibiOS: use calloc in preferance to malloc
2018-01-17 11:22:05 +11:00
Andrew Tridgell
8dae3fe59b
HAL_ChibiOS: use calloc for malloc type
...
this is not strictly necessary on ChibiOS as we already override
malloc, but will keep static analysis happy
2018-01-17 11:22:05 +11:00
Andrew Tridgell
7ca3b56886
HAL_ChibiOS: fixed STM32F405 typos
2018-01-16 09:46:30 +11:00
Andrew Tridgell
e120e912f1
HAL_ChibiOS: moved board defines to hwdef.dat
2018-01-15 11:46:02 +11:00
Andrew Tridgell
e2a65c8c60
HAL_ChibiOS: added support for AP_Terrain for ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
cde930f5c8
HAL_ChibiOS: added skyviper-v2450 hwdef config
2018-01-15 11:46:02 +11:00
Andrew Tridgell
c8beddf1e4
HAL_ChibiOS: allow for includes in hwdef.dat files
...
this allows creation of derived boards
2018-01-15 11:46:02 +11:00
Andrew Tridgell
2929b3dbb1
HAL_ChibiOS: allow builds on systems with no SDIO
2018-01-15 11:46:02 +11:00
Andrew Tridgell
7b0eccc309
HAL_ChibiOS: updated skyviper-f412 hwdef.dat
2018-01-15 11:46:02 +11:00
Andrew Tridgell
60a773d045
HAL_ChibiOS: removed duplicate defines
2018-01-15 11:46:02 +11:00
Andrew Tridgell
ef1a14cc6c
HAL_ChibiOS: fixed 5V analog scale on fmuv4 and mindpx-v2
2018-01-15 11:46:02 +11:00
Andrew Tridgell
867e7ebf71
HAL_ChibiOS: auto-generate GPIO table from hwdef.dat
2018-01-15 11:46:02 +11:00
Andrew Tridgell
fbe8166c71
HAL_ChibiOS: auto-generate AnalogIn pin table
2018-01-15 11:46:02 +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
2978649cd4
waf: moved to generated loader script
2018-01-15 11:46:02 +11:00
Andrew Tridgell
6e4ef32628
HAL_ChibiOS: moved to generated loader script
2018-01-15 11:46:02 +11:00
Andrew Tridgell
9482ab1840
waf: use common makefile for ChibiOS if no custom present
2018-01-15 11:46:02 +11:00
Andrew Tridgell
bae9469af7
HAL_ChibiOS: use a common makefile and board.c
...
allow for custom files per board if supplied, but don't require them
for every board
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
daa9eec836
HAL_ChibiOS: auto-configure timer channels
...
allow for one marked PPMIN for input
2018-01-15 11:46:02 +11:00
Andrew Tridgell
d65ec2ada7
HAL_ChibiOS: moved more headers to common
...
allow customisation, but don't require every port to copy the defaults
2018-01-15 11:46:02 +11:00
Andrew Tridgell
960bc40ff3
HAL_ChibiOS: moved to a common mcuconf.h
2018-01-15 11:46:02 +11:00
Andrew Tridgell
48d2704cf4
HAL_ChibiOS: CS pins don't need to be a single SPI BUS
...
its possible to use a CS pin on different buses, so they should not
have a particular bus tag
2018-01-15 11:46:02 +11:00
Andrew Tridgell
a554215576
HAL_ChibiOS: start to cope with not having I2C, SPI and UARTs
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
468cadca45
HAL_ChibiOS: auto-generate UART driver declarations
2018-01-15 11:46:02 +11:00
Andrew Tridgell
58796ff435
HAL_Chibios: moved SPI device tables to hwdef.dat
2018-01-15 11:46:02 +11:00
Andrew Tridgell
d1f93cd66c
HAL_Chibios: auto-generate I2C, SPI and UART device lists
...
this is less error prone and make a port faster as more information is
in hwdef.dat
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
9f5e01d20a
HAL_Chibios: fixed FMUv4 compasses
2018-01-15 11:46:02 +11:00
Andrew Tridgell
2646b9ef33
HAL_Chibios: matched debug port speed to NuttX
2018-01-15 11:46:02 +11:00
Andrew Tridgell
41be81af34
HAL_Chibios: added hardware flow control for UARTs
...
implement RTS in software and CTS in hardware
2018-01-15 11:46:02 +11:00
Andrew Tridgell
9916a93919
HAL_ChibiOS: fixed I2C device list
2018-01-15 11:46:02 +11:00
Andrew Tridgell
f135e73e04
HAL_ChibiOS: F412 doesn't have CCM ram
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
bugobliterator
5feef04f5f
HAL_ChibiOS: add support for CCM memory
...
this uses DMA bounce buffers for bus transfers, and falls back to CCM
ram in allocations if the type is unspecified
2018-01-15 11:46:02 +11:00
Andrew Tridgell
36227aa126
HAL_ChibiOS: implement bus speed and smbus for I2C
...
use the slowest speed of all devices on the bus
2018-01-15 11:46:02 +11:00
Andrew Tridgell
4b5e617673
HAL_ChibiOS: added missing DMA table for STM32F405
2018-01-15 11:46:02 +11:00
Peter Barker
f3d46506b0
AP_HAL_Chibios: warning fixes
2018-01-15 11:46:02 +11:00
Andrew Tridgell
791edee0ff
HAL_Chibios: added more SPI devices for FMUv3
2018-01-15 11:46:02 +11:00
Andrew Tridgell
755eca31c2
HAL_Chibios: don't unregister shared DMA
...
the shared DMA handle is a property of the bus, not the device, so
should not be unregistered when the device is removed
2018-01-15 11:46:02 +11:00
Andrew Tridgell
9812fc9574
HAL_Chibios: prevent creation of i2c devices on invalid bus
2018-01-15 11:46:02 +11:00
Andrew Tridgell
b62773bbad
HAL_ChibiOS: improved auto-config of ADC pins
...
ADC config now based on pin_scaling array
2018-01-15 11:46:02 +11:00
Andrew Tridgell
1cc4b92b76
HAL_ChibiOS: added additional FMUv3 analog pins
2018-01-15 11:46:02 +11:00
Andrew Tridgell
aa2175ec0c
HAL_ChibiOS: show ADC1 channels in hwdef.h
2018-01-15 11:46:02 +11:00
Andrew Tridgell
5a7e2f75d1
HAL_ChibiOS: added ADC1_Map to STM32 tables
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
b57f8f01c6
HAL_Chibios: fixed return for read on invalid gpio pin
2018-01-15 11:46:02 +11:00
Andrew Tridgell
7971f03bde
Hal_Chibios: fixed F412 SPI config
2018-01-15 11:46:02 +11:00
Andrew Tridgell
21f40da510
HAL_Chibios: align GPIO pins with px4 build
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
c742543565
HAL_Chibios: align SPI device IDs with px4 IDs
...
this makes for easier update to ChibiOS without redoing accelcal
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
Andrew Tridgell
86fbdcd060
HAL_ChibiOS: ensure malloc returns zeroed memory
2018-01-15 11:46:02 +11:00
Andrew Tridgell
8b6bab7b17
HAL_Chibios: added ChibiOS HAL
...
this is based on initial work by Sid, reset here for easier merging
2018-01-15 11:46:02 +11:00