* Fix max permissible CMS rows and up/down page arrows
* For CMS displays of 30 columns or less shrink width of menu to fit
* Fix string overflow
* Use 'v' for down arrow rather than 'V' as it's less ugly as devices without OSD character set can display lower case
* AT32F435: new target (#12159)
* AT32F435: New target (WIP)
* IO and Timer Updates
* Adding pseudonyms for the STM TypeDef items.
- implementation to follow
* Adding config_streamer support for AT32
* Implementation for IO
* Adding in Peripheral mapping from emsr.
* Warnings cleanup for AT drivers
* Getting things to the linking stage
* Add AT-START-F435 LEDs as default in AT32F435 as a temporary measure to aid bringup
* Remove tabs
* Enable selection of serial port to use for MSP
* Setup defaults for AT-START-F435 to use MSP on UART1
* Fix for most recent 4.5.0 Makefile changes
* Solve for sanity check.
* Add AT32F435 MCU type
* Fix compilation issue with SITL
* Merge conflict resolution
* Minor cleanup
* Adding line feed.
---------
Co-authored-by: Steve Evans <Steve@SCEvans.com>
* 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.