* RX task update rate to 22Hz, to improve 25Hz link stability
* modified Rx code
* add LQ to debug
* use max of frameAge or FrameDelta
* Require a dropouit of 200ms, not 100ms, before RXLOSS
* remove FrameAge, use 150ms timeout 50ms checks
* fix tests and tidy up the comments
* Handle NULL input as before, log frame time
* possible solutions to review comment about names
* Remove rxFrameTimeUs
- prepare for direct use of lastRcFrameTimeUs
- refactor rx_spi callback
* remove global currentRxRateHz
* simplify updateRcRefreshRate
* re-name to recheck interval, return frame time debug
* Calculate RxRate only once
* use rxReceivingSignal for consistency
* use signalReceived not rxDataReceived for consistency
* suggestions from review PL
* move defines, thanks K
* fixes from review, thanks MH
* review changes, undo task interval change
rename bool rxIsReceivingSignal to isRxReceivingSignal
thanks Steve for resolving that tasks changes are not needed
thanks PL for your feedback also
---------
Co-authored-by: Petr Ledvina <ledvinap@hp124.ekotip.cz>
* Give a -n option to exit CLI
- means you can set any serial port to MSP, and then activate CLI on it using #, with an "exit -n" to return to MSP mode without a reboot required.
- https://webserial.io is a great utility for using CLI outside the configurator.
- future changes will include possible multiple CLIs being active at the same time, along with debug printf from anywhere in the code to an active debug cli.
* Altered to strcasecmp, and changed param required to noreboot
* Adding additional details to the commands
* rename dMin, remove D_MIN_GAIN_MAX
* rename vars
* fix logic
* fix logic
* Revert "fix tests"
This reverts commit c518c9c444.
* Revert "add yaw and other adjustment cases"
This reverts commit 2cacd4b360.
* Revert "fix unit test"
This reverts commit 3d88f4158a.
* Revert "fix D adjustments change dmax instead of D"
This reverts commit 7ee4e7f8af.
* Revert "Fix telemetry for Spektrum/SRXL (#13814)"
This reverts commit 04fe4b4461.
* review adjustments and test fixes
* Reapply "Fix telemetry for Spektrum/SRXL (#13814)"
This reverts commit eb7f8ee0fd.
* fix logic
* Apply suggestions from code review
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* fix d_max slider
---------
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* added turn on 'storage device mode' action in OSD Blackbox menu
* Code style improvement
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Code style improvement
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* text messages are edited in the usb mass storage osd menu
* The NO menu action is default by selecting ERASE or USB MASS STORAGE items in OSD menu
* improved cmsx_StorageDevice function code
* added check of define USE_USB_MSC for storage mass mode code
* USB mass storage OSD menu text messages placement improvement
* added return NULL after systemResetToMsc
* Code improvement
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Code style improvement src/main/cms/cms_menu_blackbox.c
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* TPA_CURVE_HYPERBOLIC (for wings)
* typo fix: tpa_rate_stall_throttle
* ledvinap's review
* fix tpa_curve_expo divider (10 instead of 100)
* Define fixes
* whoops, 16 instead of 1600 for PWL points
* if case for when dividing by zero for hyperbolic expo
* More ledvinap's review
* pow instead of pow_approx + unit tests for hyperbolic TPA
* basic unit tests for classic TPA
* pow was for double. pow_approx for floats is enough
* remove #else from comments
* pow_approx -> powf for hyperbolic TPA
* PWL: brigning back static assert after #13818 PR
* removed extra line per haslinghuis's review
* GPS GPS_home refactor
- use `gpsLocation_t` for GPS_home, rename it to GPS_home_llh
- cleanup `GPS_distance_cm_bearing`
- add optiopnal 3D distance calculation in `GPS_distance_cm_bearing`
- rename some bogus defines
* GPS - finish upstream merge
- add const
- adapt src/main/fc/gps_lap_timer
* GPS - use gpsLocation_t in blackbox logging
Height member is ignored now
* GPS - remove unused declarations
---------
Co-authored-by: Petr Ledvina <ledvinap@hp124.ekotip.cz>
* feedforward update for 4.6
improve jitter reduction method
don't interpolate CRSF protocol
replace 'boost' with highpass element for yaw FF
make yaw highpass element CLI adjustable
add yaw feedforward sustain params to CLI and BBE
refactoring and unit test fix
* implement review suggestions, start on the filter struct
* Attempt PT1 filter init method
* fix silly error, scale time constant correctly
improve gain linearisation at shorter time constants
* fix averaging init
* Review suggestions from PL
* Improve filter initialisation
much better :-)
* re-name prevPacketDuplicate to prevPacketWasADuplicate
* Add review comments - thanks Jan and Mark!
* cast gyro.gyroDebugAxis to int
* A better fix than int cast
* implement review comments from PL
also hopefully improved some comments.
* increase PG to 10, expecting the Disarm PR to use 9
* two always win against one ;-)
* remove inappropriate comment, remove space
* update comments and review suggestions from PL
* Rescedule stats saving on disarm, if quad still moving
* Review suggestions by KarateBrot and Ledvinap
* Moved statsSaveMoveLimit under statsConfig_t
* Add APM32F4 driver libraries and USB middleware
* Add the APM32F405 and APM32F407 target files
* Add APM32 startup files
* Add APM32F4 linker files
* Add APM32F4.mk
* Add APM32 driver files
* Add APM32F40X MCU type
* Sync with the Betaflight master branch and modify the driver directory structure
* Implement CLI on the APM32
* Implement ADC on the APM32
* Implement config streamer on the APM32
* Implement I2C on the APM32
* Implement SPI on the APM32
* Implement DSHOT on the APM32
* Implement transponder ir on the APM32
* Implement serial uart on the APM32
* Implement MCO on the APM32
* Implement DWT on the APM32
* Update the init.c file, adding APM32 MCO configuration
* Remove all duplicated APM32 driver files and retaining only the APM32 LIB directory
* Create APM32F4.mk
* Add linker files for APM32F405 and APM32F407
* Add startup and library config files for APM32F405 and APM32F407
* Add target files for APM32F405 and APM32F407
* Add apm32 MCU driver files
* Add build configuration for APM32 MCU
* Implement config streamer on APM32
* Implement CLI on the APM32
* Implement ADC on the APM32
* Implement RCC on the APM32
* Implement MCO on the APM32
* Implement I2C on the APM32
* Implement SPI on the APM32
* Implement serial uart on the APM32
* Implement IO on the APM32
* Implement DMA on the APM32
* Implement DSHOT on the APM32
* Implement transponder ir on the APM32
* Update init.c
* Add the inclusion of the 'platform.h' file to the APM USB driver source file
* Merge bus SPI duplicate code from APM32 to STM32
* Update timer_apm32.c
* Merge motor duplicate code from APM32 to STM32
* Merge serial uart duplicate code from APM32 to STM32
* Update APM32F4.mk
* Update cli.c
* Update APM32F4.mk
* Remove the apm32_flash_f4_split.ld
* Associate the apm32 linker file with stm32_flash_f4_split.ld
If you add a new resource whose name starts with an existing resource name it won't be found. For example if you add `PWM_EX` resource after `PWM` you won't be able to store a pin into it. So when you execute `resource PWM_EX 1 A01` it will be stored into `PWM`.
* Disarm on landing
* Changes from review comments, thanks PL
* Sorry missed that one
* calculate Acc magnitude once only, not multiple times
* Include gyro factors as in crashRecovery
* Fix bug in CrashRecovery delta gains
Add temporary debugs to monitor error and delta inputs
* remove 1G subtraction for accMagnitude
thanks Karate
* Use AccDelta or Jerk - thanks Karate
* Revert using Gyro Setpoint and Delta
* Fix typo, thanks Mark
* increment PG version to 9