* Cleanup Makefiles
Given the targets are now simply the MCU, there is now a significant amount of duplication.
TODO:
- will possibly add STM32.mk for inclusion from STM32F4 etc to remove further duplication.
Noting it is now imperative that the gating is right.
* Removed the remnants of "features"
* Further clean up in preparation of new MCUs
* Typo for STM32F722xx
* Fix F411
* Last remnants of the _TARGETS lists.
* simple failsafe debug
* simplify areSticksActive
use getRcDeflectionAbs and fix unitTest
* bugfix to require stick input to re-take control
* small refactor
* Missing define to activate TABLE_VIDEO_SYSTEM
* USE_PWM should only be for RX (parallell RX inputs), USE_PWM_OUTPUT is for all others.
* Updated gate naming so there is less confusion
* Simplified. Note there maybe further occurences.
* SPI - Mark the SPI IRQ handler as FAST_IRQ_HANDLER.
Since it's used by both the gyro code, at 8k (or 2x8k on dual gyro
boards) having it in RAM removes a significant amount of potential flash
latency.
It is also used by the ELRS SPI code. The ELRS code runs at 500hz, but
each cycle uses multiple SPI transfers, for clear irq, read,
start-recieving, change-frequency, etc. I.e. invokd at least 1000hz in
addition to gyro reads.
* ELRS - Move some frequently used functions to RAM and mark some irq
handlers as FAST.
* SPI/LL - Move some frequently called code to FAST_CODE.
Also remove some invalid characters that Eclipse with encoding as UTF-8
complained about.
* SPI - Mark the spiRx and spiTx dma handlers as FAST_IRQ_HANDLER.
* Filter - move nullFilterApply out of FAST_CODE.
Since it doesn't do anything, it doesn't need to be fast. Instead we
keep more `fast` RAM for other code that really benefits from being in
fast RAM.
There is a slight penalty to jump into slower RAM.
* Gyro - Move `performGyroCalibration`out of 'fast' ram.
On F7X2 it was being inlined, saved 478 bytes of ITCM.
* Prevent handling of crash recovery handling, not detection of crash
recovery, from being inlined to save ITCM for code that runs more
frequently.
* FIX: Minor re-organisation for classic building
This is so that even for classic build the drivers can be restricted to those specified in the config file.
* Black box can be enabled on its own (cloud build) or if SDCARD or FLASH is enabled.
* Alignment
* 512 not big enough.
- this removes the inclusion of all the barometers, expectation is the specific baro will be in the config file.
- users can still add any baro using the custom defines (to work out what needs updating for the config file)
* FIX: MSP Displayport now has dependency on OSD config
See: Center logo and CMS display for HD OSD (#12056)
* CMS is dependent on OSD
* Update src/main/io/displayport_msp.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* A few extra comments (to aid in #endif reconciliation)