* 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.
* 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
* 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.
* 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.
* 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
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
library versions are replaced (libeary functions are weak).
System ctype.h is implemented using macros, local header file
(in -I path) is provided to override system one.
Updated MSP_VTX_CONFIG
Updated MSP_SET_VTX_CONFIG
Updated MSP_VTX_CONFIG (again)
Implemented VTX update schedule
Removed unneeded initialization blocks from io/vtx implementations
Prevent VTX settings from being applied in CLI. Sync Band/Chan/Freq on init
Correct issues in SA CMS
Moved vtxCommonInit and vtxCommonProcess to io/vtx
Implemented 'vtx_' settings for SmartAudio and Tramp
Added 'vtx_freq' setting for SmartAudio and Tramp
SmartAudio-CMS fixes and improvements
Added SetFreqByMHzMsp support for SmartAudio and Tramp
Corrected condition where an extra padded zero was added to outgoing msp buffers.
Whitespace tidy and removal of unnecessary condition.
Commented OSD and CMS from STM32F3DISCOVERY target.h
Various improvements to msp_shared (removed byte loops, point arithmetic)
Raised schedule priority of CRSF device and MSP calls
Reworked buffers in msp_shared to enable writes.
Moved msp buffers to msp_shared
Added new custom frames and reworking msp implementation
Implemented CRSF device info reply
Adding crsf ping/pong device info functionality
Changed Colibri FC address to Betaflight address
Implementing MSP in CRSF Telemetry
Decoupled msp functionality from smartport into msp_shared
Moved USE_SERVOS to FLASH>128 per mikeller
- Specify source files in variables instead of manually writing
the make file rules, this removes a lot of duplication
- Use separate folders for all tests allowing for tests and common
source files to be built with different settings (defines)
* add travis directorie cache for arm sdk
* Travis. Test if make all in one job would work. And how slow/fast.
* Travis. Check that the old method with a couple specific targets still works.
* Rebased master and build all targets again.
* Make verbosity level 0 even less verbose, was still too much for travis in one mega-jumbo-all-target build.
* Even less output from make in verbosity level 0. Some Makefile symbol name cleanup too.
* arm_sdk_install did not check if allready downloaded and installed. Added checks and deps. Travis caching might work better now...
* Build all 56 targets to test Travis caching perf.
* Build all 56 targets to test Travis caching perf. Again. Now with correct yml arrsy syntax.
* Added installation of ccache and also to Travis cache. Caching the cache.
* Travis. Remove some unused APT libs, to see if this affects caching and build times.
* Travis. YAPT (Yet another perf trial). Remove all apt package install.
* Disaster. Put back installation if build-essential.
* Disaster still. Put back installation if zliblg-dev.
* Disaster, again. Put back installation of libc6 .
* Travis. Minimizing APT installation as it not be cached, issue 5876 on travis-ci github.
* Travis. Added comment on target specification.