Commit Graph

603 Commits

Author SHA1 Message Date
Andrew Tridgell 2d8dbc05d0 HAL_ChibiOS: fixed omnibusf4pro I2C
many thanks to Kelly-Foster and @sh83
2018-07-11 08:33:49 +10:00
Andrew Tridgell fff4b3b4a0 HAL_ChibiOS: fixed build on some F4 boards 2018-07-11 07:24:39 +10:00
Andrew Tridgell ece10082e2 HAL_ChibiOS: added separate builds for Pixhawk4 and CUAVv5
this makes it easier to distinguish boards in logs, plus makes life
easier when the user is selecting the right firmware.

It also gives us the flexibility to make parameter changes as needed
2018-07-10 18:29:14 +10:00
Andrew Tridgell b647dde28f HAL_ChibiOS: changed which I2C bus is internal on fmuv5
match PH4 arrangement
2018-07-10 18:29:14 +10:00
Andrew Tridgell 385713abdd HAL_ChibiOS: support for PH4-mini board 2018-07-10 18:29:14 +10:00
Andrew Tridgell 63a9b903ba HAL_ChibiOS: added fallback to microSD for param storage
useful for boards without flash sectors setup in bootloader for
storage, but can use microSD
2018-07-10 15:41:44 +10:00
Andrew Tridgell 5d8b4c1e23 HAL_ChibiOS: ensure system_id is nul terminated 2018-07-10 15:40:08 +10:00
Andrew Tridgell 4f9bd50038 HAL_ChibiOS: implement I2C bus masks 2018-07-10 15:39:47 +10:00
Andrew Tridgell 3292abaa19 HAL_ChibiOS: fixed F412 build 2018-07-10 11:48:06 +10:00
Randy Mackay af6c5ebda1 AP_HAL_ChibiOS: reduce default BRD_PWM_COUNT to 4 for fmv3
also default relay pins to use aux out 5 and 6
2018-07-10 05:30:05 +10:00
Andrew Tridgell a7d9f4eef7 HAL_ChibiOS: don't add defaults.parm when building bootloader 2018-07-09 20:59:51 +10:00
Andrew Tridgell fd02865a8b HAL_ChibiOS: use wildcard ROMFS name for fonts 2018-07-09 19:41:56 +10:00
Andrew Tridgell 27c435e217 HAL_ChibiOS: use compressed ROMFS for bootloader update 2018-07-09 19:41:56 +10:00
Andrew Tridgell a489c93001 HAL_ChibiOS: removed restriction on delay in threads
threads other than the main thread should be able to sleep, but not
call the delay callback
2018-07-09 19:41:18 +10:00
Andrew Tridgell df3ce87e02 HAL_ChibiOS: implement thread_create() 2018-07-09 19:41:18 +10:00
Andrew Tridgell 847cb760b4 HAL_ChibiOS: fixed fmuv4-beta hwdef for dup pin 2018-07-06 10:21:12 +10:00
Andrew Tridgell bf6906819d HAL_ChibiOS: fixed configure of cube-red 2018-07-06 10:21:12 +10:00
Alexander Malishev 7a3eb69818 HAL_ChibiOS: allow arm without compass on omnibusf4pro 2018-07-06 09:04:50 +10:00
Andrew Tridgell fbf24f0492 HAL_ChibiOS: make serial number match HAL_PX4 2018-07-06 09:02:11 +10:00
Andrew Tridgell 840362f355 HAL_ChibiOS: fixed default revo compass orientation 2018-07-05 19:43:12 +10:00
Andrew Tridgell 15ee9593b5 HAL_ChibiOS: fixed duplicate pin definitions
thanks to @liang-tang for noticing
2018-07-05 12:07:55 +10:00
Andrew Tridgell 53dcf5bef8 HAL_ChibiOS: fixed build warning with MATEKF405 2018-07-05 11:48:40 +10:00
Andrew Tridgell 5c2c5efc35 HAL_ChibiOS: rename to CubeYellow 2018-07-05 07:53:48 +10:00
Andrew Tridgell f289c71b89 HAL_ChibiOS: make CubeOrange IDs consistent with CubeBlack 2018-07-05 07:53:48 +10:00
Andrew Tridgell 47fec1859b HAL_ChibiOS: rename cube-orange to CubeOrange 2018-07-05 07:53:48 +10:00
proficnc 5519986848 HAL_ChibiOS: Added CubeBlack hwdef 2018-07-05 07:53:48 +10:00
Andrew Tridgell d3bc281a10 HAL_ChibiOS: use generic ROMFS embedding system 2018-07-02 10:43:48 +10:00
Andrew Tridgell 8ba137bd9a waf: moved ROMFS embed script into waf folder 2018-07-02 10:43:48 +10:00
Andrew Tridgell e5435e02ad HAL_ChibiOS: report system ID in mavlink and logs 2018-06-29 20:27:36 +10:00
Andrew Tridgell ca3beb88b7 HAL_ChibiOS: allow for telem1 and telem2 for bootloader on fmuv3 2018-06-29 08:17:38 +10:00
Andrew Tridgell 6cf205bdbe HAL_ChibiOS: make sure we populate up to uartG 2018-06-29 08:17:38 +10:00
Andrew Tridgell dd059b89f3 HAL_ChibiOS: added uartG for fmuv4 and fmuv5 2018-06-29 08:17:38 +10:00
Andrew Tridgell 0a5d287326 HAL_ChibiOS: support uartG 2018-06-29 08:17:38 +10:00
Andrew Tridgell 963675689c HAL_ChibiOS: fixed substitution of %BOARD%-BL 2018-06-28 11:35:13 +10:00
Andrew Tridgell 54dc67e2a9 HAL_ChibiOS: default bootloader product string to XX-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 d183efa720 HAL_ChibiOS: fixed USB string of fmuv5 bootloader 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 f7f9d2b0e7 HAL_ChibiOS: added fmuv4 bootloader hwdef-bl.dat 2018-06-28 11:35:13 +10:00
Andrew Tridgell 3a5b3b4b1b HAL_ChibiOS: fixed adding bootloader to ROMFS 2018-06-28 11:35:13 +10:00
Peter Barker e332bece0f AP_HAL_ChibiOS: embed any bootloader found for a board 2018-06-28 11:35:13 +10:00
Peter Barker a81b3c8a7c AP_HAL_ChibiOS: specify bootloader for sparky2 2018-06-28 11:35:13 +10:00
Peter Barker f07b6f3d78 AP_HAL_ChibiOS: add support for flashing bootloader 2018-06-28 11:35:13 +10:00
Andrew Tridgell 10533fb249 HAL_ChibiOS: enable OSD font on OMNIBUSF7V2 2018-06-27 14:55:00 +10:00
Alexander Malishev 79b289f97e HAL_ChibiOS: reverted change in omnibus hwdef.dat 2018-06-27 14:55:00 +10:00
Andrew Tridgell 8e8508a9f3 HAL_ChibiOS: enable OSD for MatekF405 2018-06-27 14:55:00 +10:00
Andrew Tridgell cf19e7a3ae HAL_ChibiOS: enabled OSD on KakuteF4 2018-06-27 14:55:00 +10:00
Alexander Malishev 8ce7ef1342 HAL_ChibiOS: added OSD support for MatekF405 and Omnibuspro 2018-06-27 14:55:00 +10:00
Andrew Tridgell 35f835a021 HAL_ChibiOS: improved OMNIBUSF7V2 support 2018-06-27 13:01:30 +10:00
Andrew Tridgell 7cce23671a HAL_CbibiOS: removed unnecessary BOARD_SUBTYPE define
just causes build warnings
2018-06-27 11:37:45 +10:00
Andrew Tridgell 5bf078cc86 HAL_ChibiOS: fixed build with -Werror-sign-compare 2018-06-27 11:37:45 +10:00
Michael du Breuil 153ee6ca8e AP_HAL_ChibiOS: Clear UART buffers when opening a port 2018-06-26 02:18:18 +01:00
Michael du Breuil 037e53ba8a AP_HAL_ChibiOS: Reduce flash space of UARTDriver
Saves 32 bytes
2018-06-26 02:18:18 +01:00
Andrew Tridgell a0b4553a26 HAL_ChibiOS: fixed bootloader build issue 2018-06-25 21:22:31 +10:00
Andrew Tridgell bf6fb72904 HAL_ChibiOS: fixed 32 bit flash writes 2018-06-25 21:22:31 +10:00
Andrew Tridgell f71d2a7417 HAL_ChibiOS: support bootloaders with no uarts 2018-06-25 21:22:31 +10:00
Andrew Tridgell 277836ccc7 HAL_ChibiOS: added bootloader definition for fmuv3
including UART support on 2 UARTs
2018-06-25 21:22:31 +10:00
Andrew Tridgell e40457d98f HAL_ChibiOS: avoid malloc in usbcfg
this avoids the need for malloc in the bootloader
2018-06-25 21:22:31 +10:00
Andrew Tridgell 369ac5edd0 HAL_ChibiOS: save more space in the bootloader 2018-06-25 21:22:31 +10:00
Andrew Tridgell 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
Alexander Malishev 95f3eb5ab6 HAL_ChibiOS: stop logging before reboot 2018-06-25 17:46:20 +10:00
Alexander Malishev cfa18b8e70 HAL_ChibiOS: reduce dataflash buffer size on targets with 128KB ram 2018-06-25 17:43:26 +10:00
Andrew Tridgell dc0f2f9319 HAL_ChibiOS: use USB for stdout on more boards
don't waste a UART
2018-06-24 08:26:28 +10:00
Andrew Tridgell 2cfdc98453 HAL_ChibiOS: fixed omnibusf4pro bootloader LED pins 2018-06-24 08:26:28 +10:00
Andrew Tridgell b149089830 HAL_ChibiOS: fixed board IDs and added more bootloaders 2018-06-24 08:26:28 +10:00
Andrew Tridgell 2f8a534243 HAL_ChibiOS: expand param storage on F4 boards with flash storage
this allows for a lot more param space on these boards
2018-06-24 08:26:28 +10:00
Andrew Tridgell e868a4fe8b HAL_ChibiOS: set FLASH_RESERVE_START_KB in the environment
used to correctly setup an intel hex file
2018-06-23 17:06:38 +10:00
Andrew Tridgell 1c807e0078 HAL_ChibiOS: added option to limit size of bootloader
this will ensure our F4 bootloaders stay under 16k
2018-06-23 17:06:38 +10:00
Andrew Tridgell e11b3f2f0e HAL_ChibiOS: run CAN thread at 3KHz
at 10KHz we were causing occasional CRC errors on the UART to IOMCU
2018-06-22 08:40:12 +10:00
Andrew Tridgell d88b710ea9 HAL_ChibiOS: added more bootloader hwdef-bl.dat files 2018-06-22 08:00:31 +10:00
Andrew Tridgell 518d41e0d4 HAL_ChibiOS: added OTP defines 2018-06-22 08:00:31 +10:00
Kelly-Foster ae84202bf2 HAL_ChibiOS: added MatekF405-Wing hwdef.dat 2018-06-22 08:00:31 +10:00
Andrew Tridgell 14f66461a7 HAL_ChibiOS: shrink build size for bootloader
thanks to @sh83 for the idea
2018-06-22 08:00:31 +10:00
Alexander Malishev 661259de4e HAL_ChibiOS: reduce .text aigment to save flash space 2018-06-22 08:00:31 +10:00
Andrew Tridgell 608490f5ae HAL_ChibiOS: fixed cube-orange bl build 2018-06-22 08:00:31 +10:00
Andrew Tridgell f9faa0765d HAL_ChibiOS: fixed bootloader IDs 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 82428dfbc6 HAL_ChibiOS: added f405-bl hwdef.dat 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
Andrew Tridgell e3a23921a2 HAL_ChibiOS: fixed FLASH_LOAD_ADDRESS
needs 0x08000000 base
2018-06-22 08:00:31 +10:00
Andrew Tridgell 1c054f0e4a HAL_ChibiOS: fixed clock line on fmuv5 I2C4
there was a typo in the datasheet
2018-06-21 13:08:20 +10:00
Andrew Tridgell a8f99882ba HAL_ChibiOS: allow FrSky_INV to be controlled as GPIO
this allows control via relay settings
2018-06-21 07:40:50 +10:00
Andrew Tridgell e3b68876a9 HAL_ChibiOS: fixed tx_len on tx DMA timeout 2018-06-19 09:08:45 +10:00
Andrew Tridgell 8431a677d9 HAL_ChibiOS: added a timeout to DMA UART TX
this prevents a shared DMA channel being held for a long time if a CTS
pin is held either by not being connected or by a radio
2018-06-19 09:08:45 +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
Lucas De Marchi 46213eb97e chibios_hwdef: fix wrong uart index
calling uart_list.index() will find the first element with that name,
which is not really what we want when we have multiple EMPTY uarts.
2018-06-15 08:21:40 +10:00
Andrew Tridgell 00d919018b HAL_ChibiOS: added RTC clock implementation 2018-06-15 08:01:22 +10:00
Andrew Tridgell 10ca1e78e8 HAL_ChibiOS: switched to Mode3 on SPI1
this is now working correctly
2018-06-13 20:05:26 +10:00
Andrew Tridgell 9d248456e4 HAL_ChibiOS: re-enable I2C4 DMA for F765
now we have fixed the error from the datasheet we can do DMA
2018-06-13 20:05:26 +10:00
Andrew Tridgell ad3eca4e6b HAL_ChibiOS: fixed I2C4 DMA streams
There is an error in the datasheet. See
https://community.st.com/thread/50484-documentation-error-on-dma-channels-for-i2c4-on-stm32f7
2018-06-13 20:05:26 +10:00
Andrew Tridgell 62e8fbb9d3 HAL_ChibiOS: fixed OMNIBUSF7V2 hwdef.dat 2018-06-13 20:05:26 +10:00
Andrew Tridgell e068106669 HAL_ChibiOS: support I2C devices on STM32F7 without DMA
this allows us to support I2C4 on fmuv5
2018-06-13 20:05:26 +10:00
Alexander Malishev 289b93c3d0 HAL_ChibiOS: added parse_timer to chibios_hwdef.dat 2018-06-11 18:32:17 +10:00
Eugene Shamaev 2055f264e5 AP_HAL_ChibiOS: helper func 2018-06-09 22:46:48 -07:00
Andrew Tridgell ab946b5d76 HAL_ChibiOS: disable debug code for FMUv5 2018-06-08 09:56:41 +10:00
Philip 2424e38ed2 HAL_ChibiOS: Update cube-orange hwdef.dat for USB IDs 2018-06-08 09:56:41 +10:00
Andrew Tridgell 058e83c180 HAL_ChibiOS: switched cube-orange SPI1 devices to Mode0 2018-06-08 09:56:41 +10:00
Andrew Tridgell 2df0a71a4b HAL_ChibiOS: fixed flash load address in hwdef.h 2018-06-08 09:56:41 +10:00
Andrew Tridgell 3a7c1b4d42 HAL_ChibiOS: switch BMI055 to mode0 on fmuv5 2018-06-08 09:56:41 +10:00
Andrew Tridgell 3be9077ba9 HAL_ChibiOS: added FMUv5 FMU capture pins 2018-06-06 15:01:38 +10:00
Andrew Tridgell c05086430d HAL_ChibiOS: fixed hwdef.h generation for PWM on tim12 2018-06-06 15:01:38 +10:00
Andrew Tridgell 63087b6425 HAL_ChibiOS: enable fmu out 7 and 8 for fmuv5
these are exposed on the Pixhawk4
2018-06-06 15:01:38 +10:00
Alexander Malishev eac5d13f1c HAL_ChibiOS: use 2 channels in SoftSigReaderInt.cpp 2018-06-06 08:23:51 +10:00
Alexander Malishev fd45b3a69b HAL_ChibiOS: slightly increase EICU interrupt priority 2018-06-06 08:23:51 +10:00
Alexander Malishev 73d33356ad HAL_ChibiOS: detect overcapture in SoftSigReaderInt.cpp 2018-06-06 08:23:51 +10:00
Andrew Tridgell 7a1f87eb52 HAL_ChibiOS: added cube-orange hwdef 2018-06-06 08:13:38 +10:00
Michael du Breuil 1123023a6f AP_HAL_ChibiOS: Wrap process registration with a semaphore 2018-06-06 07:16:58 +10:00
Michael du Breuil a832bdfd04 AP_HAL_ChibiOS: fix race condition on analog reading 2018-06-06 07:16:58 +10:00
Michael du Breuil 4a9fe1745f AP_ChibiOS: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Andrew Tridgell 1ed6a9d34b HAL_ChibiOS: added MCU tables for STM32F777 2018-06-06 07:15:41 +10:00
Andrew Tridgell d1caa86e12 HAL_ChibiOS: adjust DMA priorities for fmuv3 2018-06-06 07:15:41 +10:00
Andrew Tridgell c273b23940 HAL_ChibiOS: moved MCU config to python database
this moves the key MCU config variables related to memory to the
python MCU database, allowing the hwdef.dat to be considerably simpler
2018-06-06 07:15:41 +10:00
Andrew Tridgell f390e35c99 HAL_ChibiOS: use port_disable in reboot
this provides a more reliable way to stop all interrupts
2018-06-06 07:15:41 +10:00
Andrew Tridgell a1c97d0585 HAL_ChibiOS: disable paranoid checks for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell a945c97ec6 HAL_ChibiOS: fixed 3-way DMA sharing bug
when we have 3 way contention across two DMA streams we could get the
dma_deallocate function called in an object from two places at
once. This adds a mutex that prevents that scenario
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 56ce3f057d HAL_ChibiOS: added DRDY and SDMMC pins for FMUv5 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 f25b95f287 HAL_ChibiOS: fixed array length in ADC debug code 2018-06-06 07:15:41 +10:00
Andrew Tridgell fef1b0ffc6 HAL_ChibiOS: fixed I2C flush/invalidate calls 2018-06-06 07:15:41 +10:00
Andrew Tridgell 0fade4eb9e HAL_ChibiOS: make sure the UART bounce buffers are DMA safe 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 8b1db792ee HAL_ChibiOS: ensure ADC memory is aligned for DMA access 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 010cd71ab6 HAL_ChibiOS: enable CAN on FMUv5
and fixed voltage scaling defaults
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
Andrew Tridgell 762e4f9915 HAL_ChibiOS: fixed dma priorities for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell 77d95f6744 HAL_ChibiOS: fmuv5 tweaks 2018-06-06 07:15:41 +10:00
Andrew Tridgell a220220758 HAL_ChibiOS: added comment on IS_DMA_SAFE() 2018-06-06 07:15:41 +10:00
Andrew Tridgell 4d4ea894e8 HAL_ChibiOS: disable i2c device debug code 2018-06-06 07:15:41 +10:00
Andrew Tridgell edb831653f HAL_ChibiOS: added dma_flush and dma_invalidate operations
these are needed to manage the data cache on the STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell 7449e15313 HAL_ChibiOS: disable flash storage option on FMUv5
F7 flash driver not working yet
2018-06-06 07:15:41 +10:00
Andrew Tridgell b961e12456 HAL_ChibiOS: support having no flash storage option 2018-06-06 07:15:41 +10:00
Andrew Tridgell 2d8748ddce HAL_ChibiOS: enable ADCs and buzzer for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell 6aab9232ef HAL_ChibiOS: enable aux pwm channels on FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell db9bf19e46 HAL_ChibiOS: enable i2c for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell 77bb69fa2e HAL_ChibiOS: enabled UARTs for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell ac44189ab2 HAL_ChibiOS: setup two IMUs for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell 721f3cd5d1 HAL_ChibiOS: fixed flash layout for F7
thanks to @alielectric
2018-06-06 07:15:41 +10:00
Andrew Tridgell 01f5d1a17c HAL_ChibiOS: first IMU working 2018-06-06 07:15:41 +10:00
Andrew Tridgell eca634ec62 HAL_ChibiOS: support 6 SPI buses 2018-06-06 07:15:41 +10:00