* stop motors after 90 degrees of rotation and with max rate
* handle no accelerometer data
* improve check for acc, although seems to be OK without it
* disable all attenuation if rate is set to zero
* refactoring thanks Karate
* use sensors.h
* remove unnecessary arming check
* exit crashFlip immediately switch is reverted if throttle is zero
* add Crashflip Rate to OSD
* Revert unnecessary changes in crashflip core.c code
and clarify comments about crashflip switch
* update / minimise comments, thanks Karate
* ensure all names say `crashflip` consistently
* Undo quick re-arm because motrors were not reversed
* fix issue with reversed motors, we must disarm
* ignore yaw rotation and set gyro limit to 1900 deg/s
* default attenuation to off (crashflip_rate = 0)
* refactoring, increase rate limit to allow stronger inhibition
* enable in race_pro mode
* don't attenuate on attitude until a significant change occurs
* no attenuation for small changes
* Updates from review by PL
* remove whitespace
* refactor motorOutput, update comments, renaming variables
thanks PL
* changes from review PL
* only permit fast re-arm if crashflip rate set and crashflip was successful
* properly exit turtle mode
* add crashFlipSuccessful to unit test extern c
* small updates from review
* improved crashflip switch handling
* remove unnecessary motors normal check
* 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>
* Use cpu_late_10ths_percent_limit to set limit on % of late tasks in 10th of a %
Set CPU load late limit to 1% based on testing
* Update src/main/cli/settings.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Update src/main/scheduler/scheduler.h
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Update src/main/fc/core.c
* Update src/test/unit/arming_prevention_unittest.cc
* Update src/main/scheduler/scheduler.c
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* RPM Limiter - reset I-term at arm
* Update src/main/flight/mixer.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
---------
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Keep Iterms at zero throttle for fixed wing mixer
* Ctz suggestions
* Update src/main/fc/core.c based on ladvinap suggestion
Co-authored-by: Petr Ledvina <ledvinap@gmail.com>
---------
Co-authored-by: Petr Ledvina <ledvinap@gmail.com>
* Keep sending DShot zero between beacon commands
And don't wait 100ms between inline commands, which the beacon commands are.
* use cmpTimeUs for time comparisons
* Fixed intervals between DShot beacons
* fix indentnation, thanks KarateBrot
* simple failsafe debug
* simplify areSticksActive
use getRcDeflectionAbs and fix unitTest
* bugfix to require stick input to re-take control
* small refactor
Basic DSHOT telemetry restablished again
Implemented new mechanism to activate EDT. The old mechanism no longer works
Added dshot_edt configuration parameter to enable edt. Parameter is OFF by default
Only send DSHOT edt enable in core.c::tryArm if dshot_edt=ON
Fixed review findings
Extended DSHOT telemetry
Fixed broken unit testing
Rebased to master
Extended DSHOT telemetry
Added DSHOT ESC fail to OSD warnings
Initial extended DSHOT implementation
DSHOT telemetry ranges readjusted
Added shot_telemetry_data to cli
Added DSHOT telemetry warnings
Added extended DSHOT telemetry temperature data to osd elements
Fixed DSHOT telemetry osd warnings
Make cli dshot telemetry types human readable
Fixed ESC temperature OSD element
Added extended dshot telemetry enable command to dshot command queue to enable it in tryArm function.
Fixed broken automated unit testing
Fixed text output for dshot_telemetry_data cli command
Decode extended telemetry only when it has been activated in the ESC
DSHOT extended telemetry is only enabled when an extended telemetry enable frame is being processed
Fixed broken automated unit testing
Update tail's dshot command in queue when running blocking commands, so extended dshot telemetry command responses can be associated to their corresponding extended dshot telemetry enable/disable command request
Added clariffication to dshot_get_telemetry_type_to_decode to explain mechanish used for processing DSHOT_CMD_EXTENDED_TELEMETRY_ENABLE response
Tabs cleanup
Added dshot motor stop fix when writting blocking commands
Added extended DSHOT telemetry to osd warnings
Fixed extended DSHOT telemetry in osd elements
Implemented msp extended dshot telemetry
Optimized osd warnings
Fixed code style
Added max temp to osd stats
Fixed automated unit testing
Fixed broken automated unit testing
Fixed missing extended dshot telemetry voltage and wrong current
Fixed unadverted change in gitignore file
Print esc number besides max esc tempetature in osd stats
issues and some other minor issues
ESC temperature is coded as an uint8 going from 0 to 255. Updated osd config esc_temp_alarm from int8_t to uint8_t to match esc temperature coding
issues and some other minor issues
Enable extended dshot telemetry when no esc sensors avaliable and dshot telemetry is enabled
Arranged dshot.h header and removed unnecessary headers from dshot.c
Updated dshot_telemetry_data cli command output
Fixed dshot_telemetry_data command
motor_output_unittest fixed
Fixed motor number printing in dshot_telemetry_data cli command
fixed motor_output_unittest
Merged dshot_telemetry_data into dshot_telemetry_info cli command
Fixed tabs
Fixed motor_output_unittest
Support extended DSHOT telemetry on DJI FPV
Fixed Compiling fails without USE_ESC_SENSOR and USE_DSHOT_TELEMETRY defines.
Fixed whencompiling without USE_ESC_SENSOR and USE_DSHOT_TELEMETRY
Reworked so code can be compiled with USE_ESC_SENSOR and USE_DSHOT_TELEMETRY separately
Enabling EDT the correct way
Removed unecessary conversions
Changed motorIndex datatype to uint8_t in dshot functions
single minimum GPS satellite setting
single required GPS satellite setting
CLI Baro vs GPS trust user interface
GPS trust refactoring
allow arming with GPS_FIX even if not enough sats
required sats must be present to arm
set required sat count to 8
add blackbox headers
convert pressure to altitude early
remove median filter
PT2 filtering upsampled to altitude function in position.c - thanks KarateBrot
baro task synced to position task - thanks Steve
PT2 implementation - thanks KarateBrot
ground altitude from filtered altitude
baro cali by average of calibration samples over cal period
adjust vario and smoothing defaults
don't say haveBaroAlt until cal is complete
reduce PIDs since Baro is faster
add baro smoothing values to blackbox header
Co-Authored-By: Jan Post <post@stud.tu-darmstadt.de>
Co-Authored-By: Steve Evans <SteveCEvans@users.noreply.github.com>
- Updating cache for tool chain
- Using 10.3 as the build chain, due to bug in 11.2 -> https://bugs.linaro.org/show_bug.cgi?id=5825.
- No inlining to prevent over flow. Perhaps other calls represent better choices.
1. Show "ARMED"<new line>"> CRASH FLIP <" when arming in crash flip
2. Show "CRASH FLIP SWITCH" when disarmed, but in crash flip.
3. Hide the disarmed stats screen if "CRASH FLIP SWITCH" is activated.
Simpler GPS Rescue fix
100ms interval for signalReceived failure
Faster failsafe stick response
Update and confirm unit tests work correctly
Restore invalid flight channel ability to trigger failsafe with individual timers
Set default failsafe stage 1 delay to 1.5 seconds, approximately match previous delay of 1.6s when the user selected 1.0 seconds.
Update failsafe documentation for 4.3
Arming blocked soon after Rx initialisation
Unit test fix for previous commit
Editorial changes and typo fixes
Previously if the first "arming" was in crash-flip mode then the various features that rely on "first arming" logic would be defeated. While arming in crash-flip mode is technically "arming", it shouldn't disable features that rely on the first "real" arming. For example, vtx low-power disarm, GPS fix arming disabled, `BATT < FULL` warning, etc.