Commit Graph

1176 Commits

Author SHA1 Message Date
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