Andrew Tridgell
8764d69e2c
HAL_ChibiOS: default SDMMC clock to 12.5MHz max on H7
...
this makes microsd considerably more reliable
2021-05-02 13:04:42 +10:00
Andy Piper
558631918c
AP_HAL_ChibiOS: add %age of total to thread statistics
...
don't display meaningless thread info
2021-04-21 17:14:11 +10:00
Andrew Tridgell
61c829d624
HAL_ChibiOS: only use SRAM4 for DMA for now
...
we can enable others when we have an allocation interface that
specifies the peripheral type
2021-04-07 17:10:45 +10:00
Iampete1
2377d33417
AP_HAL_ChibiOS: H7 set SRAM4 to no cache and allow DMA
2021-04-07 17:10:45 +10:00
Andrew Tridgell
ca948171fe
HAL_ChibiOS: fixed ADC error on revXY STM32H7 boards
...
with the new ChibiOS revision we were configuring for newer revisions
of the H7, which meant that we changed the ADC config. This broke ADC
readings on revX and revY H7 MCUs.
This PR fixes it in two ways:
1) change ChibiOS config to assume XY config chips
2) use 16 bit ADC for H7, which means the chip rev doesn't matter,
and also gives us 16x the resolution for ADC readinga, so we can
read smaller voltage and current values
2021-04-05 11:01:03 +10:00
Andrew Tridgell
2d4dfe8a2a
HAL_ChibiOS: fixed (unused) FF_FS_TIMEOUT
...
this change was harmless as we don't define FF_FS_REENTRANT
2021-03-23 12:01:20 +11:00
Andrew Tridgell
ffb2876f58
HAL_ChibiOS: disable unused ChibiOS features
2021-03-23 12:01:20 +11:00
Andrew Tridgell
439a944801
HAL_ChibiOS: added support for STM32G474 MCU
2021-03-23 12:01:20 +11:00
Andy Piper
e1d71486e4
AP_HAL_ChibiOS: build fixes for ChibiOS 20.3.x
2021-03-23 12:01:20 +11:00
Andrew Tridgell
5b59445471
AP_HAL_ChibiOS: fixes for build with 20.3.x ChibiOS
2021-03-23 12:01:20 +11:00
Andrew Tridgell
243cf2199d
HAL_ChibiOS: disable shared DMA on IOMCU
...
this saves about 600 bytes of ram
2021-02-24 18:21:08 +11:00
Andrew Tridgell
7af20e9ea3
HAL_ChibiOS: increase H7 serial buffer sizes
...
this takes better advantage of the new UART code. Log download over
USB gets to 730 kbyte/s. For comparison, with the 4.0 code on the same
H7 we get about 300 kbyte/s
2021-02-20 20:49:45 +11:00
Andrew Tridgell
5e0f175223
HAL_ChibiOS: adjust UART buffer sizes for new UART code
...
this gains about 20k of RAM, and has almost no impact on log download
speed at 921600 on a F427. The improved threading means we can afford
to have smaller buffers
2021-02-20 14:37:11 +11:00
Andy Piper
f9c5f9be00
AP_HAL_ChibiOS: make dshot DMA unlock event driven in order to allow unlocking from rcout thread
...
refactor rcout into separate thread and process all dshot requests there
move uart DMA completion to event model
process dshot locks in strick reverse order when unlocking
convert Shared_DMA to use mutexes
move UART transmit to a thread-per-uart
do blocking UART DMA transactions
do blocking dshot DMA transactions
trim stack sizes
cancel dma transactions on dshot when timeout occurs
support contention stats on blocking locking
move thread supression into chibios_hwdef.py
invalidate DMA bounce buffer correctly
separate UART initialisation into two halves
cleanup UART transaction timeouts
add @SYS/uarts.txt
move half-duplex handling to TX thread
correct thread statistics after use of ExpandingString
set unbuffered TX thread priority owner + 1
correctly unlock serial_led_send()
don't share IMU RX on KakuteF7Mini
observe dshot pulse time more accurately.
set TRBUFF bit for UART DMA transfers
deal with UART DMA timeouts correctly
don't deadlock on reverse ordered DMA locks
change PORT_INT_REQUIRED_STACK to 128
2021-02-20 14:37:11 +11:00
Andy Piper
2cdc202d19
AP_HAL_ChibiOS: use non-cachable SRAM3 for DMA on H743
...
Adjust SRAM1+SRAM2 to 256k as describe in the H743 reference manual
Provide access to mem_info() information
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2021-02-03 23:35:44 +11:00
Andy Piper
6f5d5c2bf9
AAP_HAL_ChibiOS: allow asserts to be printed on a GPIO pin
2021-01-27 19:36:58 +11:00
Andy Piper
2823fa7245
AP_HAL_ChibiOS: never write bytes that have not been erased on H7
...
Be more careful about flash failure conditions on H7
2021-01-27 18:30:36 +11:00
Andy Piper
78735a946e
AP_HAL_ChibiOS: allow STM32_FLASH_DISABLE_ISR for H7
2021-01-27 18:30:36 +11:00
bugobliterator
8b90eb23e0
AP_HAL_ChibiOS: distcc doesn't like lst generation commands
2021-01-20 19:21:14 +11:00
pkocmoud
7b61a4d8c2
HAL_ChibiOS: support F7 with no crystal
2021-01-15 15:48:01 +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
Andrew Tridgell
b4201436dd
HAL_ChibiOS: fixed flash space on 16k bl boards
...
this avoids the stm32_flash_recent_erase() function which added around
800 bytes to the bootloader. It is not needed
2020-12-17 12:51:25 +11:00
Andrew Tridgell
0c440d5675
HAL_ChibiOS: cope with flash erase in expected delay
...
when there has been a flash erase when we are definately in an
expected delay
2020-12-08 13:22:36 +11:00
Andrew Tridgell
ba69cd72c9
HAL_ChibiOS: improved stack checking and stack display
...
display both ISR stack and thread stacks. Show total stack sizes as
well as amount of stack remaining
2020-12-01 11:14:50 +11:00
Andrew Tridgell
84eac7642b
HAL_ChibiOS: improved stack checking
2020-12-01 11:14:50 +11:00
Andrew Tridgell
2a29b0fcf5
HAL_ChibiOS: fixed AP_Periph build with --enable-asserts
2020-12-01 11:14:50 +11:00
Andrew Tridgell
408f8b3940
HAL_ChibiOS: added check for overwrite of nullptr on H7
...
the STM32H7 has 64k of ITCM memory at address zero. We allow
allocation of everything except the first 1024 bytes. This checks for
those reserved bytes being overwritte, which would indicate a write to
nullptr
2020-11-18 17:14:43 +11:00
Andrew Tridgell
95a823a702
HAL_ChibiOS: added link list of all memory allocations
...
check all allocations for corruption on free() and malloc_check()
2020-11-18 17:14:43 +11:00
Andrew Tridgell
ce3e1a69ec
HAL_ChibiOS: added memory guard system
2020-11-18 17:14:43 +11:00
Andrew Tridgell
84bd59a7bb
HAL_ChibiOS: support H7 with no crystal
2020-07-10 13:33:51 +10:00
Andrew Tridgell
cfbfb27004
HAL_ChibiOS: support no-crystal F3 setups
2020-07-10 13:33:51 +10:00
Andrew Tridgell
6a1f43d5df
HAL_ChibiOS: fixed build with our old compiler
...
gcc 4.9 doesn't like static_assert() in C code
2020-06-07 14:11:48 +10:00
Andrew Tridgell
69676cd614
HAL_ChibiOS: support 24MHz f3 MCUs
2020-05-10 15:09:28 +10:00
Andrew Tridgell
3ec2ef787d
HAL_ChibiOS: fixed build warning
2020-04-29 12:20:19 +10:00
Andrew Tridgell
ce68e0fbb5
HAL_ChibiOS: fixed bootloader build
2020-04-29 07:36:55 +10:00
Andrew Tridgell
18e88e0ea3
HAL_ChibiOS: implement stack overflow hook
...
this needs C bindings to allow call from low level RTOS thread
switching code
2020-04-29 07:36:55 +10:00
Andrew Tridgell
f0c9f4003e
HAL_ChibiOS: implement thread_info()
2020-04-29 07:36:55 +10:00
Andrew Tridgell
d9efac2993
HAL_ChibiOS: only allow PLL override in clock selection part of header
2020-04-28 10:32:23 +10:00
Andrew Tridgell
29f538dec9
HAL_ChibiOS: use common header for STM32 clock config
...
avoid the need for clock config lines in most hwdef.dat files
2020-04-28 10:32:23 +10:00
Ivannikov Kirill
3ab1b29397
AP_HAL_ChibiOS: error if system clock not 1mhz on 16 CH_CFG_ST_RESOLUTION. prevent variable overflow
...
if CH_CFG_ST_FREQUENCY not match 1000000U on 16 bit CH_CFG_ST_RESOLUTION
we try to multiply now *= 1000000U/CH_CFG_ST_FREQUENCY; it may overflow 16 bit value.
2020-04-26 19:58:54 +10:00
Andrew Tridgell
db642717be
HAL_ChibiOS: fixed clock for FDCAN to be below 80MHz
...
we were running at 100MHz, which is out of spec
2020-04-24 16:55:03 +10:00
Andrew Tridgell
8e977183fe
HAL_ChibiOS: added mRoNexus
2020-04-23 07:28:13 +10:00
Andrew Tridgell
74f33d57c5
HAL_ChibiOS: avoid unnecessary H7 flash writes
2020-04-14 10:02:51 +10:00
Andrew Tridgell
822460ce7d
HAL_ChibiOS: fixed strdup() on ChibiOS
2020-03-28 15:28:03 +11:00
bugobliterator
8215537f99
HAL_ChibiOS: deprecate realloc for ChibiOS build, so as to return error when used
2020-03-24 10:32:14 +11:00
Peter Barker
1a123e5f8d
AP_HAL_ChibiOS: avoid referencing flash sector/page 22 on 1MB boards
2020-03-03 10:13:53 +11:00
Andrew Tridgell
9e0edba31d
HAL_ChibiOS: raised timer clocks to 200MHz
...
this gives more flexibility in setting up timers for DShot
2020-02-12 18:12:39 +11:00
Andrew Tridgell
982cff0695
AP_HAL_ChibiOS: make all semaphores recursive
...
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Andrew Tridgell
2b7bffa906
HAL_ChibiOS: adjust dma reserve allocation
...
use larger target and allow for smaller allocation
2020-01-18 07:13:11 +11:00
Andrew Tridgell
56985f8c33
HAL_ChibiOS: added checking on bouncebuffer allocation
...
fail operations if DMA bouncebuffer alloc fails
2020-01-18 07:13:11 +11:00
Andrew Tridgell
fced7d78fc
HAL_ChibiOS: fixed clock src for I2C4 on H7
2020-01-08 05:56:23 +11:00
Andrew Tridgell
8ffd1050eb
HAL_ChibiOS: fixed build on STM32F3
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
f732a482fe
HAL_ChibiOS: support wider range of clock frequencies
2019-12-20 16:50:48 +11:00
Andrew Tridgell
4f429e6c5a
HAL_ChibiOS: fixed handling of 16bit timer wrap
...
this fixes #12948
2019-12-09 12:43:39 +11:00
Andrew Tridgell
ef993f380f
HAL_ChibiOS: use system_halt_hook()
2019-11-27 14:12:04 +11:00
Andrew Tridgell
c1575654e2
HAL_ChibiOS: added optional debug code for hardfaults and panics
...
this implements a soft-serial print function that can be used to get
debug out on a GPIO pin in a panic
2019-11-27 14:12:04 +11:00
Andrew Tridgell
a90a2e20dc
HAL_ChibiOS: enable CAN callbacks
...
this allows for much more reliable CAN comms in AP_Periph
2019-11-09 17:11:32 +11:00
Andrew Tridgell
bc1de7a208
HAL_ChibiOS: support STM32F3xx MCUs
2019-11-01 10:53:53 +11:00
Andrew Tridgell
b5af1edf0d
HAL_ChibiOS: moved app_descriptor to start of flash
...
this prevents the bootloader from finding it's own image as a false
posititve in searching for the app_descriptor
2019-10-28 15:53:16 +11:00
Andrew Tridgell
d1bc0f236d
HAL_ChibiOS: added pragma once for watchdog header
2019-10-26 15:32:10 +11:00
Andrew Tridgell
fc8d9e8af5
HAL_ChibiOS: added RTC_BOOT_FWOK value for RTC reboot register
...
this is used in CAN firmware to know if the main app firmware has run
for long enough to be considered good
2019-10-26 15:32:10 +11:00
Andrew Tridgell
e6cb35090c
HAL_ChibiOS: fixed page size for STM31F105 flash
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
91e8752c17
HAL_ChibiOS: wrap more libc functions
...
this saves a few k of flash as it avoids linking libc versions of some
functions
2019-09-09 13:31:30 +10:00
Andrew Tridgell
3166f84954
HAL_ChibiOS: added vsnprintf wrapper
...
this allows us to use a common snprintf implementation
2019-09-09 13:31:30 +10:00
Andrew Tridgell
0ffe2e75be
HAL_ChibiOS: fixed warnings
2019-08-27 15:40:43 +10:00
Andrew Tridgell
9d760a2956
HAL_ChibiOS: disable re-entrancy in FATFS
...
not needed now we have a semaphore in AP_Filesystem
2019-08-27 15:40:43 +10:00
Andrew Tridgell
bf79b65e07
HAL_ChibiOS: simplify stubs code
2019-08-27 15:40:43 +10:00
Andrew Tridgell
d1565a96c5
HAL_ChibiOS: wrap cacheBuffer functions
...
needed to avoid problem with end() method in UARTDriver shadowing with
F7 implementation of cache macros
2019-08-27 15:40:43 +10:00
Andrew Tridgell
b867ef35c0
HAL_ChibiOS: use AP_Filesystem API
2019-08-27 15:40:43 +10:00
Andrew Tridgell
63f39c2bd6
HAL_ChibiOS: fixed build of iomcu firmware
2019-08-27 10:29:56 +10:00
Andrew Tridgell
5cbe85ee19
HAL_ChibiOS: allow for ADC and clock overrides
2019-08-27 10:29:56 +10:00
Andrew Tridgell
cbc83d68cd
HAL_ChibiOS: allow for CAN enable override on F4
2019-08-27 10:29:56 +10:00
Andrew Tridgell
fb68fa8bc9
HAL_ChibiOS: fixed typo for 512k F4 parts
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
ffe0f338d3
HAL_ChibiOS: enable utime() API
2019-08-26 15:41:44 +10:00
Andrew Tridgell
f8cfbb8062
HAL_ChibiOS: added ISR limit on I2C
...
this will prevent any possibility of an I2C interrupt storm. This is
designed to address the most likely cause of #11642
2019-08-25 17:12:16 +10:00
Siddharth Purohit
2f0d1336e6
HAL_ChibiOS: add support for dual usd cdc
2019-07-12 17:01:21 +10:00
Andrew Tridgell
dbfe6b8019
HAL_ChibiOS: implement persistent_data for watchdog
...
this is a much simpler approach to persistent data
2019-05-15 15:33:48 +10:00
Andrew Tridgell
6333494d99
HAL_ChibiOS: disable peripheral power on boot on fmuv3
...
then enable after 100ms, and let settle for 20ms. This is to fix an
issue with peripheral power on consistency with all fmuv3 boards
Thanks to Philip for the suggestion
2019-05-11 18:45:18 +10:00
Michael du Breuil
a4d9853f1d
AP_HAL_ChibiOS: Actually enable the wrapper on remove
2019-04-26 08:07:19 +10:00
Andrew Tridgell
508aae8f2a
HAL_ChibiOS: added save/restore of attitude in backup registers
2019-04-22 16:53:35 +10:00
Andrew Tridgell
730982b3c4
HAL_ChibiOS: fixed build with older gcc
2019-04-22 16:53:35 +10:00
Andrew Tridgell
2778a1b01e
HAL_ChibiOS: save/restore home position in backup registers
...
# Conflicts:
# libraries/AP_HAL_ChibiOS/hwdef/common/stm32_util.c
2019-04-22 16:53:35 +10:00
Andrew Tridgell
f0f36c6237
HAL_ChibiOS: fixed watchdog timeout setting
2019-04-22 16:53:35 +10:00
Andrew Tridgell
9ca67dc811
HAL_ChibiOS: implement was_watchdog_armed()
2019-04-22 16:53:35 +10:00
Andrew Tridgell
1acb7e977f
HAL_ChibiOS: added ability to restore safety state on watchdog reset
2019-04-22 16:53:35 +10:00
Andrew Tridgell
54cbf8ea9e
HAL_ChibiOS: change to 2s timeout on watchdog
...
a bit more of a safety net against false positives for stable release
2019-04-22 16:53:35 +10:00
Andrew Tridgell
58aca561fd
HAL_ChibiOS: fixed watchdog on H7
2019-04-22 16:53:35 +10:00
Andrew Tridgell
19526b5826
HAL_ChibiOS: implement scheduler->expect_delay_ms()
2019-04-22 16:53:35 +10:00
Andrew Tridgell
a5309b3afa
HAL_ChibiOS: record reason for reset
...
allows us to tell if reset was due to watchdog
2019-04-22 16:53:35 +10:00
Andrew Tridgell
c09df1ea7b
HAL_ChibiOS: added IWDG watchdog support
...
this resets the MCU if the main loop stops for 1 second
2019-04-22 16:53:35 +10: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
160de969a5
HAL_ChibiOS: simplify H7 clock tree setup
...
and push more peripherals to max of 100MHz
2019-03-04 21:42:07 +11:00
Andrew Tridgell
5bcfe41d1f
HAL_ChibiOS: push H7 clock to 400MHz
2019-03-04 19:38:06 +11:00
Andrew Tridgell
4c12ba4c2c
HAL_ChibiOS: fixed SDMMC IRQ priority
2019-03-01 11:39:27 +11:00
Andrew Tridgell
e192bc6c10
HAL_ChibiOS: adjust H7 clocks, and enabled SDMMC
2019-03-01 11:39:12 +11:00
Andrew Tridgell
64681cb05c
HAL_ChibiOS: allocate threads from any heap
...
this fixes a failure on MatekF405-Wing where it fails to allocate the
SPI thread for the IMU
2019-02-27 11:54:28 +11:00
Andrew Tridgell
26e76e51ed
HAL_ChibiOS: fixed H7 build with older compilers
2019-02-26 16:18:26 +11:00
Andrew Tridgell
70930cca29
HAL_ChibiOS: fixed bootloader build with gcc 4.9
2019-02-26 16:18:26 +11:00
Andrew Tridgell
f8aeeb0333
HAL_ChibiOS: adjust clock tree to be more consistent
...
use 96MHz for all peripheral buses
2019-02-26 16:18:26 +11:00
Andrew Tridgell
5dd82f1d63
HAL_ChibiOS: adjust 16MHz HSE settings for H743 (CubeH7)
2019-02-26 16:18:26 +11:00
Andrew Tridgell
b0f4494c4a
HAL_ChibiOS: fixed DMA on SPI for Pixhawk4Pro
2019-02-26 16:18:26 +11:00
Andrew Tridgell
9966fbea0f
HAL_ChibiOS: fixed bootloader build error
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
a3e69e715d
HAL_ChibiOS: avoid doing one-way SPI transfers
...
these transfers use dummy bytes in the hal driver, which may not be in
DMA safe memory, so best to avoid them
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
5f88340919
HAL_ChibiOS: fixed flash build warning
2019-02-26 16:18:26 +11:00
Andrew Tridgell
8a40ee8132
HAL_ChibiOS: fixed idle wait on H7 flash program
2019-02-26 16:18:26 +11:00
Andrew Tridgell
b07ba37359
HAL_ChibiOS: pass optimization to ChibiOS build
2019-02-26 16:18:26 +11:00
Andrew Tridgell
77d4e1f796
HAL_ChibiOS: removed ID_ANY streams for H7
...
use generated map instead
2019-02-26 16:18:26 +11:00
Andrew Tridgell
6422068e6b
HAL_ChibiOS: fixed analog input on H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
46787fe7d8
HAL_ChibiOS: adjust clocks for H743
2019-02-26 16:18:26 +11:00
Andrew Tridgell
6fb40a9713
HAL_ChibiOS: set FPU=hard if not set elsewhere
2019-02-26 16:18:26 +11:00
Andrew Tridgell
f753669a58
HAL_ChibiOS: improved check for DTCM ram
2019-02-26 16:18:26 +11:00
Andrew Tridgell
37bcd6e7d8
HAL_ChibiOS: default to timer 5 for H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
e581be8df7
HAL_ChibiOS: optionally disable DCache on H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
46cb506a22
HAL_ChibiOS: added cache management for H7 in bouncebuffer code
2019-02-26 16:18:26 +11:00
Andrew Tridgell
ff21508ce8
HAL_ChibiOS: ensure 32 byte alignment for DMA on H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
4b01e2c3b3
HAL_ChibiOS: fixed clock tree for no LSE on H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
3c9ba02ce9
HAL_ChibiOS: fixed H7 flash
2019-02-26 16:18:26 +11:00
Andrew Tridgell
52b47e499b
HAL_ChibiOS: fixed H7 clock tree for ADC driver
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
1fa0a2eeca
HAL_ChibiOS: fixed peripheral enables on H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
ae448a6932
HAL_ChibiOS: enable DMA checking on H7
2019-02-26 16:18:26 +11:00
Andrew Tridgell
51b4d54f70
HAL_ChibiOS: disable show_stack_usage in bootloader
2019-02-26 16:18:26 +11:00
Andrew Tridgell
565706cf7e
HAL_ChibiOS: fixed H7 flash handling
2019-02-26 16:18:26 +11:00
Andrew Tridgell
c2746ca9f9
HAL_ChibiOS: simplify H7 hwdef.dat
2019-02-26 16:18:26 +11:00
Andrew Tridgell
227ecc53ac
HAL_ChibiOS: support mcuconf for STM32H7 MCU
2019-02-26 16:18:26 +11:00
Andrew Tridgell
ceb0ec70f9
HAL_ChibiOS: disable pipes API
...
not used
2019-02-26 16:18:26 +11:00
Andrew Tridgell
908b444a50
HAL_ChibiOS: update halconf for VER_7_0 API
2019-02-26 16:18:26 +11:00
Andrew Tridgell
247bb433ec
HAL_ChibiOS: update chconf.h for VER_6_0 API
2019-02-26 16:18:26 +11:00
Andrew Tridgell
27a1fec911
HAL_ChibiOS: TBS-F7 is active low on sd power
2019-02-22 10:27:17 +11:00
Andrew Tridgell
94bace91a4
HAL_ChibiOS: bring up sensors rail after boot on TBS F7
...
this prevents a reset loop on GPIO config
2019-02-22 10:27:17 +11:00
murata
6bb11b5cc8
HAL_ChibiOS: Get the number of characters in strlen
2019-01-09 10:12:51 +11:00
Michael du Breuil
e8373e1fdf
AP_HAL_ChibiOS: add scripting heap
2018-12-31 19:25:23 -07:00
Andrew Tridgell
8188b4a039
HAL_ChibiOS: fixed card inserted test for SDC
2018-12-31 08:00:14 +11:00
Siddharth Purohit
8df52aba29
HAL_ChibiOS: move vsnprintf call to redirect Ardupilot's instead of ChibiOS's
2018-11-29 16:36:29 +11:00
Michael du Breuil
8c464572d8
AP_HAL_ChibiOS: Use a less clever version of realloc
...
The clever version loses access to memory, and is excessively hard coded
2018-11-26 22:32:56 +00:00
Andrew Tridgell
a0ed658fcc
HAL_ChibiOS: added palReadLineMode() function
...
used to change and restore line modes
2018-11-16 08:30:40 +11:00
Andrew Tridgell
065dba973b
HAL_ChibiOS: fixed build warning on iomcu
2018-11-07 07:35:45 +11:00
Andrew Tridgell
4674a1c68d
HAL_ChibiOS: fixed system time for clocks other than 1MHz
...
needed for IOMCU
2018-10-17 15:11:28 +11:00
Andrew Tridgell
bcc1bd9752
HAL_ChibiOS: added realloc implementation
...
needed for AP_Scripting
2018-10-09 10:08:52 +11:00
Michael du Breuil
8382d377bd
AP_HAL_ChibiOS: Add a BUFSIZ value
2018-10-09 10:08:52 +11:00
Michael du Breuil
9a48a0835e
AP_HAL_ChibiOS: Don't redefine errno
2018-10-03 08:01:13 +10:00
Michael du Breuil
f810b7b9f6
AP_HAL_ChibiOS: Make getcwd() take size_t as per the standard
2018-10-02 06:04:40 +10:00
Siddharth Purohit
8ac38d73f7
HAL_ChibiOS: add option for NO_FASTBOOT build and enable it for iomcu
2018-09-19 12:14:15 +10:00
Siddharth Purohit
6622c9b8fd
HAL_ChibiOS: wrap sscanf and snprintf methods
2018-09-19 12:14:15 +10:00
Siddharth Purohit
f9149f45b2
HAL_ChibiOS: explicitly mention if RTC not available
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
33076be585
HAL_ChibiOS: fixed handling of 16 bit timers
...
when we have a 16 bit timer then systime_t is 16 bit, and we need to
handle wrap of get_systime_us32()
2018-08-26 18:34:26 +10:00
Andrew Tridgell
dabdb969f6
HAL_ChibiOS: added support for HAL_Semaphore type
2018-08-16 12:40:10 +10:00
Andrew Tridgell
385f735799
HAL_ChibiOS: avoid 64 bit maths in AP_HAL::micros()
...
this saves a few cycles
2018-08-08 21:24:49 +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
1bd0ea079b
HAL_ChibiOS: fixed build on older compilers
...
allow build with gcc 4.9.x
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
Andrew Tridgell
f8e2edbc7f
HAL_ChibiOS: fixed cache flush for updated ChibiOS version
2018-08-03 13:44:59 +10:00
Siddharth Purohit
2604b00b43
HAL_ChibiOS: use ch.h header for oslib api
2018-08-03 13:44:59 +10:00
Siddharth Purohit
ff65487ab3
HAL_ChibiOS: follow updated gpio pin setup procedure
2018-08-03 13:44:59 +10:00
Siddharth Purohit
5f88163e17
HAL_ChibiOS: update configuration and rtlib headers for ChibiOS 18.x.x
2018-08-03 13:44:59 +10:00
Siddharth Purohit
395c48933c
HAL_ChibiOS: move tto using updated time conversion API
2018-08-03 13:44:59 +10:00
Andrew Tridgell
44fd85ff29
HAL_ChibiOS: reduce memory used by serial buffers
...
this does not appear to affect log download speed. It saves about 27k
of memory
2018-08-01 13:11:16 +10:00
Alexander Malishev
1377943eb3
HAL_ChibiOS: fix DTCM size in stm32f745 mcu
2018-07-26 17:52:37 +10:00
Andrew Tridgell
8a26ca1ddf
HAL_ChibiOS: added a DMA reserve heap
...
this ensures we keep some DMA-capable memory aside for when it is
needed
2018-07-20 15:48:21 +10:00
Andrew Tridgell
f2d602690e
HAL_ChibiOS: fixed build error with some compilers
2018-07-13 08:50:46 +10:00
Andrew Tridgell
0201893f7c
HAL_ChibiOS: fixed peripheral power-up on fmuv5
...
we need to do the powerup before we initialise the UARTs
2018-07-13 07:34:30 +10:00
Andrew Tridgell
63a0a4979c
HAL_ChibiOS: delay peripheral power on for fmuv5
...
this should prevent SiK radios staying in the bootloader
2018-07-13 07:34:30 +10:00
Andrew Tridgell
f083b80700
HAL_ChibiOS: added preallocation of DMA bouncebuffers
...
we need 512 bytes for microSD
2018-07-12 14:34:04 +10:00
Andrew Tridgell
963675689c
HAL_ChibiOS: fixed substitution of %BOARD%-BL
2018-06-28 11:35:13 +10:00
Andrew Tridgell
946d0208e5
HAL_ChibiOS: fixed stm32f7 cache bug in erase flash page
2018-06-28 11:35:13 +10:00
Andrew Tridgell
2b7b499c63
HAL_ChibiOS: added support for RTC sig for fast boot
2018-06-28 11:35:13 +10:00
Andrew Tridgell
bf6fb72904
HAL_ChibiOS: fixed 32 bit flash writes
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
e870b5f00a
HAL_ChibiOS: use 32 bit flash operations when possible
2018-06-25 21:22:31 +10:00
Andrew Tridgell
feefa05b41
HAL_ChibiOS: expose stm32_flash_ispageerased()
2018-06-25 21:22:31 +10:00
Andrew Tridgell
dd1bd43a2e
HAL_ChibiOS: added stm32_flash_keep_unlocked()
2018-06-25 21:22:31 +10:00
Andrew Tridgell
518d41e0d4
HAL_ChibiOS: added OTP defines
2018-06-22 08:00:31 +10:00
Alexander Malishev
661259de4e
HAL_ChibiOS: reduce .text aigment to save flash space
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
0cd46c063c
HAL_ChibiOS: fixed flash driver for F7
...
we need a data sync barrier due to the F7 cache
2018-06-22 08:00:31 +10:00
Andrew Tridgell
3ef88e1b8f
HAL_ChibiOS: allow flash support for bootloader
2018-06-22 08:00:31 +10:00
Andrew Tridgell
5216870492
HAL_ChibiOS: avoid strstr in usbcfg
...
saves nearly 2k of flash
2018-06-22 08:00:31 +10:00
Andrew Tridgell
c12d14d7a4
HAL_ChibiOS: check for ChibiOS features
2018-06-22 08:00:31 +10:00
Andrew Tridgell
03f67d82c9
HAL_ChibiOS: allow more ChibiOS functionality to be disabled
...
used by bootloader builds for minimal flash size
2018-06-22 08:00:31 +10:00
Hyungsub
8ae2729022
AP_HAL_ChibiOS: fix memory leaks
...
Fixes #8644
2018-06-18 10:30:56 +01:00
Andrew Tridgell
1c4bf3d804
HAL_ChibiOS: fixed build warning
2018-06-15 11:26:40 +10:00
Andrew Tridgell
00d919018b
HAL_ChibiOS: added RTC clock implementation
2018-06-15 08:01:22 +10:00
Alexander Malishev
eac5d13f1c
HAL_ChibiOS: use 2 channels in SoftSigReaderInt.cpp
2018-06-06 08:23:51 +10:00
Alexander Malishev
fd45b3a69b
HAL_ChibiOS: slightly increase EICU interrupt priority
2018-06-06 08:23:51 +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
0e09dc75c0
HAL_ChibiOS: flush all memory on chSysHalt()
...
this makes debugging a lot easier, as gdb can see the values in dcache
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2493cdbcb6
HAL_ChibiOS: switch to new bouncebuffer system
...
this removes the dma_flush and dma_invalidate methods and uses a
common bouncebuffer system for all CPU types. This enables microSD
support on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
0b1e26a470
HAL_ChibiOS: added bouncebuffer system
...
this makes our bouncebuffers available for ChibiOS system
drivers. This is needed for SDMMCv1 on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
018c9ad40b
HAL_ChibiOS: fixed build warnings
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
bb2e7a189f
HAL_ChibiOS: added a debug function for showing stack free
...
this can be enabled when needed to investigate stack space remaining
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2087354939
HAL_ChibiOS: align buffers to STM32F7 cache lines
...
this allows for DMA flush and invalidate operations to work on all
dynamically allocated memory
2018-06-06 07:15:41 +10:00