Commit Graph

2053 Commits

Author SHA1 Message Date
Andrew Tridgell 0cc4409845 HAL_ChibiOS: fixed handling of invalid channel for LED write
this prevents a null ptr dereference when an invalid channel (such as
one on IOMCU) is used for LEDs
2021-02-13 15:11:10 +11:00
Andrew Tridgell 098a17fe2e HAL_ChibiOS: fixed CubeOrange ADSB param name 2021-02-13 13:06:20 +11:00
Andy Piper 20d8696a0a AP_HAL_ChibiOS: BeastH7 has DPS310 baro 2021-02-10 18:33:59 +11:00
Andrew Tridgell 814393c9c2 HAL_ChibiOS: switch from DPS280 to DPS310 in boards that use the DPS310 2021-02-09 11:37:07 +11:00
Andrew Tridgell 86fda93781 HAL_ChibiOS: added heater correction of AK09916
this fixes a problem with the internal compass being impacted by the
magnetic field from the heater
2021-02-09 11:32:19 +11:00
Andrew Tridgell 2ab8ad0ef0 HAL_ChibiOS: added Durandal pinout details 2021-02-09 07:14:02 +11:00
Michael du Breuil 623951a262 AP_HAL_ChibiOS: Add some extra GPS SBF config 2021-02-05 11:52:29 -07:00
Tom Pittenger d1e6b0befb AP_HAL_ChibiOS: Add ADC1 support to STM32F3
This is useful for AP_Periph battery monitoring
2021-02-04 16:30:38 -08:00
Andrew Tridgell b8e82a56f3 HAL_ChibiOS: don't start rout ticks till after full system init
this prevents an occasional boot hang on systems with DShot
enabled. We shouldn't be starting DShot output till after setup() is
complete as the outputs are still being configured
2021-02-05 07:17:57 +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 06a1500f98 AP_HAL_ChibiOS: ensure GPIO pins get undef'ed properly
minimise bi-directional dshot configs for:

CubeOrange
Durandal
MatekF405
MatekH743
OmnibusNanoV6
Pixracer
mRoPixracerPro
omnibusf4pro
CUAV-X7
2021-02-03 18:49:06 +11:00
Michel Pastor 41f7587637 ChibiOS: Add SWD pins to SuccexF4 bootloader 2021-02-03 18:37:46 +11:00
auturgy 24268cc6de AP_HAL_ChibiOS: add MatekH743-periph hwdef 2021-02-03 18:17:44 +11:00
mateksys b91c65b4a4 AP_HAL_ChibiOS: add f405-MatekGPS & MatekF405-CAN hwdef 2021-02-03 18:09:35 +11:00
huhen 9ba35580db HAL_ChibiOS: Init kakutef7 motor pins for correct initialization of some ESCs 2021-02-03 13:13:32 +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 d41c92d317 AP_HAL_ChibiOS: don't overwrite fault handler data, register forced faults 2021-01-27 19:13:18 +11:00
Andy Piper 20d928a86a AP_HAL_ChibiOS: don't share DMA on OmnibusNanoV6 for Flash SPI 2021-01-27 19:04:49 +11:00
Andy Piper 873d35acd9 AP_HAL_ChibiOS: bi-directional dshot for MatekH743 2021-01-27 18:58:38 +11:00
Andy Piper 877dde4736 AP_HAL_ChibiOS: on BeastF7 share TIM3 UP/CH and give flash SPI dedicated channel 2021-01-27 18:54:43 +11:00
Andy Piper 9249b73e8b AP_HAL_ChibiOS: correctly allow mixing of bidir and non-bidir channels 2021-01-27 18:49:15 +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
Andrew Tridgell 155de6d2bc HAL_ChibiOS: fixed build of AP_Periph on H7 2021-01-27 18:24:03 +11:00
Andrew Tridgell 9861a02c60 HAL_ChibiOS: save INS_ACC*ID persistent parameters
this enables full factory accelerometer calibration, so the user is
not required to run an accelcal, even if they change vehicle type
2021-01-27 09:49:35 +11:00
Andrew Tridgell 5ed19c764e HAL_ChibiOS: expose load_persistent_params for @SYS 2021-01-21 13:09:21 +11:00
Andrew Tridgell 5c823debc0 HAL_ChibiOS: support saving persistent parameters to bootloader sector
when we flash the bootloader we can save key peristent parameters to
the end of the bootloader sector, allowing them to persistent across
changes of firmware type

This allows for factory temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell d81c2ee407 HAL_ChibiOS: allow for some embedded parameters on AP_Periph builds 2021-01-21 06:19:46 +11:00
bugobliterator 8b90eb23e0 AP_HAL_ChibiOS: distcc doesn't like lst generation commands 2021-01-20 19:21:14 +11:00
Andy Piper 2fadcf6ba0 AP_HAL_ChibiOS: handle UP/CH channel sharing on H7 correctly 2021-01-20 18:15:17 +11:00
Andy Piper 9e641a32ad AP_HAL_ChibiOS: don't share flash SPI on BeastH7 and compile with -Os 2021-01-20 18:12:57 +11:00
Andy Piper 2b885cd79f AP_HAL_ChibiOS: ensure that serial LED setup goes via an intermediate buffer
protect serial LED buffer transfers with mutex
protect serial LED buffer size with mutex
prevent serial LED interactions before rcout is ready
allocate a serial led buffer per channel that needs it
setup clock mask when needed
2021-01-20 18:10:18 +11:00
bugobliterator c02c546077 AP_HAL_ChibiOS: add support for inline comments in hwdef.dat 2021-01-18 09:37:11 +11:00
bugobliterator 41693403e2 AP_HAL_ChibiOS: retain memory of past conflicts in dma_resolver 2021-01-18 09:37:11 +11:00
Andrew Tridgell f93e2f6717 HAL_ChibiOS: enable 32k FRAM on H7 boards 2021-01-16 06:47:10 +11:00
pkocmoud 7b61a4d8c2 HAL_ChibiOS: support F7 with no crystal 2021-01-15 15:48:01 +11:00
Andy Piper cb5be4fcc1 AP_HAL_ChibiOS: don't share IMU DMA on MatekH743 to avoid SPI DMA contention 2021-01-15 14:32:39 +11:00
Andy Piper e781572d53 AP_HAL_ChibiOS: support iFlight BeastF7
reduce DMA contention on BeastH7 and correct sharing
add README's for BeastF7 and BeastH7
2021-01-13 18:09:33 +11:00
Andy Piper fdbf2d369a AP_HAL_ChibiOS: do not take bi-dir path when in serial DMA 2021-01-13 18:03:41 +11:00
bugobliterator 4346264113 AP_HAL_ChibiOS: ensure UP and CH timer channels share DMA for H7 2021-01-12 10:45:03 +11:00
Andy Piper e9ea360a99 AP_HAL_ChibiOS: don't timeout after 11 bits on serial irqs 2021-01-12 09:58:58 +11:00
Andrew Tridgell 14433c3ae3 HAL_ChibiOS: enable ICM-40609 on mRoNexus 2021-01-11 14:43:35 +11:00
Andrew Tridgell afbdd69165 AP_HAL_ChibiOS: adjust stack sizes 2021-01-10 08:28:55 +11:00
Andy Piper 8fb403c569 AP_HAL_ChibiOS: make sure BDMA channels are not adjacent 2021-01-10 08:11:37 +11:00
Andrew Tridgell 42bc9adfb7 HAL_ChibiOS: use ExpandingString for @SYS buffers 2021-01-05 10:52:00 +11:00
Peter Barker ca6c133042 AP_HAL_ChibiOS: do not reuse va_list after it has been ended 2021-01-05 10:04:25 +11:00
Andrew Tridgell 324ff178d8 HAL_ChibiOS: fixed CUAV_GPS defaults.parm 2021-01-03 16:24:12 -08:00
Tom Pittenger 113f792ad1 AP_HAL_ChibiOS: update periph targets who have buzzer/LEDs with notify 2021-01-03 16:24:12 -08:00
Andrew Tridgell 6f4bfed82d HAL_ChibiOS: fixed build with alarm and no PWM channels
this fixes a build error due to conditional always being false when
NUM_GROUPS==0 by using a C++ iterator. It also makes the code neater
2021-01-04 09:04:06 +11:00
Hwurzburg ce361e51bf HAL_ChibiOS: Reinstate HAL_MINIMIZE_FEATURES for 1MB F7 boards 2021-01-02 08:57:47 +11:00
Andrew Tridgell e260c7ad59 HAL_ChibiOS: update f303-MatekGPS to allow disable of MSP
and use DMA for MSP
2021-01-01 15:40:13 +11:00
David B. Bitton 8dbe0a71ba AP_HAL_ChibiOS: add support for Toshiba LED 2020-12-31 11:02:10 -08:00
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 07f199ea1a AP_HAL_ChibiOS: rename system_initialized() and add is_system_initialized() 2020-12-30 18:16:59 +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
Andy Piper a4b2930223 AP_HAL_ChibiOS: iFlight Beast H7 AIO hwdef 2020-12-30 18:13:03 +11:00
ukmook bf34041211 AP_HAL_ChibiOS: add support for Pixracer-periph 2020-12-29 07:52:39 -07:00
Tom Pittenger 5432c9957a AP_HAL_ChibiOS: rename AP_PERIPH_<feature>_DEFAULT to HAL_PERIPH_<feature>_DEFAULT 2020-12-28 09:16:02 +11:00
Tom Pittenger 083088bfff AP_HAL_ChibiOS: adjust defaults to use param instead of hardcoded defaults 2020-12-25 16:24:50 -07:00
Ari Krupnik 79e1f5e8bd AP_HAL_ChibiOS: standard spelling of variant 2020-12-25 00:01:50 +11:00
Phillip Kocmoud 062c6cef41 HAL_ChibiOS: Fix typo relating to pin PB7:I2C4_SDA 2020-12-23 06:43:19 +11:00
Siddharth Purohit 5b58163c35 AP_HAL_ChibiOS: add HAL_PERIPH_ENABLE_RCOUT_TRANSLATOR to CubeBlack-periph and CubeOrange-periph 2020-12-21 18:27:07 -08:00
Tom Pittenger da74d755d0 AP_HAL_ChibiOS: add new HAL_PWM_COUNT define 2020-12-21 18:27:07 -08:00
Tom Pittenger f670f7a9b6 AP_HAL_ChibiOS: change ADSB to use param ADSB_PORT instead of define 2020-12-17 23:24:04 -08:00
Tom Pittenger 5c98e18236 AP_HAL_CubeORange-periph: enable HAL_PERIPH_ALLOW_MAVLINK_UART_OR_USB_REBOOT_CMD on USB 2020-12-18 06:59:09 +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
Sebastian Witt 6cfaae4e7d AP_HAL_ChibiOS: Support for Diatone MambaF405 MK2 2020-12-16 19:07:07 +11:00
Andrew Tridgell bf546f363d HAL_ChibiOS: don't init serial 1 and 3
these should not be treated as special. Initialising them early just
wastes memory if the end up not being used
2020-12-15 10:32:46 +11:00
Andrew Tridgell e54fc4b0de AP_HAL_ChibiOS: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Phillip Kocmoud ce87b62dcc AP_Periph: Add alternate ordering of NCP5623 LED colors 2020-12-12 14:57:35 +11:00
Tom Pittenger 68b2982cc6 AP_HAL_ChibiOS: CubeBlack/Orange-periph to use default HAL_SUPPORT_RCOUT_SERIAL 2020-12-09 07:53:09 -08:00
Tom Pittenger 2203bf2400 AP_HAL_ChibiOS: Add f303-periph default RANGEFINDER_MAX_INSTANCES 1 2020-12-09 18:05:24 +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 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 b1e7b508db HAL_ChibiOS: added HitecMosaic 2020-12-06 16:48:08 +11:00
Andrew Tridgell 1723cf8efb HAL_ChibiOS: reduce SPI clock on MatekH743 mpu6k to 2MHz
this fixes regular transfer errors
2020-12-06 13:04:52 +11:00
Tom Pittenger e235fd311e AP_HAL_ChibiOS: fixed comment in script file 2020-12-03 20:33:51 +11:00
Andrew Tridgell 6765265a3b AP_Periph: switched to 1kHz clock for f303-periph
and use CAN RX buffer size of 64.

This makes for more efficient CPU usage on f3, and fixes an issue with
lost CAN parameter replies causing timeouts in the CAN parameter
download protocol
2020-12-03 20:00:55 +11:00
Andrew Tridgell b289701d20 HAL_ChibiOS: removed SPI devices on f103-periph
these are unused and saves us a couple of k of flash
2020-12-03 15:50:50 +11:00
Andy Piper cf2602f91d AP_HAL_ChibiOS: add support for @SYS/dma.txt for DMA contention 2020-12-02 18:17:23 +11:00
Phillip Kocmoud 38dd3b9209 hwdef: add mRo Control Zero Classic 2020-12-01 15:19:50 +11:00
Phillip Kocmoud bef522387a hwdef: add mRo Control Zero H7 2020-12-01 14:46:55 +11:00
Andrew Tridgell cf22caa7ef HAL_ChibiOS: raise stack limits in f303 peripherals 2020-12-01 11:14:50 +11:00
Andrew Tridgell 3ba46d5bd9 HAL_ChibiOS: enable reporting of watchdog reset on AP_Periph 2020-12-01 11:14:50 +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 2d459dccc3 HAL_ChibiOS: reduced stack usage in CAN RX handler 2020-12-01 11:14:50 +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 52a90e7a33 HAL_ChibiOS: fixed monitor thread with no logging 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 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
Phillip Kocmoud c9182b39d5 hwdef: mRo Control Zero H7 OEM - update and improve uniformity 2020-11-30 08:48:36 +11:00
Phillip Kocmoud b55920165a hwdef: mRo Pixracer Pro - update and improve uniformity 2020-11-30 08:48:36 +11:00
Phillip Kocmoud a379bb8fc5 hwdef: mRo Control Zero F7 update and improve uniformity 2020-11-28 20:28:22 +11:00
Andrew Tridgell a587195912 HAL_ChibiOS: change f303-MatekGPS to 5Hz by default 2020-11-27 19:41:33 +11:00
Tom Pittenger 67405cedb2 AP_HAL_ChibiOS: add AP_BattMonitor support to CubeBlack&Orange-periph 2020-11-25 14:20:53 +11:00
斯东Stone 4990048efb HAL_ChibiOS: Correct a typo and Update product link url for PH4-mini 2020-11-24 12:48:11 +11:00
QioTek e4f4868d9b HAL_ChibiOS: add QMC5883L on QioTekZealotF427
add QMC5883L on QioTekZealotF427
2020-11-22 06:10:34 +11:00
Marek Łukasiewicz 64f208cbec HAL_ChibiOS: Add af_parse for CubeMX pinout csv 2020-11-18 18:39:07 +11:00
Phillip Kocmoud 701ab83f01 HAL_ChibiOS: Added support for mRo ControlZero OEM H7 flight controller 2020-11-18 18:28:24 +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 8f682c0782 HAL_ChibiOS: check all memory at 10Hz 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 3f775205e6 HAL_ChibiOS: fixed use of chHeapFree
should be free
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
Huibean cf2b89c4f1 AP_HAL_ChibiOS:add mazzy star drone hwdef 2020-11-17 17:57:07 +11:00
Tom Pittenger e0e3c23a87 AP_HAL_ChibiOS/hwdef: fix misprint in comment 2020-11-14 08:00:40 +11:00
Marek Łukasiewicz 8813057b4c AP_HAL_ChibiOS: Tweak sorting to be py2/py3 compatible 2020-11-12 10:27:31 +11:00
Andrew Tridgell 280e9d1c41 HAL_ChibiOS: fixed bootloader build 2020-11-10 16:15:45 +11:00
Andrew Tridgell 17b4198921 HAL_ChibiOS: add WITH_FATFS to environment 2020-11-10 16:15:45 +11:00
Andrew Tridgell ac566763fe HAL_ChibiOS: disable loop delay on replay 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 cb034c50a7 HAL_ChibiOS: fixed orientation of compass on M10070B 2020-11-08 16:13:17 +11:00
Andrew Tridgell 3b7b2b89a5 HAL_ChibiOS: added baro for mRo Location-one GPS 2020-11-08 16:13:17 +11:00
Phillip Kocmoud c192efea0a hwdef:PixracerPro - Fix analog volt pin assignments 2020-11-03 08:17:54 +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 ee50eaf3c9 HAL_ChibiOS: go via AP_Filesystem for mount/unmount operations
this fixes a deadlock where a mount/unmount could access FATFS without
holding the AP_Filesystem semaphore
2020-10-27 10:45:03 +11:00
Andrew Tridgell 96f7397099 HAL_ChibiOS: make PowerC primary power on CUAV-X7
CUAV considers the CAN power to be the main power for this board
2020-10-24 08:27:21 +11:00
Michael Oborne b383db15c7 ChibiOS: fix cubeblack+ name and usbid 2020-10-24 08:26:55 +11:00
Andrew Tridgell fb1dcdb059 HAL_ChibiOS: added BL suffix to bootloader USB IDs for two boards
our convention is to have -BL on end of USB product IDs in bootloaders
2020-10-13 17:59:13 +11:00
Andrew Tridgell 418bd33c43 HAL_ChibiOS: fix CUAV-X7 power bits 2020-10-13 17:58:30 +11:00
Andrew Tridgell 25bc128248 HAL_ChibiOS: fixed periph overpower ifdef
fixes overcurrent logging on several boards
2020-10-13 17:58:30 +11:00
Andrew Tridgell 989f8c5d41 HAL_ChibiOS: fixed a race condition in UART DMA transmit
this fixes an issue seen on one board which caused a watchdog on high
uart DMA load. We have reproduced the issue on another board by
forcing a very high DMA transfer rate on the same DMA channel while
also requesting very high transfer rates on the UART. The likely race
is in the DMA transmit timeout code, and the simplest fix is to lock
out interrupts during the DMA setup to ensure the tx timeout cannot
trigger during the setup
2020-10-12 13:25:48 +11:00
bugobliterator 5880628b01 hwdef: add support for CubeBlack-periph 2020-10-08 09:31:35 +11:00
bugobliterator e16cab0437 AP_HAL_ChibiOS: ensure we timeout while checking FDCAN register sets 2020-10-08 09:31:35 +11:00
bugobliterator ca957519dc AP_HAL_ChibiOS: redo filter configuration to make it work with STM32H7 2020-10-08 09:31:35 +11:00
QioTek f04de7d610 HAL_ChibiOS: Add QioTekZealotF427 build target
I've added the hwdef to support the QioTekZealotF427

It has 3 IMU sensors(ICM20698,ICM20602,BMI055), a Compass(Ist8310),
2Baro sensors(DSP310,MS5611), an integrated analog OSD, 14motor
outputs, 4Relay output, 5uarts, 2Power Module input, an i2c, a Can.
2020-10-05 07:41:06 +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 5e80b10396 HAL_ChibiOS: enable telem3 on Durandal
the RCIN issue is not there in the final production boards
2020-10-03 20:22:56 +10:00
Andrew Tridgell e471b23f58 HAL_ChibiOS: add a max quota of GPIO interrupts
This implements a max quota of GPIO interrupts per 100ms period to
prevent high interrupt counts from consuming all CPU and causing a
lockup. The limit is set as 10k interrupts per 0.1s period. That limit
should be high enough for all reasonable uses of GPIO interrupt
handlers while being below the level that causes significant CPU loads
and flight issues

This addresses issue #15384
2020-10-02 09:38:24 +10:00
bugobliterator 0a4ea250ad AP_HAL_ChibiOS: disable CANFilter on H7 boards temporarily 2020-10-01 07:19:19 +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 6fb973081b AP_HAL_ChibiOS: enable all I2C compasses by default for f103 boards 2020-09-24 12:32:19 +10:00
Andrew Tridgell 0e8c8c29a8 HAL_ChibiOS: fixed f303-MatekGPS build 2020-09-24 12:32:19 +10:00
Andrew Tridgell 246e790484 AP_Bootloader: use new hal CAN interface for CAN support 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 1f16aa8360 HAL_ChibiOS: add hwdef for CubeOrange-periph 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
Siddharth Purohit 36ffcdae30 HAL_ChibiOS: modify hal can drivers for use by AP_Periph 2020-09-24 12:32:19 +10:00
Hwurzburg d5722b15e9 AP_ChibiOS: fix configuration number in OmnibusF7V2 hwdef 2020-09-23 07:35:22 +10:00
Hwurzburg de8002ab5e AP_HAL_ChbiOS: ALT config to enable UART3 in place of I2C 2020-09-22 09:48:02 +10:00
Andrew Tridgell 0ba256f625 HAL_ChibiOS: fixed warning on gcc9
packed structure can be misaligned
2020-09-22 08:07:23 +10:00
Andrew Tridgell 90cd2a38b6 HAL_ChibiOS: fixed gcc9 warnings 2020-09-22 08:07:23 +10:00
Hwurzburg c64f286333 AP_ChibOS: add UART7_RX to OMNIBUSF7V2 2020-09-17 10:47:18 +10:00
bugobliterator 575a56a6b6 hwdef: CubeOrange: do power reset on peripherals and sensor at boot 2020-09-16 18:08:08 +10:00
bugobliterator a2ee82d8d9 hwdef: use inv2 sensor checks in CubeOrange 2020-09-16 18:08:08 +10:00
Andy Piper 570fd59c39 AP_HAL_ChibiOS: disable OSD parameters on F7 1Mb boards with SD cards 2020-09-10 18:10:32 +10:00
Andrew Tridgell 1ffbbb2896 HAL_ChibiOS: added FLASH_TOTAL to environment 2020-09-10 07:41:25 +10:00
Andy Piper bbaaf7d66f AP_HAL_ChibiOS: disable features on KakuteF7 and OmnibusF7v2 to mirror KakuteF7Mini 2020-09-09 20:36:42 +10:00
Andrew Tridgell 90e488d29d HAL_ChibiOS: set airspeed type in f303-MatekGPS fw 2020-09-09 12:04:49 +10:00
Andrew Tridgell e95a44e73c HAL_ChibiOS: run f303-MatekGPS at 10Hz 2020-09-09 06:35:50 +10:00
Andrew Tridgell 844db20db0 HAL_ChibiOS: use a default node ID for f303-MatekGPS 2020-09-09 06:35:50 +10:00
Andrew Tridgell 9c7568eb5f HAL_ChibiOS: enable MSP output for f303-MatekGPS 2020-09-09 06:35:50 +10:00
chobits f4320c935c AP_HAL_ChibiOS: fix kakutef7/mini motor glitch when using dshot 2020-09-08 18:57:30 +10:00
vierfuffzig 63fdac0048 AP_HAL_ChibiOS: add USART3 as alt config on OmnibusNanoV6 2020-09-07 15:34:01 +10:00
Michael Oborne 4e9848ab3a HAL_ChibiOS: fix sdcard param init
the write was failing because of a 0 byte write attempt, the response was -1 vs 0
this results in not using the sdcard backend for storage for all boots after the initial
2020-09-04 07:13:12 +10:00
Andrew Tridgell 3a252a042b HAL_ChibiOS: fixed fast sampling on F32Lightning
this SPI bus on this board can't handle 8MHz
2020-09-02 06:42:44 +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 d25908a1c9 AP_HAL_ChibiOS: keep a backup of storage for last 100 boots 2020-09-01 14:31:53 +10:00
vierfuffzig 56e44c46ca AP_HAL_ChibiOS: disable IMU fast sampling on F35 / WingFC10
fast sampling introduces random IMU glitches, bisect search identifies 9c2caf5b12 
disabling fast sampling fixes IMU back to expected behaviour. see:
https://github.com/ArduPilot/ardupilot/issues/15090
https://discuss.ardupilot.org/t/shaking-horizon-and-jittering-servos/60420
for reference
2020-08-31 19:50:09 +10:00
Andrew Tridgell 36442dc9b0 HAL_ChibiOS: added Matek CAN GPS
supports GPS, baro, mag and airspeed
2020-08-25 09:59:15 +10:00
Andrew Tridgell 4c4c3d467b HAL_ChibiOS: added f103-Airspeed sensor
for Matek CAN airspeed sensor
2020-08-25 09:59:15 +10:00
bugobliterator 5eb0e0a718 AP_HAL_ChibiOS: fix name for RX Queue size define 2020-08-24 06:48:56 +10:00
Siddharth Purohit 8dcb973dad HAL_ChibiOS: fix SWD config in f3 boards 2020-08-20 19:08:14 +10:00
Siddharth Purohit 7929efec0d HAL_ChibiOS: add EventSource HAL 2020-08-19 17:31:09 +10:00
Siddharth Purohit 265e9b8cc6 HAL_ChibiOS: add native time info methods 2020-08-19 17:31:09 +10:00
Siddharth Purohit a7d641c705 AP_HAL_ChibiOS: add available method for locked state 2020-08-19 17:31:09 +10:00
Siddharth Purohit cdf8e369f1 AP_HAL_ChibiOS: create UAVCAN agnostic CANIface driver
HAL_ChibiOS
2020-08-19 17:31:09 +10:00
Siddharth Purohit 697e4141cb AP_HAL: add common Event interface 2020-08-19 17:31:09 +10:00
Siddharth Purohit 3ddd1d484a AP_HAL_ChibiOS: add support for bank selection call outside SPI driver 2020-08-06 12:41:35 +10:00
Andy Piper baf92a17f9 AP_HAL_ChibiOS: disable AP_Mount on "mini" boards 2020-08-04 09:18:14 +10:00
Peter Barker b5d0480bed AP_HAL_ChibiOS: log accumulated power status flags; all flags ever set 2020-07-21 09:12:14 +10:00
Andrew Tridgell d283dd7d00 HAL_ChibiOS: define polarity of 3.3/5v selection for PWM 2020-07-21 08:47:27 +10:00
Andrew Tridgell 99ac8e2fbe HAL_ChibiOS: enable BRD_PWM_VOLT_SEL parameter for mRoPixracerPro 2020-07-21 08:47:27 +10:00
Peter Barker efb576292f AP_HAL_ChibiOS: handle queue push and pop failing 2020-07-20 10:19:47 +09:00
Henry Wurzburg d78c5371db AP_HAL_ChibiOS: remove fmuv4 and update Pixracer 2020-07-13 15:24:54 +10:00
Andrew Tridgell 9f1e641637 HAL_ChibiOS: added new STM32Cube configs 2020-07-10 13:33:51 +10: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
Andy Piper 2bae080be4 AP_HAL_ChibiOS: increase RCIN stack size 2020-07-07 18:48:06 +10:00
Peter Barker cadb1012df AP_HAL_ChibiOS: reenable full features on KakuteF7Mini 2020-07-02 18:38:46 +10:00
Andrew Tridgell ce8591ddbc HAL_ChibiOS: re-enable full features on KakuteF7 and OMNIBUSF7V2
we now have enough space with recent changes for these boards
2020-07-02 18:38:46 +10:00
Andy Piper c707303336 AP_HAL_ChibiOS: hold buzzer ping low in bootloader for omnibusf4pro 2020-06-30 17:58:35 +10:00
Andy Piper 48e0da8444 AP_HAL_ChibiOS: pull buzzer pin low in Kakute F7 bootloader to prevent startup scream 2020-06-30 17:58:35 +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
Randy Mackay f9a866d09a AP_HAL_ChibiOS: luminousbee4 serial5 to mavlink2 2020-06-30 09:42:49 +10:00
Randy Mackay 3e0bb4110a AP_HAL_ChibiOS: fmuv4 serial5 to mavlink2 2020-06-30 09:42:49 +10:00
Randy Mackay ced448b706 AP_HAL_ChibiOS: DrotekP3Pro serial5 to mavlink2 2020-06-30 09:42:49 +10:00
MATEKSYS 903b44da7d HAL_ChibiOS: Add DPS310 for MatekF405-WING,F765-WING and H743 2020-06-22 19:35:01 +10:00
Andrew Tridgell 7f429302ed HAL_ChibiOS: increase monitor thread stack to 768 bytes
attempt to fix issue #14582
2020-06-15 17:56:34 +10:00
Andrew Tridgell 6fa623d074 HAL_ChibiOS: added Holybro Pix32v5 2020-06-12 21:23:16 +10:00
MATEKSYS 14e01e21b7 HAL_ChibiOS: MatekH743: move baro to I2C2 bus 2020-06-11 17:31:59 +10:00
Andrew Tridgell c1403a2e2b HAL_ChibiOS: fixed default CubeOrange pin for 2nd current sensor 2020-06-10 17:32:11 +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
duccan cdcdd5ce27 AP_HAL_ChibiOS: Added support for Bitcraze Crazyflie 2.1
Rework after review:
- Kept old IMU and barometer definition of crazyflie 2.0 in hwdef
- Added comment regarding soft-reset command
- Added defaults.parm for crazyflie
2020-06-07 07:49:37 +10:00
duccan 0d96c7f7a5 AP_HAL_ChibiOS: Added support for Bitcraze Crazyflie 2.1 2020-06-07 07:49:37 +10:00
James Jacobsson 8a87322d93 AP_HAL_Chibios: Adjust MatekF765-Wing voltage and current scales
The new values matches the ones from here:
http://www.mateksys.com/?portfolio=f765-wing#tab-id-5

Also verified to be a lot more accurate in real life.
2020-06-04 10:06:22 +10:00
Phillip Kocmoud 0d5a0f392c hwdef.dat update x2.1-777 2020-06-04 09:51:27 +10:00
Andrew Tridgell 571fbf8f71 HAL_ChibiOS: update power VALID pins 2020-06-04 09:51:27 +10:00
Andrew Tridgell 863807c9fb HAL_ChibiOS: use more consistent naming for power VALID pins
this uses _VALID for an active high pin and _nVALID for an active low
pin. It uses _OC for active high overcurrent and _nOC for active low
overcurrent
2020-06-04 09:51:27 +10:00
Peter Barker 931c77fa77 AP_HAL_ChibiOS: correct clearing of UART drivers 2020-06-03 17:00:44 +10:00
CUAVcaijie 220e6999c7 HAL_ChibiOS:Adapt to CUAV Nora V1.2 hardware 2020-05-28 19:13:49 +10:00
pkocmoud 7809dc849c HAL_ChibiOS: Added support for mRo Pixracer Pro flight controller 2020-05-27 21:22:56 +10:00
Peter Barker 6d9e563ede AP_HAL_ChibiOS: override read(buffer,count) method to be more efficient 2020-05-26 15:59:11 +10:00
Henry Wurzburg 9c72525bbf AP_HAL_ChibiOS: Add unused LED output as GPIO in OmnibusF4Pro def 2020-05-26 10:51:32 +10:00
Peter Barker 8f54de4184 AP_HAL_ChibiOS: add discard_input method on UARTDriver 2020-05-26 09:20:32 +10:00
Andy Piper 33c1523905 AP_HAL_ChibiOS: add harmonics to DSP
add vector_mean_float() to DSP
allow fft_start() to use ObjectBuffer<float> for lock-free access
2020-05-24 07:43:34 +10:00
bugobliterator 7b9f0f3fd7 HAL_ChibiOS: use FIFO mode instead of Queue mode in FDCAN driver 2020-05-21 15:32:53 +10:00
Henry Wurzburg 12d5602926 AP_HAL_ChibiOS: Add ability to use UART3 and UART4 in bd alt config 4 2020-05-11 14:18:35 +10:00
Peter Barker 50523ed0fa AP_HAL_ChibiOS: remove pointless initialisations
These are never stack-allocated.

Only saves 16 bytes - but several lines
2020-05-10 18:03:36 +10:00
Andrew Tridgell 2200dfefdb HAL_ChibiOS: during setup() we expect delays
this may fix occasional internal errors on SPI during startup
2020-05-10 15:12:43 +10:00
Andrew Tridgell 259cb0aafd HAL_ChibiOS: removed EKF2 define, not needed any more 2020-05-10 15:09:54 +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 69676cd614 HAL_ChibiOS: support 24MHz f3 MCUs 2020-05-10 15:09:28 +10:00
Henry Wurzburg 3f735e7e54 HAL_ChibiOS: Make full UART4 available as bd config option 2020-05-10 08:00:57 +10:00
Henry Wurzburg 225a305cb9 AP_HAL_ChibiOS:Remove alt config since its not useful (no TX available) 2020-05-10 08:00:21 +10:00
Peter Barker 967f8bf726 AP_HAL_ChibiOS: correct description of where stdout goes 2020-05-05 07:57:57 +10:00
Andrew Tridgell e126b6d346 HAL_ChibiOS: fixed race condition in storage write
we could mark a line as clean when it should be dirty if we lose a
race condition between storage thread and writer
2020-05-04 17:22:41 +10:00
Peter Barker 48da4e523c AP_HAL_ChibiOS: create and use INTERNAL_ERROR macro so we get line numbers 2020-04-30 13:21:36 +10:00
pkocmoud defb7dc43f hwdef: add mRo M10070 Location One CAN GPS 2020-04-30 11:31:43 +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 0ef66659ce HAL_ChibiOS: log WDOG message once a second
this copes with delayed mounting of the microSD, making it much more
likely we log the critical data
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 c61cecdbc7 HAL_ChibiOS: report thread name in watchdog 2020-04-29 07:36:55 +10:00
Andrew Tridgell 09477b2dfe HAL_ChibiOS: shorted thread names
changes names so threads can be distinguished by first 4 bytes
2020-04-29 07:36:55 +10:00
Andrew Tridgell a5965d5a9e HAL_Chibios: removed unnecessary debug defines 2020-04-29 07:36:55 +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 9350c78023 AP_HAL_ChibiOS: use GCS_SEND_TEXT() 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 d82cd1363b HAL_ChibiOS: fixed bootloader build 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 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 32cdfddf12 HAL_ChibiOS: convert all hwdef from UART_ORDER to SERIAL_ORDER
much easier to understand
2020-04-28 10:32:23 +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 0994655f5b HAL_ChibiOS: fixed build warnings for bootloader builds 2020-04-28 10:32:23 +10:00
Andrew Tridgell 9557a5c22c HAL_ChibiOS: added more STM32CubeMX configs 2020-04-28 10:32:23 +10:00
Andrew Tridgell a9df9fe0c0 HAL_ChibiOS: removed clock tree settings in most hwdef.dat
these are better set automatically in the headers. This simplifies the
task of doing a new port
2020-04-28 10:32:23 +10:00
Andrew Tridgell a638196334 HAL_ChibiOS: skyviper-f412-rev1 uses a custom clock tree 2020-04-28 10:32:23 +10:00
Andrew Tridgell e8b2b52bae HAL_ChibiOS: removed STM32_VDD from hwdef.dat
use default
2020-04-28 10:32:23 +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 fe765b8845 HAL_ChibiOS: switched CUAV_GPS to use same clocks as other F4 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 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
Andrew Tridgell 3d5475a1d9 HAL_ChibiOS: fixed skyviper-journey build 2020-04-28 10:32:23 +10:00
Andrew Tridgell 7320cd3174 HAL_ChibiOS: fixed assert in wait_pin() 2020-04-27 14:01:04 +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 d9e2a644ea HAL_ChibiOS: fixed Durandal buzzer in bootloader
need to pull low to avoid buzzer running in bootloader
2020-04-24 19:46:22 +10:00
bugobliterator b94f089984 HAL_ChibiOS: improve throughput of slcan router 2020-04-24 19:39:18 +10:00
Andrew Tridgell 43ac58c63b HAL_ChibiOS: added STM32CubeMX configs for H7 processor crystal varients
useful for checking clock config changes
2020-04-24 16:55:03 +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 2c68ce1986 HAL_ChibiOS: fixed clock source for FDCAN
use selected source and add 80MHz limit, as per manual and latest STM32CubeMX tool
2020-04-24 16:55:03 +10:00
Andrew Tridgell 4ec1717361 HAL_ChibiOS: enable IMU temp control on CUAV-X7 2020-04-23 09:05:52 +10:00
Andrew Tridgell 56b0dddb7c HAL_ChibiOS: set IMU temp on CUAV-X7 2020-04-23 07:28:13 +10:00
Andrew Tridgell 5892e6421e HAL_ChibiOS: enable DRDY on ADIS16470 on CUAV-X7 2020-04-23 07:28:13 +10:00
Andrew Tridgell ffe773ff6f HAL_ChibiOS: use DRDY pin for ADIS16470 on mRoNexus 2020-04-23 07:28:13 +10:00
Andrew Tridgell 450871cde1 HAL_ChibiOS: added wait_pin() implementation 2020-04-23 07:28:13 +10:00
Andrew Tridgell 8e977183fe HAL_ChibiOS: added mRoNexus 2020-04-23 07:28:13 +10:00
Andrew Tridgell 6be519fb0d HAL_ChibiOS: added alt-config for UART4 on omnibusf4pro 2020-04-21 18:42:12 +10:00
Andy Piper f3b240533f AP_HAL_ChibiOS: eliminate EKF2 from fmuv2 build 2020-04-18 20:18:30 +10:00
Andrew Tridgell db8fdeebeb HAL_ChibiOS: fixed Hott telem half duplex handling
this fixes an issue with single byte writes with half duplex. It isn't
an elegent solution, but nicely separates the different types of half
duplex operation
2020-04-17 17:52:28 +10:00
Andrew Tridgell cac455ff2d HAL_ChibiOS: added another uart to omnibusf4v6
for RC telemetry such as Hott telem
2020-04-17 11:23:06 +10:00
vierfuffzig 7c7b199bbd AP_HAL_ChibiOS: add I2C / USART3 ALT_CONFIG for omnibusf4pro 2020-04-16 08:42:24 +10:00
Andrew Tridgell 74f33d57c5 HAL_ChibiOS: avoid unnecessary H7 flash writes 2020-04-14 10:02:51 +10:00
Andrew Tridgell 8dabd6cefc HAL_ChibiOS: expect a long delay on flash page erase
this prevents the display of errors on flash page erase
2020-04-14 10:02:51 +10:00
Andrew Tridgell 4b236e52b2 HAL_ChibiOS: added MatekH743 port 2020-04-14 10:02:51 +10:00
Andrew Tridgell 2165fd66f1 HAL_ChibiOS: define FLASH_RESERVE_END_KB 2020-04-14 10:02:51 +10:00
Henry Wurzburg e5319397b4 AP_HAL_ChibiOS: eliminate EKF2 from F4 builds not using HAL_MINIMIZE_FEATURES 2020-04-14 09:19:28 +10:00
murata 124d8c7fdf AP_HAL_ChibiOS: Changing the timeout detection 2020-04-14 07:32:46 +10:00
Andrew Tridgell db4f1a1473 HAL_ChibiOS: enable ADIS16470 on SPI1 2020-04-13 15:26:02 +10:00
CUAVcaijie 942b2fd29f HAL_ChibiOS: Added support for CUAV X7 flight controller 2020-04-13 15:26:02 +10:00
bugobliterator a31f2e5d90 hwdef: add validation checks for CubeOrange 2020-04-10 07:04:21 +10:00
bugobliterator ef91f1634b HAL_ChibiOS: add support for adding board validation test 2020-04-10 07:04:21 +10:00
Andrew Tridgell 376116c99b HAL_ChibiOS: fixed skyviper-journey build 2020-04-04 10:47:15 +11:00
Peter Barker 9ba2aecbb8 AP_HAL_ChibiOS: send statustext at regular intervals after watchdog reset 2020-03-31 14:30:11 +11:00
Henry Wurzburg a637073dad AP_HAL_Chibios: add tenth PWM output to MatekF405-Wing 2020-03-30 11:23:14 +11: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
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
bugobliterator 89d03f0243 AP_HAL_ChibiOS: implement standard realloc method 2020-03-24 10:32:14 +11:00
Andrew Tridgell fc0b2ef920 HAL_ChibiOS: added half-duplex protection for non-inverted
to prevent output bytes being seen as input bytes we disable half
duplex during transmit. This was previously only done for non-inverted
UARTs. This patch enables it whether we are inverted or not. This
greatly reduces the number of bad input bytes.
2020-03-20 12:37:52 +11:00
Peter Barker a59c3670c8 AP_HAL_ChibiOS: stash lr_thd in watchdog hardfault handler 2020-03-19 16:03:58 +11:00
Andrew Tridgell 5a4b648cf5 HAL_ChibiOS: disable flash fallback for boards with FRAM
this saves on flash and prevents confusing results when fram fails
2020-03-14 13:47:25 +11:00
Nick Exton 4cd39a4619 HAL_ChibiOS: improved selection of storage backend 2020-03-14 13:47:25 +11:00
Andy Piper 104dd7cd75 AP_HAL_ChibiOS: remove board subtype for OmnibusNanoV6 2020-03-14 10:20:46 +11:00
Andrew Tridgell 986ad0dc27 HAL_ChibiOS: removed unnecessary subtype defines 2020-03-14 08:35:32 +11:00
Andrew Tridgell c3f2117590 HAL_ChibiOS: fixed R9Pilot board ID 2020-03-14 07:05:22 +11:00
Andrew Tridgell 1540cf958b HAL_ChibiOS: improve error messages for flashing bootloader
send progress as statustext messages
2020-03-11 16:30:06 +11:00
Andrew Tridgell cf7c2b1475 HAL_ChibiOS: suppress SPI timeout error for expected delay 2020-03-11 16:30:06 +11:00
Andrew Tridgell 65cd223023 HAL_ChibiOS: implement in_expected_delay() 2020-03-11 16:30:06 +11:00
Andrew Tridgell d35fff5186 HAL_ChibiOS: set CS pins high while in bootloader
this appears to be the root cause of the parameter resets on
CubeOrange. We need to ensure the CS pin is not floating or random
noise on the SPI bus for FRAM can cause the FRAM to become corrupt
2020-03-11 09:53:06 +11:00
Peter Barker d0edfd2c0d AP_HAL_ChibiOS: VRUBrain-v51: reduce AP_MAX_EMBEDDED_PARAM to 1024
Stops us overflowing on Copter and Plane builds
2020-03-10 10:50:18 +11:00
Peter Hall fe5779fd88 AP_HAL_ChibiOS: add support for ProfiLEDs 2020-03-10 10:37:26 +11:00
Andrew Tridgell 16f34778fc HAL_ChibiOS: added f103-HWESC target 2020-03-04 16:21:06 +11:00
Andrew Tridgell bca1bd2c72 HAL_ChibiOS: added f303-HWESC firmware 2020-03-04 16:21:06 +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
Peter Barker 2d2fdf8bd0 AP_HAL_ChibiOS: make a static-const hal a reference to the external symbol 2020-03-03 10:12:14 +11:00
Andrew Tridgell ccc7d48c20 HAL_ChibiOS: reserve plenty of DMA memory for luminousbee4 2020-02-27 13:12:26 +11:00
Andrew Tridgell 669b98c6df HAL_ChibiOS: allow more than 32 WS2812 LEDs on a pin 2020-02-27 13:12:26 +11:00
Andrew Tridgell 5bfd607300 HAL_ChibiOS: added luminousbee4 flight controller 2020-02-27 13:12:26 +11:00
Peter Hall 0ca6b7cf77 AP_HAL_ChibiOS: retry neopixel until successful send 2020-02-25 11:15:55 +11:00
Andrew Tridgell 41b74ec014 HAL_ChibiOS: use DNA by default for all AP_Periph builds
this makes multiple sensors of the same type on the bus easier
2020-02-22 12:28:16 +11:00
Andrew Tridgell 6139860a64 HAL_ChibiOS: use default USB IDs for fmuv3 2020-02-22 12:17:05 +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
pkocmoud 8c764bb568 hwdef: switch to (0) DNA as the default NODEID 2020-02-17 12:48:37 +11:00
pkocmoud 8f6d2aab7a hwdef: add mRo M10025 KITCAN 2020-02-17 12:48:37 +11:00
Andrew Tridgell bebfef369f HAL_ChibiOS: fixed power flags for CUAV-Nora 2020-02-12 21:17:49 +11:00
CUAVcaijie 561808ba3c HAL_ChibiOS: Added support for CUAV Nora flight controller 2020-02-12 21:17:49 +11:00
Andrew Tridgell a0fe1a7598 HAL_ChibiOS: produce more accurate clocks for DShot and PWM 2020-02-12 18:12:39 +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 8b93e0f57d HAL_ChibiOS: prevent double init of USB
this prevented init of USB CubeBlack on Windows. Thanks to Randy for
reporting
2020-02-12 17:44:09 +11:00
Andrew Tridgell adf17414e0 HAL_ChibiOS: fixed output string for non-DMA capable chan
this fixes a problem where the user requests DShot (which rquired DMA)
on an output channel which cannot allocate a DMA channel. We end up
sending normal PWM, so the string representation of the output modes
should reflect that
2020-02-12 14:08:40 +11:00
Andrew Tridgell e8ab35a192 HAL_ChibiOS: fixed stdout in early startup bug
this caused a failure to boot on some boards if they tried to print
messages in early startup code before hal was initialised

thanks to @Shadowru for reporting the issue
2020-02-12 13:51:10 +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 12f31e328f HAL_ChibiOS: fixed dshot docs for Pixhawk4 2020-02-08 14:15:37 +11:00
Randy Mackay 76c982ced8 AP_HAL_CHibiOS: update Pixhawk4 README to 16 pwm outputs
also correct Main PWM ouput's number of groups
2020-02-08 14:14:32 +11:00
Andrew Tridgell bdef7d7158 HAL_ChibiOS: fixed default fast sampling on CubeOrange and Durandal 2020-02-05 12:48:51 +11:00
Andrew Tridgell e0cd790505 HAL_ChibiOS: fixed spektrum RC input on Pixracer
RCININT is inverted compared to RCIN, so need to enable SBUS_INV pin
2020-02-05 10:45:36 +11:00
Randy Mackay a71ae54d3a AP_HAL: add RCOutput::get_output_mode_banner 2020-02-04 12:23:33 +11:00
giacomo892 529f067914 HAL_ChibiOS: save more flash on SuccexF4 2020-02-02 06:02:59 +11:00
giacomo892 23a42b1914 HAL_ChibiOS: disable parachute and sprayer on SuccexF4 2020-02-02 06:02:59 +11:00
Andrew Tridgell 8b2629bfc1 HAL_ChibiOS: save 7k flash for boards close to flash limit 2020-02-01 06:58:43 +11:00
Andrew Tridgell c8395bb2c1 HAL_ChibiOS: use blocking semaphore for new_input()
this prevents a race where we continually fail to get new input
2020-01-31 11:09:07 +11:00
Andrew Tridgell 05f095f338 HAL_ChibiOS: fixed build 2020-01-31 11:09:07 +11:00
Andrew Tridgell 3fe3c8ecdc HAL_ChibiOS: implement pulse_input_enable()
and cleanup use of mutexes in RC input
2020-01-31 11:09:07 +11:00
Andrew Tridgell 9c0cf0871b HAL_ChibiOS: added disable() API for pulse input 2020-01-31 11:09:07 +11:00
Andrew Tridgell 27c114828b HAL_ChibiOS: fixed bitmask error on storage erase 2020-01-31 11:06:29 +11:00
Peter Barker bff97eb150 AP_HAL_ChibiOS: assert that storage size is an even number of storage-lines 2020-01-30 19:53:02 +11:00
Andrew Tridgell a7b6887f44 HAL_ChibiOS: added a f303-Universal build target 2020-01-26 09:12:55 +11:00
Andrew Tridgell 7a812a5516 HAL_ChibiOS: use cortex m7 instructions on F7/H7 2020-01-25 08:50:09 +11:00
Peter Barker 73c32f403b AP_HAL_ChibiOS: do not compile EKF2 for MatekF405-Wing 2020-01-21 11:53:18 +11:00
Peter Barker e189b17efb AP_HAL_ChibiOS: remove unused AnalogIn fields 2020-01-21 10:06:18 +11:00
Andrew Tridgell a8501a91c7 HAL_ChibiOS: fixed handling of write mutex
this fixes an issue with log download on USB and mavlink throughput
caused lock contention. The issue was introduced with the changes for
unbuffered writes recently (does not affect stable releases)
2020-01-21 08:37:25 +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 0aae8e13c1 AP_HAL_ChibiOS: use take_blocking instead of HAL_SEMAPHORE_BLOCK_FOREVER
this makes for cleaner and smaller code as the failure case is not
needed
2020-01-19 20:19:30 +11:00
Andrew Tridgell 7ce771734c HAL_ChibiOS: fixed fw build size for several boards 2020-01-19 07:24:57 +11:00
Andrew Tridgell 320a703afc HAL_ChibiOS: fixed UART DMA config for ALT() pins 2020-01-19 07:24:57 +11:00
Andrew Tridgell 0cc6d4a70b HAL_ChibiOS: added support for FrSky R9 flight controller 2020-01-18 17:00:44 +11:00
Andrew Tridgell f7a65afa67 HAL_ChibiOS: allow for baro with no arguments 2020-01-18 17:00:44 +11:00
Andrew Tridgell 83d3488eb2 HAL_ChibiOS: fixed ZubaxGNSS board ID 2020-01-18 15:44:51 +11:00
Michel Pastor 6fa09c05c2 HAL_ChibiOS: added SuccexF4 board 2020-01-18 14:54:29 +11:00
Andrew Tridgell ce4120e803 HAL_ChibiOS: disable parachute and sprayer on MatekF405-Wing
fixes build size
2020-01-18 13:48:48 +11:00
Andrew Tridgell a935b764f4 HAL_ChibiOS: fixed UART DMA issue on F4
disabling in rx irq callback should only be done on F3
2020-01-18 07:13:11 +11:00
Andrew Tridgell a220b37bf8 HAL_ChibiOS: use 4k bouncebuffer for sdcard
match AP_Logger IO size
2020-01-18 07:13:11 +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 9554103418 HAL_ChibiOS: don't extend alloc of iomcu uart 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 a7b83b1e26 HAL_ChibiOS: allow for unbuffered writes without DMA 2020-01-16 20:36:54 +11:00
CUAVcaijie 7e89591e90 HAL_ChibiOS: Modify the default orientation of the compass 2020-01-08 07:33:51 +11:00
Andrew Tridgell fced7d78fc HAL_ChibiOS: fixed clock src for I2C4 on H7 2020-01-08 05:56:23 +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 bb5c1d07e1 HAL_ChibiOS: implement new UART option bits 2020-01-03 17:32:23 +11:00
Andrew Tridgell ab0f1a8887 HAL_ChibiOS: added max uarts check 2020-01-03 17:32:23 +11:00
Andrew Tridgell 0d31e614ed HAL_ChibiOS: added ALT(1) configs for more boards
this allows more boards to use the FPort protocol
2020-01-03 17:32:23 +11:00
Andrew Tridgell 61f8e6f0d1 HAL_ChibiOS: added alt config for USART6 on MatekF765-Wing 2020-01-02 12:13:55 +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 06a9baeb9b HAL_ChibiOS: adjust fmuv3 SPI priority
fixes an issue with SPI4 assignment
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 8ffd1050eb HAL_ChibiOS: fixed build on STM32F3 2020-01-02 09:52:57 +11:00
Andrew Tridgell b1ca7380be HAL_ChibiOS: re-implement half-duplex using HDSEL switching
this makes half-duplex more reliable on UARTs with pullups or level
shifters
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 58e915155d HAL_ChibiOS: fixed panic to output error every 500ms 2020-01-02 09:52:57 +11:00
Andrew Tridgell 8fdbb88827 HAL_ChibiOS: implement erase() method on Storage in HAL_ChibiOS 2020-01-02 09:52:57 +11:00
Andrew Tridgell e9dded98ce HAL_ChibiOS: enable UART6 for use as RC input on MatekF765-Wing 2020-01-02 09:52:57 +11:00
Andrew Tridgell 6447cc2519 HAL_ChibiOS: support receiver RSSI 2020-01-02 09:52:57 +11:00
Andrew Tridgell f68b9bafd8 HAL_ChibiOS: fixed H7 I2C timing
we were running the clock at too low speed. This affected the SSD1306 display
2019-12-30 16:10:44 +11:00
Andy Piper 6f979d5f7f AP_HAL_ChibiOS: define OSD_ENABLED as 1 rather than ENABLED 2019-12-30 13:02:04 +11:00
CUAVcaijie ccd54409f3 HAL_ChibiOS: Adding SPI devices for CUAV_GPS 2019-12-26 15:51:44 +11:00
CUAVcaijie 2df2e5c275 HAL_ChibiOS: Fix DMA of SPI1 TX on STM32F412 2019-12-26 15:50:18 +11:00
Andrew Tridgell 4b4642dd4d HAL_ChibiOS: allow handling of much higher receiver baudrates with DMA
this uses two DMA RX bouncebuffers to minimise the time with DMA
disabled so that we can handle much higher baudrates
2019-12-26 10:42:48 +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 c8c6c80aef HAL_ChibiOS: switch MatekF765 to timer 12
fixes PWM 5 and 6
2019-12-23 21:46:57 +11:00
Andrew Tridgell ccd1ce406c HAL_ChibiOS: scale uart rx buffer size with baudrate
this ensures we have enough buffer space for a RTK GPS, as well as for
high speed comms with a companion computer
2019-12-23 09:54:36 +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 6f6fbb5b48 HAL_ChibiOS: make pwm pin pulldown 2019-12-20 16:50:48 +11:00
Andrew Tridgell f732a482fe HAL_ChibiOS: support wider range of clock frequencies 2019-12-20 16:50:48 +11:00
Andrew Tridgell a9946b41e9 HAL_ChibiOS: added f103-Trigger board 2019-12-20 16:50:48 +11:00
Andrew Tridgell a87e3e41f0 HAL_ChibiOS: make Pixhawk4 GPS2 connection clearer 2019-12-20 12:34:26 +11:00
Andrew Tridgell d422825715 HAL_ChibiOS: removed per-board AP_FEATURE_RTSCTS and AP_FEATURE_SBUS_OUT
not needed any more
2019-12-18 17:18:44 +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 b99d6e075c HAL_ChibiOS: change CUAVv5Nano volt scale to 18.000 2019-12-18 15:50:34 +11:00
Andrew Tridgell f17178ace0 HAL_ChibiOS: fixed build of SPI clock test 2019-12-13 09:30:48 +11:00
Andrew Tridgell 95b527dac8 HAL_ChibiOS: save 3k of flash on MatekF405-Wing
disable SMBUS and fuel battery monitors
2019-12-09 21:35:00 +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 d4d44990e1 HAL_ChibiOS: added assert for systime_t size 2019-12-09 12:43:39 +11:00
Henry Wurzburg ccc7968f91 HWDEF: Speedybeef4 change I2C internal mask to 0 to allow probing ext baros 2019-12-09 12:03:33 +11:00
Andy Piper 16d2dd4e2d AP_HAL_ChibiOS: specify Durdanal IMUs so that ordering is correct 2019-12-08 17:23:20 +11:00
Andrew Tridgell 0a81c48d9c HAL_ChibiOS: lower gains on CubyOrange and Yellow heater
this should reduce the chance of baro oscillation due to rapid change
in heater temperature
2019-11-28 21:35:29 +11:00
Phillip Kocmoud 73c56220ff HAL_ChibiOS: update mRoControlZeroF7 I2C mask 2019-11-27 16:08:19 +11:00
Andrew Tridgell 0317b66139 HAL_ChibiOS: update mRoX21-777 I2C mask
all external
2019-11-27 14:25:18 +11:00
Andrew Tridgell 0c4a4ccb74 HAL_ChibiOS: optionally print information on a HardFault 2019-11-27 14:12:04 +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
Michael du Breuil 21f6695acd AP_HAL_ChibiOS: Add defaults.parm for CubeOrange and CubeYellow 2019-11-20 20:52:36 +11:00
Stephen Dade e1e7c6ea8a AP_HAL: Ensure scheduler does not log if there is no logger 2019-11-20 11:46:34 +11:00
Andrew Tridgell 4636a4c458 HAL_ChibiOS: support LEDs with a wider range of frequencies
this fixed LEDs on FMUv5 boards on first 4 aux channels. We need to
round up not round down in the resulting bitrate
2019-11-18 15:54:36 -08:00
Andrew Tridgell 4745c9f78d HAL_ChibiOS: setup define for number of serial ports 2019-11-19 07:13:20 +08:00
Andrew Tridgell 0751756e91 HAL_ChibiOS: retain OPENDRAIN if set on a pin
this allows OPENDRAIN when set on a pin to be retained when set with a
pinMode(). This fixes a partially lit B/E LED on the Pixhawk4
2019-11-17 11:45:38 +11:00
Andrew Tridgell fdd2e93f7e HAL_ChibiOS: disable debug port on f103 to save memory 2019-11-09 17:11:32 +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
Matt Lawrence 7a63bda027 Frame_params: Updated solo params for Copter 4 2019-11-08 07:28:17 +08:00
Andrew Tridgell 1db4afb844 HAL_ChibiOS: enable MatekF765 LED pin
- use tonealarm for buzzer
 - add more baro options
2019-11-04 08:14:27 +11:00
Andrew Tridgell 64aae4f67e HAL_ChibiOS: removed heater control 2019-11-02 16:31:04 +11:00
Andrew Tridgell d8445928d1 HAL_ChibiOS: fixed SPI timeout bug
thanks to CUAV for noticing
2019-11-01 22:11:17 +11:00
Andrew Tridgell 6c0c09e690 Revert "HAL_ChibiOS: lower speed of mpu9250"
This reverts commit a4e51f3942.

This commit led to more errors on the first IMU on a normal
CubeBlack. I don't yet know why this happens, but I'm removing this in
master for now as it affects primary IMU
2019-11-01 11:20:32 +11:00
Andrew Tridgell 22f0e8a065 HAL_ChibiOS: added RM3100 in f303-GPS 2019-11-01 10:53:53 +11:00
Andrew Tridgell 207dffba88 HAL_ChibiOS: moved compass support for f103-GPS
not needed for other builds
2019-11-01 10:53:53 +11:00
Andrew Tridgell 1d44718016 HAL_ChibiOS: added f303-periph and f303-GPS firmware 2019-11-01 10:53:53 +11:00
Andrew Tridgell bc1de7a208 HAL_ChibiOS: support STM32F3xx MCUs 2019-11-01 10:53:53 +11:00
Siddharth Purohit 8c413d3c09 HAL_ChibiOS: fix writing into a NULL pointer CANFD interrupt 2019-10-30 22:15:04 +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 ff30ba87bc HAL_ChibiOS: fixed build of sparky2
running out of flash
2019-10-29 12:15:12 +11:00
Andrew Tridgell fcf9356e2c HAL_ChibiOS: fixed build of f103 rangefinder 2019-10-29 08:07:29 +11:00
Andrew Tridgell a4e51f3942 HAL_ChibiOS: lower speed of mpu9250
it isn't handling the full speed well, getting some SPI transfer
errors
2019-10-28 21:06:41 +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 3800d7c084 HAL_ChibiOS: added crazyflie2 bootloader 2019-10-28 09:27:31 +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 378d5c7a5a HAL_ChibiOS: added expected delay in bootloader flash 2019-10-25 21:36:55 +11:00
Andrew Tridgell 81325ab14d HAL_ChibiOS: fixed multi-page bootloader update
and use new enum
2019-10-25 21:36:55 +11:00
Andrew Tridgell 6f9fda5094 HAL_ChibiOS: removed CAN_APP_VERSION_MAJOR from hwdef.dat 2019-10-25 13:52:43 +11:00
Andrew Tridgell 1bf037297d HAL_ChibiOS: set correct APJ_BOARD_ID for ZubaxGNSS 2019-10-25 09:35:27 +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 cffb434de8 HAL_ChibiOS: tweak stack on f103-periph 2019-10-24 22:03:43 +11:00
Andrew Tridgell a3b61a1b02 HAL_ChibiOS: enable ROMFS for ZubaxGNSS and f103-periph
this allows for bootloader update
2019-10-24 22:03:43 +11:00
Andrew Tridgell a224342b18 HAL_ChibiOS: enable ROMFS for CUAV_GPS 2019-10-24 22:03:43 +11:00
Andrew Tridgell f69be70772 HAL_ChibiOS: save some memory in f103-periph build 2019-10-22 17:51:24 +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 5605ad6c59 HAL_ChibiOS: enable MissionPlanner compatible app descriptor 2019-10-21 19:12:01 +11:00
Andrew Tridgell 6b841e781c HAL_ChibiOS: pat watchdog immediately in expect_delay_ms()
this fixes a watchdog issue on AP_Periph if we don't have a timer
thread
2019-10-21 19:12:01 +11:00
Andrew Tridgell 7973a25c40 HAL_ChibiOS: fixed stack on ZubaxGNSS 2019-10-21 19:12:01 +11:00
Andrew Tridgell 910129eafc HAL_ChibiOS: enable watchdog in AP_Periph firmwares 2019-10-21 19:12:01 +11:00
Andrew Tridgell 5efaea2d92 HAL_ChibiOS: fixed flash storage in ZubaxGNSS 2019-10-21 19:12:01 +11:00
Andrew Tridgell e376884377 HAL_ChibiOS: fixed Zubax bootloader debug 2019-10-21 19:12:01 +11:00
Andrew Tridgell 1f06aa069e HAL_ChibiOS: fixed uprintf() in bootloader 2019-10-21 19:12:01 +11:00
Andrew Tridgell e6cb35090c HAL_ChibiOS: fixed page size for STM31F105 flash 2019-10-21 19:12:01 +11:00
Andrew Tridgell 0ef2a60682 HAL_ChibiOS: support ZubaxGNSS as a AP_Periph target 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 8c796ecd2c HAL_ChibiOS: support f103-RangeFinder 2019-10-21 19:12:01 +11:00
Andrew Tridgell 3cd7dd9f12 HAL_ChibiOS: disable GPS and MAG in base f103 build
enable in f103-GPS
2019-10-21 19:12:01 +11:00
Andrew Tridgell 3ca478747c HAL_ChibiOS: enable airspeed in f103-ADSB 2019-10-21 19:12:01 +11:00
Andrew Tridgell fa6b6140e3 HAL_ChibiOS: split out f103-GPS from base f103-periph
this makes it easier to create more peripheral variants
2019-10-21 19:12:01 +11:00
Mirko Denecke b84dcd483d AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces 2019-10-21 08:01:56 +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 6f11926dbd HAL_ChibiOS: enable NCP5623 LED in f103-GPS 2019-10-20 20:31:02 +11:00
Siddharth Purohit 2b410479af HAL_ChibiOS: remove unused code 2019-10-19 09:55:38 +11:00
Andrew Tridgell b9885034b1 HAL_ChibiOS: added a f103-ADSB firmware
for presenting a ping ADSB device as UAVCAN
2019-10-16 13:13:24 +11:00
Andrew Tridgell 85271a8747 HAL_ChibiOS: split out f103-GPS from base f103-periph
this makes it easier to create more peripheral variants
2019-10-16 13:13:24 +11:00
Andrew Tridgell b7ae12a9d3 HAL_ChibiOS: reduce max compasses to 1 on AP_Periph 2019-10-16 08:58:52 +11:00
Andrew Tridgell 97dc76732c HAL_ChibiOS: drop mRoControlZeroF7 DPS310 clock to 5MHz 2019-10-15 10:22:15 +11:00
Henry Wurzburg c515f4b317 AP_HAL_ChibiOS/hwdef: update KakuteF4 readme 2019-10-14 10:04:30 +11:00
Andy Piper 28b866cc8f AP_HAL_ChibiOS: hardware definitions for Kakute F7 Mini 2019-10-12 21:53:55 +11:00
Andrew Tridgell 77bf67e15f HAL_ChibiOS: fixed padding of neopixel bits
lack of padding at start caused occasional glitches in colors
displayed
2019-10-10 10:41:19 +11:00
Andrew Tridgell 15e4641e51 AP_HAL_ChibiOS: cleanup ifdefs for SLCAN enable 2019-10-08 10:02:14 +11:00
Andrew Tridgell 555f56a8af HAL_ChibiOS: removed wait on CAN peripheral in H7
these wait busy loops can take a very long time, and end up causing
interrupts to be lost elsewhere in the system, causing lost bytes on
UARTs

We should not have while loops waiting on peripharals like this. If we
do need to wait for a flag to clear then it needs to be done in a low
priority thread, or we need to check for completion in a timer

CAN still seems to work with this change, but needs flight testing
2019-10-03 15:26:47 +10:00
Andrew Tridgell 47f2f1764d HAL_ChibiOS: generate HAL_MEMORY_TOTAL_KB for each board 2019-10-01 09:29:55 +10:00
Andrew Tridgell e3a965272c HAL_ChibiOS: added Pixhawk1-1M
this is for 1M versions of the Pixhawk1. It is smaller than fmuv2 as
it only links the specific sensors needed for Pixhawk1
2019-10-01 09:08:25 +10:00
Mark Whitehorn d8a07b6c44 HAL_ChibiOS: fix FMU fast_channel_mask
fix IO fast channel mask
use IOMCU chmask to only set right channels
remove unused variable
2019-10-01 07:13:33 +10:00
Andrew Tridgell 748cf39116 HAL_ChibiOS: disable DMA for RCIN on Pixracer
this frees up DMA for USART1_RX, which gives DMA for input over the
SERIAL5 WiFi port, which is important for applications where a
pixracer is being fed vision data over WiFi
2019-09-30 07:58:40 +10:00
Andrew Tridgell e820219202 HAL_ChibiOS: changed optimisation of higher end boards to -O2
-O3 does not seem to be a win, and takes up a lot more flash
2019-09-28 08:57:26 +10:00
Peter Barker 9fb715692e AP_HAL_ChibiOS: correct include of mavlink header for analog debug 2019-09-25 12:22:27 +10:00
Andrew Tridgell 386e7dc3e8 HAL_ChibiOS: fixed delay for OneShot125 channels
we were delaying output for OneShot125 by 8x as much as we need to,
which reduced our max loop rate
2019-09-22 19:43:35 +10:00
Andrew Tridgell 850892c3d9 HAL_ChibiOS: fixes from LGTM errors 2019-09-22 18:35:15 +10:00
Michael du Breuil 95bca05322 AP_HAL_ChibiOS: Only include MAVLink when using the MAVLink debugging 2019-09-19 10:48:25 +09: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 255e769171 HAL_ChibiOS: fixed IMU order and board ID for CubeBlack+ 2019-09-16 12:53:44 +10:00
bugobliterator e82da992c9 HAL_ChibiOS: hwdef: add hwdef for CubeBlack+ 2019-09-16 12:53:44 +10:00
Andrew Tridgell 28cca004f2 HAL_ChibiOS: added default params for skyviper-journey 2019-09-12 14:02:36 +10:00
Andrew Tridgell 1dca0a16f5 HAL_ChibiOS: rename skyviper-f412 to skyviper-journey 2019-09-12 14:02:36 +10:00
Andrew Tridgell b33afde884 HAL_ChibiOS: allow safety button on CUAV_GPS to be used for "stay in bootloader"
allows for recovery of bad CAN firmware
2019-09-10 16:22:33 +10:00
Andrew Tridgell c6a9f067e2 HAL_ChibiOS: enable LEDs on CUAV_GPS 2019-09-10 16:22:33 +10:00
Andrew Tridgell 3dfe15443d HAL_ChibiOS: fixed orientation of CUAV_GPS compass 2019-09-10 16:22:33 +10:00
Andrew Tridgell 03c1a8bfd9 HAL_ChibiOS: use safety button logic from AP_BoardConfig 2019-09-10 16:22:33 +10:00
Andrew Tridgell 0ea67943b9 HAL_ChibiOS: enable safety button on CUAV_GPS 2019-09-10 16:22:33 +10:00
Andrew Tridgell 186eedf838 HAL_ChibiOS: enable safety LED 2019-09-10 16:22:33 +10:00
Andrew Tridgell 75696997cc HAL_ChibiOS: added buzzer support to CUAV_GPS 2019-09-10 16:22:33 +10:00
Andrew Tridgell cbe0af2463 HAL_ChibiOS: setup for LEDs on KakuteF4
this makes Kopis1 display LEDs properly
2019-09-10 13:03:28 +10:00
Andrew Tridgell f441223b55 HAL_ChibiOS: implement updated NeoPixel API
allow for N leds per chain, and setting separate colours per led in
each chain
2019-09-10 13:03:28 +10:00
Tom Pittenger e3416b66dc AP_HAL_ChibiOS: add Neopixel output type, similar to dshot 2019-09-10 13:03:28 +10: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 83872c23e5 HAL_ChibiOS: fixed AP_Periph build 2019-09-06 08:51:45 +10:00
Andrew Tridgell fd80220d3e HAL_ChibiOS: setup PH4-mini RCIN port by default 2019-09-06 08:51:45 +10:00
Andrew Tridgell 54649a0e4f HAL_ChibiOS: fixed KakuteF4 define for SERIAL2 2019-09-06 08:51:45 +10:00
Andrew Tridgell 06b272705e HAL_ChibiOS: run RCIN thread at 1kHz
this gives fast enough response for SBUS parsing on a UART
2019-09-06 08:51:45 +10:00
Andrew Tridgell c841b39ea2 HAL_ChibiOS: switch to AP::RC() for AP_RCProtocol 2019-09-06 08:51:45 +10:00
Andrew Tridgell bf2cf7834d HAL_ChibiOS: fixed a bug in parity/stop-bit setting on STM32F7 and H7
and add get_options() method
2019-09-06 08:51:45 +10:00
Andrew Tridgell ad2890dc5a HAL_ChibiOS: added connector pinouts for PH4-mini 2019-09-06 08:51:45 +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 2c5c8106a5 HAL_ChibiOS: removed duplicate barometer from fmuv5 2019-09-04 21:24:01 +10:00
Andrew Tridgell 708ee47c03 HAL_ChibiOS: fixed f103 rm3100 2019-09-04 16:27:47 +10:00
Andrew Tridgell c2c8702329 HAL_ChibiOS: convert remaining boards to use COMPASS specifier 2019-09-04 16:27:47 +10:00
Andrew Tridgell 3aa01448ff HAL_ChibiOS: use COMPASS specifier for f103-periph 2019-09-04 16:27:47 +10:00
Andrew Tridgell 316e7cf7e6 HAL_ChibiOS: fixed mini-pix compass and baro probing
removed dup baro and fixed compass probe
2019-09-04 16:27:47 +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
Michael du Breuil e19f0ef238 AP_HAL_ChibiOS: Remove set_stop_pin from AnalogSource 2019-09-04 09:54:50 +10:00
E Thomas c09d6908ed Enabled active buzzer output on OmnibusNanoV6 2019-09-03 09:59:53 +10:00
Andrew Tridgell 72494788f7 HAL_ChibiOS: convert more boards to use BARO specifier 2019-08-28 06:54:11 +10:00
Andrew Tridgell 0667747506 HAL_ChibiOS: convert some more boards to new IMU specifiers 2019-08-28 06:54:11 +10:00
Andrew Tridgell 5ce4ff916e HAL_ChibiOS: fixed Pixhawk1 gyro orientation
this was broken by the recent switch to hwdef.dat for orientations
2019-08-27 19:29:37 +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 b30f3697d2 HAL_ChibiOS: fixed build without ISR limit 2019-08-27 10:29:56 +10:00
Andrew Tridgell 97c56c068e HAL_ChibiOS: update board IDs for AP_Periph firmwares 2019-08-27 10:29:56 +10:00
Andrew Tridgell 63f39c2bd6 HAL_ChibiOS: fixed build of iomcu firmware 2019-08-27 10:29:56 +10:00
Andrew Tridgell 64921b64f5 HAL_ChibiOS: enable sensors in peripheral firmwares 2019-08-27 10:29:56 +10:00
Andrew Tridgell fa76d1fbe6 HAL_ChibiOS: disable watchdog save in bootloader 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 dc89d10ccf HAL_ChibiOS: added hwdef.dat for CUAV_GPS 2019-08-27 10:29:56 +10:00
Andrew Tridgell c8806acaf5 HAL_ChibiOS: use AP_PERIPH env var 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 e51a1a88df HAL_ChibiOS: initial hwdef-bl.dat for CUAV CAN GPS 2019-08-27 10:29:56 +10:00
Andrew Tridgell 66ab585a24 HAL_ChibiOS: setup defaults for CAN app versions 2019-08-27 10:29:56 +10:00
Andrew Tridgell d711bed405 HAL_ChibiOS: set default node ID of 117
this allows for flight controllers without DNA support
2019-08-27 10:29:56 +10:00
Andrew Tridgell ababe1e81d HAL_ChibiOS: disable UART support in f103-periph bootloader 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 9a7b52fd15 HAL_ChibiOS: added hwdef.dat for f103-periph 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
Stone white ec911710c9 hwdef: Enable Spektrum 3.3V VDD Power on fmuv5 2019-08-26 17:27:02 +10:00
Michael du Breuil 56e35e0712 AP_HAL_ChibiOS: Remove almost redundant code duplication from the HAL 2019-08-26 17:24:09 +10:00
Andrew Tridgell ffe0f338d3 HAL_ChibiOS: enable utime() API 2019-08-26 15:41:44 +10:00
Henry Wurzburg 00c111651a ChiBios: Omnibusf4pro hwdef tweak to allow active or passive buzzer 2019-08-26 12:22:53 +10:00
Andrew Tridgell aeb58cede1 HAL_ChibiOS: I2C timeout should be send+recv, not MAX(send,recv)
MAX() is right for SPI, not I2C
2019-08-26 09:13:39 +10:00
Andrew Tridgell 578e5dfdaa HAL_ChibiOS: add up i2c ISR count 2019-08-26 09:13:39 +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
Andrew Tridgell 8080efbc6a HAL_ChibiOS: allow for blocking unbuffered uarts
this is used by AP_IOMCU to avoid a race condition where the mutex is
busy on write() causing a zero-length write and delayed output
2019-08-17 17:36:41 +10:00
Andrew Tridgell afc8a70ce4 HAL_ChibiOS: fixed a bug in wait_timeout() on UARTs
wait_timeout() could return true on a read of less bytes than are
expected.
2019-08-17 17:36:41 +10:00
Peter Barker 35c2406b17 AP_HAL_ChibiOS: add missing override keywords
This was causing CubeOrange not to build
2019-08-17 13:25:05 +10:00
Peter Barker 54b200a777 AP_HAL_ChibiOS: add missing uavcan-related override keywords 2019-08-14 16:33:29 +10:00
Andrew Tridgell 5e40921b42 HAL_ChibiOS: fixed reboot hold in bootloader
thanks to Tom for noticing this
2019-08-12 22:21:13 -07:00
Henry Wurzburg b6518b6b46 AP_HAL_ChiibOS: change omnibusf4 board type to be unique 2019-08-06 11:20:11 +10:00
Andrew Tridgell 4fca69c5e9 HAL_ChibiOS: renamed Pixhawk6 to Durandal
new name for FC from Holybro
2019-08-01 14:11:06 +10:00
Andrew Tridgell adcf9c4fa4 HAL_ChibiOS: added commented out baro on SPI5 for fmuv5
useful for SPI debugging
2019-07-29 10:09:08 +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
bugobliterator cba98096e9 HAL_ChibiOS: move to using hardcoded heater PWM polarity in iofirmware 2019-07-25 17:05:41 +10:00