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
8dcb973dad
HAL_ChibiOS: fix SWD config in f3 boards
2020-08-20 19:08:14 +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
ea71b72c87
HAL_ChibiOS: fixed issue with I2C4 on H743
...
when both I2C4 and SPI4 are active on a H743 I found that some BDMA
completion interrupts were lost, which resulted in SPI transfer
timeouts. Close inspection of the ChibiOS BDMA, I2Cv3 and SPIv3
drivers did not reveal any issues, but I found that the issue only
happened when the first 4 BDMA streams were used. This change splits
the 4 streams across the first and 2nd half of the BDMA controller,
and that fixes the problem.
This works as there are only 2 peripherals (I2C4 and SPI6) that want
to use BDMA with our current setup. If we ever wish to enable ADC3
(which also uses BDMA) we will need to revisit this issue
2020-04-28 17:42:15 +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
CUAVcaijie
2df2e5c275
HAL_ChibiOS: Fix DMA of SPI1 TX on STM32F412
2019-12-26 15:50:18 +11:00
Andrew Tridgell
58292821b3
HAL_ChibiOS: fix DMA on UARTs for F303
2019-12-26 10:42:48 +11:00
Andrew Tridgell
652d137594
HAL_ChibiOS: fixed DMA channels for f3 USART2
2019-12-26 10:42:48 +11:00
Andrew Tridgell
6eb86c6cdb
HAL_ChibiOS: removed PB1 and PB0 TIM1 complementary channels for F76x
...
these do not work, possibly a datasheet bug
2019-12-23 21:46:57 +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
Andrew Tridgell
49e669aa1f
HAL_ChibiOS: support uncompressed bootloader on f103-periph
...
this allows update with very low memory
2019-10-24 22:03:43 +11:00
Andrew Tridgell
0a4576728e
HAL_ChibiOS: support a app->bootloader comms region in SRAM
...
this allows for UAVCAN update without a 2nd BeginFirmwareUpdate call
2019-10-21 19:12:01 +11:00
Andrew Tridgell
44f895ab16
HAL_ChibiOS: fixed for ZubaxGNSS build
2019-10-21 19:12:01 +11:00
Andrew Tridgell
e90bd27435
HAL_ChibiOS: fixed I2C on F103
...
we need to use open-drain, and the sign of the constant matters
2019-10-20 20:31:02 +11:00
Andrew Tridgell
47f2f1764d
HAL_ChibiOS: generate HAL_MEMORY_TOTAL_KB for each board
2019-10-01 09:29:55 +10:00
Andrew Tridgell
850892c3d9
HAL_ChibiOS: fixes from LGTM errors
2019-09-22 18:35:15 +10:00
Andrew Tridgell
3c058851b2
HAL_ChibiOS: fixed undef for define lines
...
this fixes IMU heater enable for CubeBlack+
2019-09-16 12:53:44 +10:00
Andrew Tridgell
75696997cc
HAL_ChibiOS: added buzzer support to CUAV_GPS
2019-09-10 16:22:33 +10:00
Andrew Tridgell
b344946300
HAL_ChibiOS: prevent duplicate sensors in hwdef.dat
...
throw an error on configure if there is a duplicate
2019-09-05 06:37:35 +10:00
Andrew Tridgell
beca17c638
HAL_ChibiOS: use GET_I2C_DEVICE() for i2c probing
...
this allows for the driver probing to use a macro to prevent loading
of duplicate i2c devices (AP_Compass does this)
2019-09-04 16:27:47 +10:00
Andrew Tridgell
c8806acaf5
HAL_ChibiOS: use AP_PERIPH env var
2019-08-27 10:29:56 +10:00
Andrew Tridgell
2facfe0baa
HAL_ChibiOS: support empty UART_ORDER
...
for CAN bootloader without uart support
2019-08-27 10:29:56 +10:00
Andrew Tridgell
16bdaaa1af
HAL_ChibiOS: added support for STM31F10x for AP_Periph
2019-08-27 10:29:56 +10:00
Andrew Tridgell
98f578394f
HAL_ChibiOS: default OTG2 protocol to mavlink2 on most boards
...
For boards that haven't yet had a driver update in MissionPlanner to
cope with the 2nd OTG interface this change makes both interfaces work
as MAVLink
This also fixes an issue with connecting under a windows VM within
vmware
2019-07-26 21:58:57 +10:00
Andrew Tridgell
2f0a4ff1ab
HAL_ChibiOS: fixed build on boards with less than max uarts
2019-07-12 17:01:21 +10:00
Andrew Tridgell
02014776e8
HAL_ChibiOS: auto-set HAL_HAVE_DUAL_USB_CDC
2019-07-12 17:01:21 +10:00
Siddharth Purohit
2f0d1336e6
HAL_ChibiOS: add support for dual usd cdc
2019-07-12 17:01:21 +10:00
Peter Barker
a61028c55d
AP_HAL_ChibiOS: disable scripting if USE_FATFS=no
2019-07-08 09:55:46 +10:00
Alexey Kozin
e5988f7153
AP_HAL_ChibiOS: fix voltage sensor connected to fmu adc
2019-07-02 06:42:11 +10:00
Michael du Breuil
a34ac14ec5
AP_HAL_ChibiOS: Make BOARD_FLASH_SIZE available at configure time
2019-06-18 00:06:32 -07:00
Andrew Tridgell
03bb94599b
HAL_ChibiOS: support I2C sensor probes by bus mask
2019-05-30 15:39:57 +10:00
Andrew Tridgell
eae852962e
HAL_ChibiOS: fixed case of no IMU, BARO or COMPASS config settings
2019-05-30 15:39:57 +10:00
Andrew Tridgell
b47ab5c8a9
HAL_ChibiOS: support I2C sensor config in hwdef.dat
2019-05-30 15:39:57 +10:00
Andrew Tridgell
e198d552a8
HAL_ChibiOS: support IMU, COMPASS and BARO lines in hwdef.dat
...
this allows for main sensors to be set in hwdef.dat, making adding new
boards simpler
2019-05-30 15:39:57 +10:00
Phillip Kocmoud
16f1ec8ce2
HAL_ChibiOS: added missing AF functions for F777
2019-05-10 15:05:42 +10:00
Andrew Tridgell
2b0a30a2c5
HAL_ChibiOS: ensure we don't overflow bootloader area
...
this modifies the ld script to use the maximum size available for the
bootloader, so we can't accidentially grow the bootloader beyond its
max size
2019-05-06 12:36:41 +10:00
Michael du Breuil
b0f4611ddc
AP_HAL_ChibiOS: Fix python3 with F7 builds
2019-04-20 12:33:44 +10:00
Andrew Tridgell
32ebd2080f
HAL_ChibiOS: mark SDIO and SDMMC IO as pullup
...
this is needed for boards such as PixhackV3 which don't have hardware
pullups. Thanks to Hongle for reporting this.
2019-04-12 19:44:00 +10:00
Andrew Tridgell
cd27e3022f
HAL_ChibiOS: check for prefix match on peripherals
2019-03-15 11:54:57 +11:00
Andrew Tridgell
26d1371d25
HAL_ChibiOS: separate out DMA allocation for sdcard IO
...
this fixes an issue with DMA to SPI6 on STM32H7. On the H7 SRAM4 can
be used for DMA and BDMA to all devices except for SDMMC which uses
IDMA.
by separating out DMA of sdcard data from other data we can arrange
for DMA to all devices to work
2019-03-09 07:33:47 +11:00
Andrew Tridgell
a59e1d0e0f
HAL_ChibiOS: fixed H7 dma sharing between BDMA and DMA
...
the BDMA and DMA controllers have separate namespaces for streams, so
we can allocate a lot more streams than we were
2019-03-02 20:50:59 +11:00
Andrew Tridgell
c7ca6d77c7
HAL_ChibiOS: H7 doesn't need a DMA mapping for SDMMC
...
it uses a dedicated internal DMA controller in the SDMMC peripheral
2019-03-02 20:50:59 +11:00
Andrew Tridgell
603d9f6907
HAL_ChibiOS: fixed typo in ITCM base address
2019-03-02 09:01:20 +11:00
Andrew Tridgell
9966fbea0f
HAL_ChibiOS: fixed bootloader build error
2019-02-26 16:18:26 +11:00
Andrew Tridgell
8e745f74fb
HAL_ChibiOS: support SPI6 on Pixhawk4Pro
2019-02-26 16:18:26 +11:00
Andrew Tridgell
75cd20aea4
HAL_ChibiOS: handle DMAMUX2 on H7
...
with BDMA
2019-02-26 16:18:26 +11:00
Andrew Tridgell
778d892fc2
HAL_ChibiOS: fixed dma resolved for H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
e92c66418d
HAL_ChibiOS: fixed bouncebuffer code on STM32F7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
cda1959629
HAL_ChibiOS: added support for more flexible memory regions
...
this allows for an arbitrary number of memory regions, with each one
flagged as DMA safe, fast or normal
2019-02-26 16:18:26 +11:00
Andrew Tridgell
6177129e41
HAL_ChibiOS: fixed typo in dma_resolver.py
2019-02-26 16:18:26 +11:00
Andrew Tridgell
cb77b06460
HAL_ChibiOS: generate a dma map for H7
...
this allows for DMA sharing, allowing for more peripherals with DMA
2019-02-26 16:18:26 +11:00
Andrew Tridgell
9647a68c9e
HAL_ChibiOS: fixed UART RX DMA for H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
efc8da9f9a
HAL_ChibiOS: enable TX DMA on uarts on H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
d6bedc3bdf
HAL_ChibiOS: use ifndef on more peripheral types
2019-02-26 16:18:26 +11:00
Andrew Tridgell
50b7b7beb5
HAL_ChibiOS: disable DTCM on H7 for now
...
DTCM doesn't allow for DMA yet
2019-02-26 16:18:26 +11:00
Andrew Tridgell
de335f14d7
HAL_ChibiOS: fixed GPIO init for H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
acf77ba49a
HAL_ChibiOS: fixed dma resolver for H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
84ac98622c
HAL_ChibiOS: fixed charset issue in H7 database
2019-02-26 16:18:26 +11:00
Andrew Tridgell
aab911ac50
HAL_ChibiOS: added hwdef database for STM32H743
2019-02-26 16:18:26 +11:00
Andrew Tridgell
1b06b0f41c
HAL_ChibiOS: fixed F765 build
2019-02-26 16:18:26 +11:00
Andrew Tridgell
2765f6e8f0
HAL_ChibiOS: setup APJ board IDs in environment
2019-01-19 17:19:41 +11:00
Jani Hirvinen
d9b9638b4a
HAL_ChibiOS: fixed F405 PE15 afnum
...
should be 15 and not 1
2018-12-06 12:43:47 +11:00
Andrew Tridgell
7459709acb
HAL_ChibiOS: allow ROMFS to override a file
...
this allows a hwdef.dat with an include to change an embedded file
specified in the include
2018-11-28 10:35:50 +11:00
Andrew Tridgell
a6ab885866
HAL_ChibiOS: fixed typo in F767 pin def file
2018-11-20 18:28:11 +11:00
Andrew Tridgell
adf7fefc2e
HAL_ChibiOS: detect stuck I2C bus and clear with SCL
...
This detects the I2C bus becoming stuck with SDA low after a timeout
and clears the bus by toggling SCL. Many thanks to @jhw84 for the
suggestion
2018-11-16 08:30:40 +11:00
Andrew Tridgell
bd117f1548
HAL_ChibiOS: define pins for inverting uarts
2018-11-14 19:05:09 +11:00
Michael du Breuil
be8d4e6c9d
AP_HAL_ChibiOS: Assume that IOMCU implies servo voltage monitoring
2018-11-12 23:29:04 +00:00
Michael du Breuil
a5115930dd
AP_HAL_ChibiOS: Fix board voltage checks being disabled
2018-11-12 23:29:04 +00:00
Andrew Tridgell
a0c57979ab
HAL_ChibiOS: use opendrain outputs for LEDs on iomcu
2018-11-07 07:35:45 +11:00
Andrew Tridgell
fcc259ae31
HAL_ChibiOS: separate out F1 CR1 calculations
...
and modify pin speeds for iomcu uarts
2018-11-07 07:35:45 +11:00
Andrew Tridgell
78a32df2e7
HAL_ChibiOS: make all boards base GPIOs for servos at 50
...
this makes the docs for GPIO pins consistent across boards
2018-10-31 20:10:52 +11:00
Andrew Tridgell
b3946fc458
HAL_ChibiOS: added uart for sbus out in IOMCU
2018-10-30 13:00:48 +11:00
Andrew Tridgell
af4340d1d1
HAL_ChibiOS: enable analog input on IOMCU
2018-10-30 13:00:48 +11:00
Andrew Tridgell
a6b35d6496
HAL_ChibiOS: restore old ODR behaviour for F4 boards
...
This fixes an issue with ESP8366 on Pixracer
2018-10-30 12:49:16 +11:00
Kevin Lopez Alvarez
6f99c706d6
HAL_ChibiOS: add MCU tables for STM32F469
2018-10-21 09:59:44 +11:00
Andrew Tridgell
c622a4c4d6
HAL_ChibiOS: fixed output pins on F100 iomcu
2018-10-17 16:45:37 +11:00
Siddharth Purohit
05539cd93b
HAL_ChibiOS:remove print statement left over from previous changes
2018-09-19 12:14:15 +10:00
Siddharth Purohit
2d1153081c
HAL_ChibiOS: do not build float support for bootloader builds
2018-09-19 12:14:15 +10:00
Siddharth Purohit
22f74b0827
HAL_ChibiOS: add option to set iomcu firmware environment var
2018-09-19 12:14:15 +10:00
Siddharth Purohit
42b4730d88
HAL_ChibiOS: add changes to hwdef to support STM32F1 based controller
2018-09-19 12:14:15 +10:00
Siddharth Purohit
e824a9c360
HAL_ChibiOS: add hwdef files to support IOMCU
2018-09-19 12:14:15 +10:00
Andrew Tridgell
d3af854949
HAL_ChibiOS: fixed bootloader build
2018-08-16 12:40:10 +10:00
Andrew Tridgell
4e6ac85057
HAL_ChibiOS: use 32 bit time intervals
...
this makes for smaller and faster code. We really don't need 64 bit
intervals as long sleeps are done with a loop.
2018-08-03 13:44:59 +10:00
Andrew Tridgell
7aba99e229
HAL_ChibiOS: fixes for ChibiOS version update
2018-08-03 13:44:59 +10:00
Siddharth Purohit
4e8d072d6d
HAL_ChibiOS: move to using recent pal driver api for GPIO IRQ events
2018-08-03 13:44:59 +10:00
Andrew Tridgell
b0badf8caf
HAL_ChibiOS: fixes for F745 builds
2018-08-02 11:56:33 +10:00
Andrew Tridgell
409e857f6b
HAL_ChibiOS: use pullup on CTS line
...
this makes life less difficult for SiK radios which go into bootloader
mode on low CTS
2018-07-13 07:34:30 +10:00
Andrew Tridgell
11e09a846c
HAL_ChibiOS: setup RTS pins as pullup
...
this prevents RTS pins from keeping SiK radios in bootloader mode on
peripheral powerup
2018-07-13 07:34:30 +10:00
Andrew Tridgell
a7d9f4eef7
HAL_ChibiOS: don't add defaults.parm when building bootloader
2018-07-09 20:59:51 +10:00
Andrew Tridgell
fd02865a8b
HAL_ChibiOS: use wildcard ROMFS name for fonts
2018-07-09 19:41:56 +10:00
Andrew Tridgell
15ee9593b5
HAL_ChibiOS: fixed duplicate pin definitions
...
thanks to @liang-tang for noticing
2018-07-05 12:07:55 +10:00
Andrew Tridgell
d3bc281a10
HAL_ChibiOS: use generic ROMFS embedding system
2018-07-02 10:43:48 +10:00
Andrew Tridgell
8ba137bd9a
waf: moved ROMFS embed script into waf folder
2018-07-02 10:43:48 +10:00
Andrew Tridgell
6cf205bdbe
HAL_ChibiOS: make sure we populate up to uartG
2018-06-29 08:17:38 +10:00
Andrew Tridgell
54dc67e2a9
HAL_ChibiOS: default bootloader product string to XX-BL
2018-06-28 11:35:13 +10:00
Andrew Tridgell
3a5b3b4b1b
HAL_ChibiOS: fixed adding bootloader to ROMFS
2018-06-28 11:35:13 +10:00
Peter Barker
e332bece0f
AP_HAL_ChibiOS: embed any bootloader found for a board
2018-06-28 11:35:13 +10:00
Andrew Tridgell
f71d2a7417
HAL_ChibiOS: support bootloaders with no uarts
2018-06-25 21:22:31 +10:00
Andrew Tridgell
e40457d98f
HAL_ChibiOS: avoid malloc in usbcfg
...
this avoids the need for malloc in the bootloader
2018-06-25 21:22:31 +10:00
Andrew Tridgell
369ac5edd0
HAL_ChibiOS: save more space in the bootloader
2018-06-25 21:22:31 +10:00
Andrew Tridgell
e868a4fe8b
HAL_ChibiOS: set FLASH_RESERVE_START_KB in the environment
...
used to correctly setup an intel hex file
2018-06-23 17:06:38 +10:00
Andrew Tridgell
1c807e0078
HAL_ChibiOS: added option to limit size of bootloader
...
this will ensure our F4 bootloaders stay under 16k
2018-06-23 17:06:38 +10:00
Andrew Tridgell
14f66461a7
HAL_ChibiOS: shrink build size for bootloader
...
thanks to @sh83 for the idea
2018-06-22 08:00:31 +10:00
Andrew Tridgell
3fc6824bfb
HAL_ChibiOS: setup more bootloader config files
2018-06-22 08:00:31 +10:00
Andrew Tridgell
e3a23921a2
HAL_ChibiOS: fixed FLASH_LOAD_ADDRESS
...
needs 0x08000000 base
2018-06-22 08:00:31 +10:00
Andrew Tridgell
1c054f0e4a
HAL_ChibiOS: fixed clock line on fmuv5 I2C4
...
there was a typo in the datasheet
2018-06-21 13:08:20 +10:00
Lucas De Marchi
46213eb97e
chibios_hwdef: fix wrong uart index
...
calling uart_list.index() will find the first element with that name,
which is not really what we want when we have multiple EMPTY uarts.
2018-06-15 08:21:40 +10:00
Andrew Tridgell
ad3eca4e6b
HAL_ChibiOS: fixed I2C4 DMA streams
...
There is an error in the datasheet. See
https://community.st.com/thread/50484-documentation-error-on-dma-channels-for-i2c4-on-stm32f7
2018-06-13 20:05:26 +10:00
Andrew Tridgell
e068106669
HAL_ChibiOS: support I2C devices on STM32F7 without DMA
...
this allows us to support I2C4 on fmuv5
2018-06-13 20:05:26 +10:00
Alexander Malishev
289b93c3d0
HAL_ChibiOS: added parse_timer to chibios_hwdef.dat
2018-06-11 18:32:17 +10:00
Andrew Tridgell
2df0a71a4b
HAL_ChibiOS: fixed flash load address in hwdef.h
2018-06-08 09:56:41 +10:00
Andrew Tridgell
c05086430d
HAL_ChibiOS: fixed hwdef.h generation for PWM on tim12
2018-06-06 15:01:38 +10:00
Andrew Tridgell
63087b6425
HAL_ChibiOS: enable fmu out 7 and 8 for fmuv5
...
these are exposed on the Pixhawk4
2018-06-06 15:01:38 +10:00
Alexander Malishev
eac5d13f1c
HAL_ChibiOS: use 2 channels in SoftSigReaderInt.cpp
2018-06-06 08:23:51 +10:00
Alexander Malishev
73d33356ad
HAL_ChibiOS: detect overcapture in SoftSigReaderInt.cpp
2018-06-06 08:23:51 +10:00
Andrew Tridgell
1ed6a9d34b
HAL_ChibiOS: added MCU tables for STM32F777
2018-06-06 07:15:41 +10:00
Andrew Tridgell
c273b23940
HAL_ChibiOS: moved MCU config to python database
...
this moves the key MCU config variables related to memory to the
python MCU database, allowing the hwdef.dat to be considerably simpler
2018-06-06 07:15:41 +10:00
Andrew Tridgell
eec4a12cc2
HAL_ChibiOS: switched to using DTCM memory for DMA
...
this uses SRAM1 and SRAM2 for main memory, which enables the use of the
data cache for faster operation, and using DTCM for all DMA operations.
2018-06-06 07:15:41 +10:00
Andrew Tridgell
762e4f9915
HAL_ChibiOS: fixed dma priorities for fmuv5
2018-06-06 07:15:41 +10:00
Andrew Tridgell
4ad757b4d1
HAL_ChibiOS: fixed pincount for F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
8d2f57898b
HAL_ChibiOS: adjust pin counts for STM32F7
2018-06-06 07:15:41 +10:00
Alexander Malishev
6b15b2f44f
HAL_ChibiOS: Enable sdcard on spi bus
2018-05-27 19:10:24 +10:00
Michael du Breuil
3a62bca7d0
AP_HAL_ChibiOS: Make redefined pins an error, fix FMUv3
2018-05-25 09:57:18 +10:00
Alexander Malishev
03d88b01be
HAL_ChibiOS: added support for interrupt based rcin parsing
2018-04-24 08:03:46 +10:00
Andrew Tridgell
77c922e6b8
HAL_ChibiOS: make embed.py work with python3
2018-04-17 08:44:44 +10:00
Andrew Tridgell
3749480dd8
HAL_ChibiOS: create ap_romfs_embedded.h
...
use ROMFS keywork for romfs files
2018-04-17 08:44:44 +10:00
Alexey Kozin
f87cc4e172
f4by chibios new style dma table build fix
2018-04-16 07:50:34 +10:00
Alexander Malishev
79b5719419
ChibiOS: add support for complementry output timer channels
2018-04-14 09:25:15 +10:00
Alexander Malishev
1b7eecdf2f
ChibiOS: fixed tables for F405 mcu
2018-04-14 09:25:15 +10:00
mirkix
8074361bb8
AP_HAL_ChibiOS: add hardware def for STM32F767xx
2018-04-12 14:19:40 +10:00
Andrew Tridgell
c6d7691667
HAL_ChibiOS: fixed F745 database for new DMA system
2018-04-12 11:50:44 +10:00
Andrew Tridgell
7286ffab77
HAL_ChibiOS: define FLASH_LOAD_ADDRESS in hwdef.h
...
used for bootloader support
2018-04-12 11:50:44 +10:00
Andrew Tridgell
a9edbb6b2d
HAL_ChibiOS: allow for a defaults.parm file in hwdef directory
...
this keeps defaults with the board, where that is appropriate
2018-04-12 11:50:44 +10:00
Andrew Tridgell
6e5cbc7c3d
HAL_ChibiOS: initial support for F745 boards
2018-04-12 11:50:44 +10:00
Andrew Tridgell
551dca63e1
HAL_ChibiOS: added build information for each MCU
...
this abstracts the build information for each MCU, so that hwdef.dat
can control the build process of ChibiOS
2018-04-12 11:50:44 +10:00
Andrew Tridgell
cdbbceb6b6
HAL_ChibiOS: cope with SDMMC peripheral for microSD
2018-04-12 11:50:44 +10:00
Andrew Tridgell
382772d999
HAL_ChibiOS: initial support for ESC serial output
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
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
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
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
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
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
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
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
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
66608e8cad
HAL_ChibiOS: improved mini-pix support
2018-02-14 18:27:00 +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
13c54c0543
AP_HAL_ChibiOS: add missing declaration in chibios_hwdef.py
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
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
Siddharth Purohit
40142e5aef
ChibiOS: implement way to clear i2c bus by toggling clock line
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
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
626632989e
HAL_ChibiOS: fixed build for boards with no USB
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
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
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
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
Siddharth Purohit
77f8acd7a1
HAL_ChibiOS: add CAN to supported peripherals list
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
a5bafb399f
HAL_ChibiOS: adjust SPI pin speeds
2018-02-07 20:33:45 +11:00
bugobliterator
c60c0b8ab1
HAL_ChibiOS: fix undef line processing
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
445ba6ed39
HAL_ChibiOS: update ppm to use Extended ICU driver
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
Andrew Tridgell
7ca3b56886
HAL_ChibiOS: fixed STM32F405 typos
2018-01-16 09:46:30 +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
60a773d045
HAL_ChibiOS: removed duplicate defines
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
6e4ef32628
HAL_ChibiOS: moved to generated loader script
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
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
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
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
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
c3435e45c5
HAL_ChibiOS: initial port to FMUv4
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
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
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