and simply run the motors at constant minthrottle. This allowed the chance
for the quad to lose control during flight if the throttle was set to minimum,
say, to drop from a high altitude to a lower one.
With this edit, the quad will still self-level at minimum throttle when armed,
allowing for safe decents from altitude. To prevent motors spinning when
arming/disarming, the yaw input is ignored if the throttle is at minimum and
we're using the sticks to arm/disarm.
Conflicts:
src/main/flight/mixer.c
# The first commit's message is:
Previously, at minimum throttle, the quad would do absolutely no self-leveling
and simply run the motors at constant minthrottle. This allowed the chance
for the quad to lose control during flight if the throttle was set to minimum,
say, to drop from a high altitude to a lower one.
With this edit, the quad will still self-level at minimum throttle when armed,
allowing for safe decents from altitude. To prevent motors spinning when
arming/disarming, the yaw input is ignored if the throttle is at minimum and
we're using the sticks to arm/disarm.
Conflicts:
src/main/flight/mixer.c
# This is the 2nd commit message:
added cli command disable_pid_at_min_throttle
Note: not working on the sparky, MPU9150 needs passthough enabling but
when enabled the mag and gyro won't ack on the default addresses. Needs
further investigation.
applied. The existing modes are 'step'. A new mode is 'select'.
The other unit tests need fixing up so that appropriate code is compiled
as C and not C++ code.
adjustment ranges to adjustment slots when channel is within range.
example:
```
adjrange 0 0 0 900 1700 0 2
adjrange 1 0 0 1700 2100 1 2
```
explained:
* configure adjrange 0 to use adjustment slot 1 (0) so that when aux1
(0) in the range 900-1700 then do nothing when aux 3 (2) is in any
position.
* configure adjrange 1 to use adjustment slot 1 (0) so that when aux1
(0) in the range 1700-2100 then do use adjustment 1 (rc rate) when aux 3
(2) is in the appropriate position.
Without the entire range of aux1 being defined there is nothing that
would stop aux 3 adjusting the rc rate once aux 1 wasn't in the higher
range.
There are 4 adjustment slots and 12 adjustment ranges.
Adjustment slots and adjustment ranges can use the same aux channel.
e.g.
`adjrange 2 1 0 900 2100 1 3`
* configure adjrange 2 to use adjustment slot 2 (1) so that when aux4
(3) in the range 900-2100 then use adjustment 1 (rc rate) when aux 4 (3)
is in the appropriate position.
e.g. `adjrange 0 0 1700 2100 1 2`
set adjustment range 0, which applies to aux channel 0 (aux1) when range
is between 1700 and 2100 then apply function 1 (rc rate) to aux channel
2 (aux3)
rcRate is decreased when low, increased when HIGH and no change when the
switch is in the middle.
The rcRate ticks up/down at 0.01 every 500ms if the switch is left on.
If using a momentary switch and if you can toggle the switch between
middle and low or middle and high more frequently than 500ms then the
rate will be increased accordingly. Similar to how a keyboard repeat
behaves.
both attempted to be enabled at the same time. Angle mode now takes
precedence over horizon mode.
Fix using aux settings that are not applicable to in-use aux channels -
prior to this it was possible to configure aux4 and then switch to
RX_SERIAL using a 7 channel system (3 aux channels) and aux4 would still
have been processed.
This prevents arming after connecting a battery when the throttle is in
low; when using a switch to arm and when the switch is left in the ON
position.
The previous solution was flawed because of the way rc input is handled.
This also removes an extra test of rcOptions by re-arranging the logic
that handles arming/disarming via a switch.
Each flag was previously a whole byte, now all of the flags only take up
4 bytes as they are represented by bit masks.
This is cleaner because the different kind of flags are now separated.
Additionally this changes the behaviour of arming slightly. When using
a switch to arm the aircraft will not arm unless the switch has been in
the off state once. This prevents arming if you power the aircraft with
a low throttle and the switch in the on position.