Commit Graph

148 Commits

Author SHA1 Message Date
blckmn aad6efdf03 Timer clean up in preparation for configurable timers 2018-05-06 06:55:17 +10:00
blckmn 48e62ab8d6 Simplified source.mk slightly to ensure some common, and pg files are always included in build. 2018-05-05 14:37:38 +10:00
Michael Keller f7d5568d52
Merge pull request #5819 from jflyper/bfdev-introduce-nomk-extension-for-no-build
Use ".nomk" to designate "No build" target
2018-05-05 13:10:50 +12:00
jflyper 35df29f0bc Use nomk to signify no build target name 2018-05-05 01:13:12 +09:00
Diego Basch c46be03047 added gps for altitude estimation, remove most unused code, rename altitude.c to position.c, add hdop to nmea 2018-05-04 08:45:26 -07:00
jflyper 77cbeab783 Exclude KISSFCV2F7 from CI 2018-05-03 09:42:10 +09:00
jflyper ac13e87c86 OmniNXT F4/F7 support 2018-04-27 09:42:21 +09:00
Michael Keller 3ef12389da
Merge pull request #5743 from codecae/crsf_displayport
CMS Telemetry over CRSF w/ Lua Script (X9D, so far)
2018-04-25 00:09:58 +12:00
Curtis Bangert 9d4d3ad45c CMS Telemetry over CRSF w/ Lua Script (X9D, so far) 2018-04-23 22:34:30 -04:00
jflyper 0e4684e828 Serial port function mask initializer as a config helper 2018-04-23 21:44:40 +09:00
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