Added automatic disarm after 5 seconds when feature MOTOR_STOP is enabled (has no effect on
FIXED_WING configurations.) Users that don't have a buzzer to warn when
board is armed and use feature MOTOR_STOP can forget to disarm the
board. For example after landing they pick up copter and then
accidentally move throttle up when trying to remove flight battery.
Configurable via CLI using 'set auto_disarm_board=x' where x is 0-60
seconds. If zero, does not auto_disarm.
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.
All msp ports are now re-initialised when disarming.
Bug wa introduced by c06fd78b83 - see
#144.
Runtime serial port scenario should not have been erased.
Fixes#144 and #155. Cleanup #125.
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.
- use inline functions for gpio (typesafe, no speed penalty)
- fix sortSerialPortFunctions (original was IMO broken)
- allow softserial port on sonar pin when FEATURE_SONAR is not enabled
- minor style changes and comments
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.
* Renamed several methods and variables so they make more sense.
* Move more altitude hold related code out of imu.c/h into
altitudehold.c/h.
* Fixed a unsigned integer being using instead of an signed integer in
the throttle calculation code.
Fixed tabs, kept old references to VARIO. Made SONAR mode a new option so that aux settings could be preserved.
Conflicts:
src/main/config/runtime_config.h
src/main/flight/altitudehold.h
src/main/flight/imu.c
src/main/io/rc_controls.h
src/main/mw.c
src/main/sensors/initialisation.c
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.
just use it in-place. This saves ~308bytes of memory.
Prior to this there were 4 profiles in ram all the time, the 3 main
profiles and a copy of one of them.
This commit was aided by a side effect of the work done to clean up the
output of the cli dump command since it is now easy to conditionally
apply the changes to the memory addressed used to read/write cli
variables. See 8c3a869251.
gps.c now only has code that deals with gps hardware, state and
messaging.
navigation.c now only has code dealing with flight
navigation/waypoints/home/hold/etc