* Fix escserial for HAL targets.
* Remove the code disabling ESCSERIAL for F7.
* Timer/StdPeriph - Add an implementation of 'timerReconfigureTimebase'.
Simply calls the `configTimeBase`, seemed cleaner than adding #ifdef USE_HAL_DRIVER everywhere instead.
* QUICK CMS menu
* Added RPM LIMIT to quick menu
* rpm_limiter csm step = 100
* Renamings + USE_OSD_QUICK_MENU define
* Small fixes
* Style fixes
* tests makefile fix
* Activate quick menu by default, if defined USE_OSD_QUICK_MENU
* Changed .c/.h license headers to a modern one
Makefile - use gddb2, not gddb3 due to issues with GDB crashing.
The cause seems to be the macro debugging information which when generated by the compiler, apparently incorrectly, causes GDB to use excessive amounts of CPU and crash.
Error:
"gdb/utils.c:717\
: internal-error: virtual memory exhausted: can't allocate 4064
bytes.\nA problem internal to GDB ha\
s been detected,\nfurther debugging may prove unreliable."
Reference:
* https://sourceware.org/bugzilla/show_bug.cgi?id=28219#c15
* https://github.com/microsoft/vscode-cpptools/issues/9219#issuecomment-1118034083
Note this crashing behavior is observed with `GCC > 9.3.1`, `9.3.1` itself is OK.
* GPS rescue update after merge of IMU fix
imuYawCog boost on error
initial turn radius adjustment
attitude debug changes
rescue velocity iterm fixes
earth referencing of yaw forced to on
sanity check failure time 30s
* vary IMU gain according to groundspeed
* Review suggestions implemented
* Add SPRacingH7RF to CI targets.
* It uses memory-mapped flash.
* It uses OctoSPI.
* It uses EXST.
* Add SPRACINGH7EXTREME to CI targets.
* It uses QuadSPI.
* It uses EXST.
* implement dshot bitbang for AT32
* fix dshot bitbang bidirectional for AT32
* AT32 target features
* implement latest improvements from steve to at32
* generalize AT32 target.h
* Tri-state USART TX output if load due to powered down peripheral is detected
* enable LED STRIP for AT32
* at bitbang timer adjustments
* revert makefile changes
* revert target generalization
* Update src/main/drivers/at32/platform_mcu.h
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
---------
Co-authored-by: Steve Evans <Steve@SCEvans.com>
Co-authored-by: J Blackman <blckmn@users.noreply.github.com>
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Add RPM black box field
* Fix settings table spacing
* Move RPM field to end of FlightLogFieldSelect enum
* Fix various RPM logging related bugs
- change eRPM I frame encoding to UNSIGNED_VB (was SIGNED_VB)
- change eRPM P frame prediction to PREVIOUS (was AVERAGE_2)
- change eRPM log field name to 'eRPM(/100)' (was 'RPM')
- rename rpm field in blackboxMainState_s to erpm
- minor formatting fixes to BlackBoxMainFields spacing and some if clauses
* Remove superfluous parentheses in blackbox.c
Rewrite of old code, shall be functionally identical. Timer wraparound
bugs fixed.
Both original and new version do not match function comments, another
change is necessary.
Co-authored-by: Petr Ledvina <ledvinap@hp124.ekotip.cz>
* IMU - increase gain on large Course over ground error
* Fix Cog calculation in IMU
Old code did align CoG antiparallel to Yaw. Cross product stays the
same, but dot product is inverted.
@iNav - this is probably reason for magic numbers in iNav IMU
rewrite (especially wind compensation)
* Update gtest
Copy of debian/stable libgtest-dev
* Add unittest for IMU CoG
Work in progress
* IMU - convert compass to new alignment calculation
* IMU Unittests
- new wrapped EXPECT_NEAR_DEG / EXPECT_NEAR_RAD
- magnetometer testing
* IMU - CoG evaluation based on thrust vector
---------
Co-authored-by: Petr Ledvina <ledvinap@hp124.ekotip.cz>
GPIO alternate function removal for HAL.
The all timer initialisation was actually not required as the initialisation is located where needed (previously required for STD PERIPH / AT32). The previous for loop excluded the actual setup in any case as all the full timer hardware items where TIM_USE_ANY.
When trying to build firmware with current directory in PATH environment
it scans for make command and generates "Permission denied" error in
case if current directory in PATH precedes /usr/bin/ directory.In my
case it was caused by incorrect pyenv init script.
Rename make folder to avoid errors like this.
`msp_override_channels_mask` bits are indexed by raw channels, but
auxChannelIndex (starting from NON_AUX_CHANNEL_COUNT) was used for test
Co-authored-by: Petr Ledvina <ledvinap@hp124.ekotip.cz>