Andy Piper
401e5c2073
AP_HAL_ChibiOS: add support for bidir DShot support in RCOutput
...
add support for sampling GPIO pins using timer
don't restart pwm group when not doing bi-dir
fix hwdef generation preproc for TIM DMA
decode telemetry at the start of the dshot cycle
calculate dshot pulse separation correctly and ensure we output rapidly enough
calculate dshot min periods and timeouts correctly
refactor dshot_send() into dshot_send_groups()
use bi-dir dshot channel mask
selectively enable bi-dir RC Channels
process bi-dir mask correctly when allocating DMA channels
allow UP and CH DMA channel sharing
optionally enable bidir vars in hwdef.
enable bi-dir dshot in KakuteF7Mini
enable bi-dir dshot in OmnibusF4Pro
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in MatekF405
enable bi-dir dshot in fmuv5
enable bi-dir dshot in fmuv3
enable bi-dir dshot in OmnibusF7V2
enable bi-dir dshot in OmnibusNanoV6
enable bi-dir dshot in CubeOrange
enable bi-dir dshot in Pixracer
enable bi-dir dshot in mRoPixracerPro
Co-authored-by: bugobliterator <siddharthbharatpurohit@gmail.com>
2020-12-30 19:14:16 +11:00
Andy Piper
83c8807b39
AP_HAL_ChibiOS: when HAL_ENABLE_THREAD_STATISTICS is defined add ChibiOS thread stats to threads.txt
...
define HAL_ENABLE_THREAD_STATISTICS in hwdef.h
2020-12-30 18:15:05 +11:00
Tom Pittenger
da74d755d0
AP_HAL_ChibiOS: add new HAL_PWM_COUNT define
2020-12-21 18:27:07 -08:00
Andrew Tridgell
b4de6fb56a
HAL_ChibiOS: added new option DEFAULTGPIO for hwdef.dat
...
this allows ESD issues to be avoided by pulling all unused pins low
2020-12-08 11:21:57 +11:00
Andrew Tridgell
f44e4aaefb
HAL_ChibiOS: always set STM32_DMA_REQUIRED for non-bootloader
...
this fixes an issue for uart-only AP_Periph builds
2020-12-08 10:27:27 +11:00
Andrew Tridgell
c778d14fd3
HAL_ChibiOS: enable stack checking on f303 boards
2020-12-01 11:14:50 +11:00
Andrew Tridgell
573cd6db6d
HAL_ChibiOS: adjust MAIN_STACK for more ISR stack
...
we need more stack to deal with interrupt nesting between CAN, system
timer and serial interrupts
2020-12-01 11:14:50 +11:00
Andrew Tridgell
4d171ec19a
AP_HAL_ChibiOS: support uartI, allowing a total of 9 uarts
...
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Andrew Tridgell
17b4198921
HAL_ChibiOS: add WITH_FATFS to environment
2020-11-10 16:15:45 +11:00
Andrew Tridgell
bb3b59966f
HAL_ChibiOS: define INS_MAX_INSTANCES if less than 3
...
save some flash and memory
2020-11-10 16:15:45 +11:00
Andrew Tridgell
46976c4358
HAL_ChibiOS: fixed remapping of ioline_t with BRD_ALT_CONFIG
...
when a peripheral is made available via BRD_ALT_CONFIG we need to
remap the existing ioline_t in the UART and I2C drivers to use the new
pin.
This fixes an issue with half-duplex, inverted, swapped UART pins for
protocols like FPort and FPort2
2020-10-28 19:51:45 +11:00
Andrew Tridgell
702a3926f8
HAL_ChibiOS: setup defines for more flow control pins
...
allow all uarts to have flow control
2020-10-03 20:22:56 +10:00
Andrew Tridgell
4b747430e1
HAL_ChibiOS: save 2k in f103 bootloader
...
don't include serial bl support if dev list is empty
2020-09-24 12:32:19 +10:00
Siddharth Purohit
a79efaeb1d
AP_HAL_ChibiOS: hwdef: add support for HAL CANIface based bootloader
2020-09-24 12:32:19 +10:00
Siddharth Purohit
882c86c394
AP_HAL_ChibiOS: add app start offset to leave space for params
2020-09-24 12:32:19 +10:00
Siddharth Purohit
62df67a4b8
HAL_ChibiOS: hwdef: modify to use HAL CAN driver instead of ChibiOS's
2020-09-24 12:32:19 +10:00
Andrew Tridgell
1ffbbb2896
HAL_ChibiOS: added FLASH_TOTAL to environment
2020-09-10 07:41:25 +10:00
Andrew Tridgell
491e82159c
HAL_ChibiOS: add HAL_WITH_SPI_xx defines for SPI devices
...
this allows us to avoid building drivers for SPI devices we don't
have, such as OSD
2020-09-02 05:56:46 +10:00
Siddharth Purohit
cdf8e369f1
AP_HAL_ChibiOS: create UAVCAN agnostic CANIface driver
...
HAL_ChibiOS
2020-08-19 17:31:09 +10:00
Andrew Tridgell
20b2396646
HAL_ChibiOS: fixed bug in undef of pins
...
revert pin to initial state on undef
2020-06-30 14:28:30 +10:00
Andrew Tridgell
61d036acf3
HAL_ChibiOS: added build time check for right system clock
...
this helps prevent cases where we underclock a chip due to mistake in
headers or hwdef.dat
2020-05-10 15:09:28 +10:00
Andrew Tridgell
2c26807736
HAL_ChibiOS: embed hwdef.dat in ROMFS for all boards
2020-04-29 07:36:55 +10:00
Andrew Tridgell
6bacf021c8
HAL_ChibiOS: disable thread_info in AP_Periph and bootloader
2020-04-29 07:36:55 +10:00
Andrew Tridgell
a52070d226
HAL_ChibiOS: use SERIAL_ORDER instead of UART_ORDER
...
SERIAL_ORDER is much easier for developers to understand as it maps
directly to the SERIALn_ parameters
2020-04-28 10:32:23 +10:00
Andrew Tridgell
82c45f6cdb
HAL_ChibiOS: default STM32_VDD to 3.3V
2020-04-28 10:32:23 +10:00
Andrew Tridgell
2165fd66f1
HAL_ChibiOS: define FLASH_RESERVE_END_KB
2020-04-14 10:02:51 +10:00
bugobliterator
ef91f1634b
HAL_ChibiOS: add support for adding board validation test
2020-04-10 07:04:21 +10:00
Andrew Tridgell
e0957c2bcc
HAL_ChibiOS: include hwdef.dat in ROMFS
...
this allows download via ftp
2020-03-28 15:28:03 +11:00
Andrew Tridgell
ea57b7b3cd
HAL_ChibiOS: embed ROMFS files from hwdef directory
...
this allows for a scripts/ directory under hwdef board directory to
embed lua scripts
2020-03-28 15:28:03 +11:00
Andy Piper
3d0cf7e12a
AP_HAL_ChibiOS: hardware M4-Cortex and M7-Cortex (and H7) implementation of HAL FFT abstraction
...
implements an FFT engine based on the betaflight feature using ARM hardware accelerated CMSIS library
make the FFT feature optional
add dynamic gyro windows
add quinns and candans estimators and record in DSP state
disable DSP for boards with limited flash
calculate power spectrum rather than amplitude
start/analyse version of analysis to support threading
allocate memory in a specific region
constrain window size by CPU class
control inclusion of DSP based on board size
2020-02-22 11:15:37 +11:00
Matt Lawrence
e6f32f4572
AP_HAL_ChibiOS: Fix waf --default-parameters
...
If a defaults.parm file was present in the hwdef, waf ignored the --default-parameters=xyz.parm command line argument. This will allow it to use that command line argument specified file.
2020-02-11 11:00:01 +11:00
Andrew Tridgell
7a812a5516
HAL_ChibiOS: use cortex m7 instructions on F7/H7
2020-01-25 08:50:09 +11:00
Andrew Tridgell
320a703afc
HAL_ChibiOS: fixed UART DMA config for ALT() pins
2020-01-19 07:24:57 +11:00
Andrew Tridgell
f7a65afa67
HAL_ChibiOS: allow for baro with no arguments
2020-01-18 17:00:44 +11:00
Andrew Tridgell
43172bdd57
HAL_ChibiOS: switch non-composite USB ID
...
use newly allocated 0x1209/0x5740
2020-01-06 11:43:15 +11:00
Andrew Tridgell
793b867706
HAL_ChibiOS: switched to new USB VID for dual-CDC boards
2020-01-06 09:55:26 +11:00
Andrew Tridgell
ab0f1a8887
HAL_ChibiOS: added max uarts check
2020-01-03 17:32:23 +11:00
Andrew Tridgell
296a4cb086
HAL_ChibiOS: re-format and fix chibios_hwdef.py for flake8
2020-01-02 09:52:57 +11:00
Andrew Tridgell
9c2b5a05bd
HAL_ChibiOS: fixed python3 error
2020-01-02 09:52:57 +11:00
Andrew Tridgell
c5df48faa7
HAL_ChibiOS: break out make_line() for PAL_LINE defines
2020-01-02 09:52:57 +11:00
Andrew Tridgell
66dd5925cf
HAL_ChibiOS: added support for alternative pin configs
2020-01-02 09:52:57 +11:00
Andrew Tridgell
a30e637484
HAL_ChibiOS: fixed bug in UART pin assignment
...
this fixes an issue with the setting of pullup/pulldown on UARTs. It
also adds enforcement of DMA assignment for DMA required peripherals
2020-01-02 09:52:57 +11:00
Andrew Tridgell
faf34970e1
HAL_ChibiOS: automatically control pullup/pulldown on inverted UARTs
...
this makes setup of sport telemetry much easier
2020-01-02 09:52:57 +11:00
Andrew Tridgell
58292821b3
HAL_ChibiOS: fix DMA on UARTs for F303
2019-12-26 10:42:48 +11:00
Andrew Tridgell
1248519b11
HAL_ChibiOS: account for empty uarts in uart count
...
this fixes uart count on MatekF405-Wing
2019-12-22 08:27:17 +11:00
Andrew Tridgell
fc867b1596
HAL_ChibiOS: automatically set AP_FEATURE_SBUS_OUT
2019-12-18 17:18:44 +11:00
Andrew Tridgell
b3459c024c
HAL_ChibiOS: automatically set AP_FEATURE_RTSCTS
2019-12-18 17:18:44 +11:00
Andrew Tridgell
4745c9f78d
HAL_ChibiOS: setup define for number of serial ports
2019-11-19 07:13:20 +08:00
Andrew Tridgell
bc1de7a208
HAL_ChibiOS: support STM32F3xx MCUs
2019-11-01 10:53:53 +11:00
Andrew Tridgell
8f14ea9e80
HAL_ChibiOS: enable advanced timers if we have any N PWM channels
2019-10-29 13:09:14 +11:00