Commit Graph

138 Commits

Author SHA1 Message Date
jflyper 0306accf6e FLASH Add W25M homogeneous stack driver and W25M512 support (#5722)
* Winbond W25M homogeneous mode driver

* W25M512 support on OMNIBUSF4 variants
2018-04-20 16:37:48 +12:00
Andrey Mironov bf984f39b1 F7 optimizations (#5674)
* Revert "Revert "Rewritten F7 dshot to LL (draft)" (#5430)"

This reverts commit aa42a69d2f.

* Reworked F7 linker scripts to maximize performance of both F74x and F72x

* Some comments and changes from original F7 HAL DSHOT

* Prohibit inlining of some functions to place them in ITCM-RAM

* Fixed usartTargetConfigure implicit declaration

* Moved back to SRAM1 as main RAM

* Added SRAM2 attribute

* Fixed LL DSHOT FOR SPRF7DUAL and probably other adv TIM users

* Fixed SPRF7DUAL rev. A motor order

* Enabled CCM for data on F40x

* Fixed F7 startup assembly symbols

* Fixed KISSFCV2F7 linker script

* Added a quick way of building F7 targets only

* Got rid of the useless F7 target script

* Added NOINLINE and got rid of useless __APPLE__ define

* Added some important functions to ITCM

* Added NOINLINE macro for tests

* Copy to ITCM before passing execution into it

* Minimized cache footprint of motor output code

* Evicted low-impact functions from ITCM

* Switched MATEKF722 and SPRACINGF7DUAL to burst DSHOT

* Switched CLRACINGF7 to burst DSHOT

* Moved UART RX&TX buffers to DTCM-RAM to avoid cache incoherency

* Marked taskMainPidLoop for ITCM-RAM, disallowed inlining per-function

* Revert "Added a quick way of building F7 targets only"

This reverts commit 22945189980deaf493be54a5056a080e7edad629.
2018-04-20 08:37:32 +12:00
jflyper 864dba98c1 Prepare flash code for multiple device type support (#5683)
* Prepare flash drivers for multiple device type support

* Add static assertions on device page and flashfs alloc sizes.
2018-04-19 21:05:42 +12:00
jflyper d749879cf6 FAT emulation of onboard flash for MSC (#5650) 2018-04-11 11:29:56 +12:00
jflyper 2811171ea3 Prepare MSC for simultaneous multiple storages 2018-04-09 11:18:59 +09:00
Chris 9d5fa7311e Add MSC for F7 (#5629)
* Add MSC for F7

* Fix compilation error.
2018-04-06 12:53:26 +12:00
Michael Keller 75bafb7b71
Merge pull request #3039 from cleanflight/f7-transponder-ir (#5618)
CF/BF - Add support for IR Transponder on STM32F7 boards.
2018-04-06 03:44:18 +12:00
Chris c71cfe1b8c Cache up SDIO Writing, add option to enable clock bypass. (#5612)
* Speed up SDIO Writing, add option to enable clock bypass.

* Fix identation

* Requested changes

* Move PG SDIO into correct place.
2018-04-05 12:52:30 +12:00
conkerkh 494e42610e Add SDIO for F7 (#5604) 2018-04-04 01:03:54 +12:00
conkerkh f00e4f2a82 Simplify compilation of F4 SDIO enabled targets. (#5603) 2018-04-02 14:41:16 +12:00
conkerkh a9136e2ba0 Add CDC+HID on F7 (#5596) 2018-04-02 14:35:51 +12:00
Michael Keller 92d19e7be6
Merge pull request #3036 from cleanflight/spracingf7dual-pidaudio (#5586)
PID-Audio feature
2018-04-01 11:08:41 +12:00
codecae 8131e4f840 Created generic SmartAudio interface (#5561) 2018-03-31 13:01:30 +13:00
codecae 22004cfd56 Created generic Tramp protocol interface (#5527) 2018-03-30 17:50:19 +13:00
conkerkh b9ab42d6a7 Enable Composite USB HID for all F4, add PG for USB device. (#5525) 2018-03-25 12:44:57 +13:00
Michael Keller a8e86880f5
Generalised USB MSC use for all F4 targets with SD card. (#5519) 2018-03-24 16:00:53 +13:00
conkerkh 4786e1a333 Add Composite CDC+HID device option. (#5478)
* Add Composite CDC+HID device option.

- It passes on though HID interface 8 channels received from TX
- Endpoints are reconfigured to support HID interface
- Potentially this can slow down SPI Flash transfer though CDC interface...
- This could be addressed by support for MSC when using SPI Flash (emulating FATFS)

* Different way to handle MIN redefine
2018-03-22 15:21:22 +13:00
conkerkh 3a917a3755 Add USB Mass Storage Class support (#5443)
* Add MSC support

* Add support for MSC to WORMFC and SDIO_DMA

* Cleanup in fc_init

* Fix headers
2018-03-22 00:11:34 +13:00
Petr Ledvina 2abcaebd81 Reimplement strtol/strtoul/atoi (#5400)
newlibc version is pulling in (part of) locale support

Adapted from uClibc source code
Addded support for 0b.... prefix for binary numbers
2018-03-13 09:24:15 +13:00
Dominic Clifton 0a2e5a5878 CF/BF - Update DSP_Lib and STM32F7/Drivers/CMSIS to CMSIS 5.3.0. (#5431)
* CF/BF - Update DSP_Lib and STM32F7/Drivers/CMSIS to CMSIS 5.3.0.

CMSIS 5.3.0 - https://github.com/ARM-software/CMSIS_5/releases/tag/5.3.0

* cleanup lib.

* pfft

* relocate driver files from lib/main/CMSIS/CM* to lib/main/STM32xx
folders

* Move DSP folder inside CM5.

It came from the same source as the other files inside CM5

* Remove the CM5 folder and move the files in it one level up.
2018-03-12 09:34:43 +13:00
Míguel Ángel Mulero Martínez 73eb5d396e Add compass QMC5883L driver (#5309) 2018-03-04 11:45:54 +13:00
Dominic Clifton cde9a9517b SPRacingF7DUAL - Dual SIMULTANEOUS gyro support. (#5264)
* CF/BF - Set STM32F7 SPI FAST clock to 13.5Mhz - Gyros not stable at
27mhz.

* CF/BF - Initial SPRacingF7DUAL commit.

Support two simultaneous gyro support (code by Dominic Clifton and Martin Budden)
There are new debug modes so you can see the difference between each gyro.

Notes:
* spi bus instance caching broke spi mpu detection because the detection
tries I2C first which overwrites the selected bus instance when using
dual gyro.
* ALL other dual-gyro boards have one sensor per bus.  SPRacingF7DUAL is has two per bus and thus commit has a lot of changes to fix SPI/BUS/GYRO initialisation issues.

* CF/BF - Add SPRacingF4EVODG target.

This target adds a second gyro to the board using the SPI pads on the back of the board.

* CF/BF - Temporarily disable Gyro EXTI pin to allow NEO target to build.
2018-03-04 11:29:31 +13:00
Petr Ledvina c11d016bc7 optimize math (#5287)
* optimize math

Results in considerable flash saving

* log_approx, exp_approx, pow_approx

Taken from https://github.com/jhjourdan/SIMD-math-prims/blob/master/simd_math_prims.h

* Fix pow in rangefinder

* Use approximate function in baro calculation

Maximum error is < 20cm

* fixup! Fix pow in rangefinder
2018-03-04 01:26:33 +13:00
rotcehdnih 89f8a377c9 ADD FPVM_BETAFLIGHTF7 Target 2018-03-01 19:49:35 +11:00
jflyper 6557b161aa Add box to pinio monitor/mapper 2018-02-12 13:54:40 +09:00
jflyper 8f76a11081 Generic pin output driver 2018-02-11 15:57:28 +09:00
Michael Keller 81e75badf3
Merge pull request #3724 from DanNixon/cms_power_config
CMS power menu
2018-02-11 13:19:30 +13:00
Michael Keller ec4b3b0d60 Revert "CAMERA_CONTROL Drop software PWM mode" 2018-02-11 12:33:00 +13:00
jflyper 93ce6e542a Separate pg related to pg directory 2018-02-09 16:46:12 +09:00
jflyper 86149361ab Drop softpwm option
Also separates PG related code to pg directory.
2018-02-04 12:29:22 +09:00
Dan Nixon 22874d8ba2 CMS power menu
Menu including:
- Voltage meter selection
- Current meter selection
- Max cell voltage (moved from MISC menu)
- Voltage scale adjust (moved from MISC menu)
- ADC current scale and offset adjust
- Virtual current scale and offset adjust
2018-02-01 15:31:45 +00:00
Michael Keller 14b3d574f7
Revert "Size Optimization: Move time-critical code from fc_core.c to fc_tasks.c" 2018-01-31 08:41:46 +13:00
Bruce Luckcuck 4712b0aca1 Discussion: Move time-critical code from fc_core.c to fc_tasks.c
Change fc_core.c to be size-optimized to reduce overall firmware size. Saves 3288 bytes on OMNIBUS as an example.
2018-01-29 20:11:25 -05:00
blckmn 39bb6ffe04 Configurable SDCARD, and clean up of DMA. 2018-01-29 11:50:14 +11:00
Anders Hoglund ac76179942 Spektrum VTX control moved to VTX control task. Added some missing compile conditionals and a few cosmetic updates too. 2018-01-26 13:52:29 +01:00
Martin Budden a4772d9dea
Merge pull request #4999 from martinbudden/bfa_mixer_tri
Add hooks for triflight
2018-01-23 10:59:29 +00:00
mikeller 67f08ce04d Stopped nrf24 drivers from being built for all targets for build time reduction. 2018-01-21 10:37:11 +13:00
Martin Budden ccb49583e9 Add hooks for triflight 2018-01-20 13:59:45 +00:00
Michael Keller 4258651b3a
Merge pull request #4881 from jflyper/bfdev-adc-internal-full-task-version
VREFINT and core temperature support, full task polling version
2018-01-10 16:12:05 +13:00
jflyper a03b85025c Internal ADC support, full task polling version 2018-01-10 11:49:56 +09:00
Chris efc556f91a Add LPS25HB driver 2018-01-07 18:00:19 +01:00
mikeller 09d396c05c Cleaned up parameter group handling.
Fixed missing include.
2017-12-31 10:51:01 +13:00
Anders Hoglund 1605b15cff Clean up the verbosity usage with echo commands in makefiles. 2017-12-30 16:28:52 +01:00
mikeller 0b9884961d Updated handling of FrSky telemetry processing, renamed to `FrSkyHub` for disambiguation. 2017-12-28 11:01:35 +13:00
mikeller b38738894c Moved bus_spi parameter group to `pg/`. 2017-12-25 07:24:32 +13:00
mikeller f6bdfd91e2 Moved beeper parameter groups to `pg/`. 2017-12-24 17:56:37 +13:00
Michael Keller 351294d19a
Merge pull request #4835 from mikeller/move_vcd_to_pg
Moved vcd parameter group to `pg/`.
2017-12-24 16:13:59 +13:00
mikeller 2d930b28ce Moved vcd parameter group to `pg/`. 2017-12-24 15:13:48 +13:00
mikeller b928950598 Moved rx drivers into `drivers/rx/`. 2017-12-24 13:55:18 +13:00
mikeller d82c72bc54 Moved sdcard parameter group to `pg/`. 2017-12-24 12:23:27 +13:00