A periodic glitch happens on AUX channels when using OneShot on CC3D,
especially with faster update loops. This is caused by a race condition
while forcing timer overflows and sharing the timer for PPM capture.
It causes the craft the fall out of the sky when using a switch to arm.
* Remap PPM in from S1_IN to S6_IN
* Remap RSSI_ADC from S6_IN to S3_IN
* Block PWM12/S6_OUT from being used with Oneshot/brushed motors so
TIM2 (PPM_IN timer) doesn't change prescaler or is manually overflowed
* Allow only one feature out of SOFTSERIAL/RSSI_ADC/SONAR, since they
will now share the same pin
* Update docs to reflect port changes and restrictions
This fixescleanflight/cleanflight#1748,
fixesborisbstyle/betaflight#64, fixesborisbstyle/betaflight#127
fix BP6
Updated SPI driver (SPI3 on F3 targets)
AK8963 Mag support (part of MPU9250)
MPU9250 SPI support via MPU6500 driver
Updated LED driver for alternative LED sets
Enable gyro intterupt for AlienFlight F3 targets
Update AlienWii/AlienFlight documentation
Rename AlienWii to AlienFlight
It was a little bit hard to read with only two paragraphs, and looking at the raw .md file it was clear that having just two paragraphs was not the original intention.
It was a little bit hard to read with only two paragraphs, and looking at the raw .md file it was clear that having just two paragraphs was not the original intention.
- add two new CLI paramaters "gtune_settle_time" and
"gtune_average_cycles"
- the settle time is not depending on looptime anymore
- updated default setting to cover e wider range of copters
- remove lower limit for P value for CLI (Zero P is now posible, but
schould be used with care)
- Documentation updates
G-Tune documentation update
G-Tune will only activated and deactivated when armed.
G-Tune should deactivated while the copter is airborne.
Tuned P values will only be stored when G-Tune is enabled while disarmed
and G-Tune was used before.
Enabled for NAZE, ALIENWWIIF1 and ALIENWIIF3 targets
Implement G-Tune for all PID controllers
The G-Tune tuning results will be save if G-Tune mode will be disabled
during copter is disarmed.
Update PID controller and G-Tune documentation
- Added failsafe flightmode and rc control box.
To make failsafe procedure a separate flight mode and make it possible
to trigger failsafe with an AUX switch.
- Failsafe mode is activated when failsafe is active.
RC link lost is simulated with the failsafe AUX switch.
When NOT armed: failsafe switch to failsafe mode is shown in GUI (mode
tab).
- Activate failsafe mode with AUX switch.
- Prevent arming when failsafe via AUX switch is active (safety issue).
- Make failsafe disarm if motors armed and throttle was LOW (2D & 3D)
for `failsafe_throttle_low_delay` time (__JustDisarmEvent__).
Applied code changes to effectively add pull request: Make failsafe
disarm if motors armed and throttle low #717.
- Use failsafeIsMonitoring() to actually start monitoring.
- Added `failsafe_kill_switch` to code.
When set to 1 (0 is default), the failsafe switch will instantly disarm
(__KillswitchEvent__) instead of executing the landings procedure.
Arming is NOT locked after
this, so the craft could be re-armed if needed.
This is intended for racing quads where damage and danger must be
minimized in case of a pilot error.
- Added `failsafe_throttle_low_delay`, adapted documentation.
Used to adjust the time throttle level must have been LOW
to _only disarm_ instead of _full failsafe procedure_
(__JustDisarmEvent__).
- Updated the failsafe documentation.
- Re-enable arming at end of failsafe procedure.
At the end of a handled failsafe event, that means: auto-landing,
__JustDisarmEvent__ or __KillswitchEvent__, the RX link is monitored for
valid data.
Monitoring is a part of the failsafe handling, which means the craft is
still in failsafe mode while this is done.
Arming is re-enabled (allowed) when there is a valid RX link for more
then XX seconds, where XX depends on the handled event like this:
1. XX = 30 seconds after auto landing.
2. XX = 3 seconds after __JustDisarmEvent__.
3. XX = 0 seconds after __KillswitchEvent__.
NOTE: When armed via an AUX switch, you will have to switch to the
disarmed position at the very end to be able to re-arm.
The failsafe mode will not end until you do.
- __KillswitchEvent__ has now priority over __JustDisarmEvent__
- Apply rxfail values instantly when failsafe switch is ON
- Added missing cases to display.c
Show M when failsafe is monitoring for RX recovery (AND disarming when
armed with a switch).
===
Reworked the code from counter-based to time-based.
- AUX failsafe switch now has identical behavior to RX loss.
- Added RX failure and RX recovery timing.
- __KillswitchEvent__ skips RX failure detection delay (direct disarm).
===
[UNIT TESTS]
Adapted failsafe related unittests from counter-based to time-based
- Added failsafeOnValidDataFailed() to some tests
- Removed duplicate test setup from rc_controls_unittest.cc
- Removed magic numbers from rx_ranges_unittest.cc and rx_rx_unittest.cc
- Reworked all test-cases for flight_failsafe_unittest.cc
Stick channels only have AUTO and HOLD mode.
AUX channels only have SET and HOLD mode.
Added check to parameter in CLI.
Modified rx.md to reflect changes (and more).
+1 squashed commit:
- A cleaner approach for the same functionality
Basically addressing all comments from Hydra
Note: since it didn't actually calibrate anything it has been renamed to
rxrange.
Added ability to reset rxranges using `rxrange reset` - this follows the
same pattern as other cli commands.