Commit Graph

4628 Commits

Author SHA1 Message Date
skyscraper
6f200fa923 ArduCopter: Fix up after refactoring RC_Channel class
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Andrew Tridgell
3c9b063eb1 Copter: removed unnecessary libs
now in common
2016-05-10 14:13:35 +10:00
Andrew Tridgell
111eb2ccc1 Copter: use DataFlash::log_while_disarmed() 2016-05-09 12:05:52 +10:00
Leandro Pereira
f23bd7e09d GCS_MAVLink: Use a single stream_trigger() implementation
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Andrew Tridgell
874fae931f Copter: fix for changed API 2016-05-07 18:27:22 +10:00
Andrew Tridgell
9da3b8db60 Copter: only log baro, gps and mag if ekf not logging them 2016-05-07 18:27:19 +10:00
Andrew Tridgell
b235304235 Copter: reduce IMU logging to 25Hz
leave more room for IMT logging needed for Replay
2016-05-07 18:27:17 +10:00
Randy Mackay
a5c55c3fbd Copter: fix get_non_takeoff_throttle
The throttle_mid parameter (for historic reason) is interpreted as a value that includes throttle_min.  This means we must subtract the throttle_min value from it when converting it to a throttle in the 0 to 1 range.
2016-05-07 12:21:41 +09:00
Randy Mackay
2eb0484142 Copter: rename Loiter states and swap order within select statement 2016-05-07 10:08:34 +09:00
Randy Mackay
1c4db779a1 Copter: Loiter stabilizes roll and pitch while landed 2016-05-07 10:08:32 +09:00
Randy Mackay
9c12b64ba5 Copter: rename AltHold states and swap order within select statement
No functional change
2016-05-07 10:08:30 +09:00
Randy Mackay
932cd907d4 Copter: AltHold stabilizes roll and pitch while landed 2016-05-07 10:08:28 +09:00
Randy Mackay
3ead74c4be Copter: remove zero-throttle check from AltHold takeoff state
Hard to imagine a reason why we would want to turn off stabilization during takeoff
2016-05-07 10:08:26 +09:00
Lucas De Marchi
fea084a596 Global: use ap_version.h
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.

For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Lucas De Marchi
352e103f1a ArduCopter: use separate header for version macro
Having the version macro in the config.h and consequently in the main
vehicle header means that whenever the version changes we need to
compiler the whole vehicle again. This would not be so bad if we weren't
also appending the git hash in the version. In this case, whenever we
commit to the repository we would need to recompile everything.

Move to a separate header that is include only by its users. Then
instead of compiling everything we will compile just a few files.
2016-05-06 13:11:28 -03:00
Allan Matthew
d6012c535e Copter: remove unused dt passed to precland 2016-05-06 11:04:45 +09:00
skyscraper
6bcd9e6f65 Copter::pre_arm_rc_checks: fix logic checking that throttle min and max are configured 2016-05-06 10:56:38 +09:00
Allan Matthew
7960e3bb8f Copter: pass DISTANCE_SENSOR messages to rangefinders
This allows the MAVLink range finder driver to intercept distance measurements
2016-05-04 12:10:58 +09:00
Michael du Breuil
e7974702d4 Copter: Ignore POSITION_TARGET_GLOBAL_INT 2016-05-01 07:38:24 +10:00
Michael Oborne
5848d8a5e6 ArduCopter: support MAVLINK_MSG_ID_MISSION_ITEM_INT 2016-05-01 07:13:46 +10:00
Andrew Tridgell
54d1cc7e50 Copter: only save offsets for Compass::LEARN_EKF
this means by default that one flight one affect the next one, which
makes it more robust in case of a bad flight
2016-04-30 16:43:14 +10:00
Michael du Breuil
c97888f524 Copter: Remove support for CONDITION_CHANGE_ALT 2016-04-30 10:56:07 +09:00
Randy Mackay
d455e2a33f Copter: fix auto-circle comment 2016-04-30 10:33:01 +09:00
Randy Mackay
a6b6fb2473 Copter: fix TERRAIN_FOLLOW parameter description
Thanks OXINARF
2016-04-30 10:33:01 +09:00
Randy Mackay
3d31c3b936 Copter: log error if circle does not initialise correctly 2016-04-30 10:33:01 +09:00
Randy Mackay
caf6bbc2e0 Copter: rename set_alt to set_alt_cm in control_rtl 2016-04-30 10:33:01 +09:00
Randy Mackay
fac7b7c566 Copter: rename set_alt to set_alt_cm in control_guided 2016-04-30 10:33:01 +09:00
Randy Mackay
f8f6c135e9 Copter: rename set_alt to set_alt_cm in control_auto 2016-04-30 10:33:01 +09:00
Randy Mackay
d92154a44e Copter: rename set_alt to set_alt_cm in commands_logic 2016-04-30 10:33:01 +09:00
Randy Mackay
cd97aa97a3 Copter: provide terrain reference to AC_WPNav 2016-04-30 10:33:01 +09:00
Randy Mackay
cac79f297e Copter: guided can trigger terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay
9100cf605a Copter: auto can trigger terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay
43d14defd4 Copter: RTL handles terrain data failure 2016-04-30 10:33:01 +09:00
Randy Mackay
47658fe964 Copter: add terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay
8e43be1511 Copter: fixes to allow compiling without terrain support 2016-04-30 10:33:01 +09:00
Randy Mackay
74e02d2c82 Copter: rename TERRAIN_USE to TERRAIN_FOLLOW
This matches plane's parameter name
2016-04-30 10:33:01 +09:00
Randy Mackay
13c26eab67 Copter: update current_loc at 400hz 2016-04-30 10:33:01 +09:00
Randy Mackay
f45c69e7ad Copter: log terrain altitude in CTUN message 2016-04-30 10:33:01 +09:00
Randy Mackay
25c676c3b4 Copter: report terrain capability to GCS 2016-04-30 10:33:01 +09:00
Randy Mackay
ddffbe27aa Copter: add terrain pre-arm check 2016-04-30 10:33:01 +09:00
Randy Mackay
91f6c7b503 Copter: add TERRAIN_USE parameter
Also add terrain.cpp to hold terrain_update and terrain_logging functions
2016-04-30 10:33:01 +09:00
Randy Mackay
267c1c3934 Copter: guided mode handles terrain alt 2016-04-30 10:33:01 +09:00
Randy Mackay
e8b14e59fc Copter: spline mission commands handle terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay
81d244c9bd Copter: do-circle accept terrain altitude 2016-04-30 10:33:01 +09:00
Randy Mackay
70630e9774 Copter: auto loiter handles terrain 2016-04-30 10:33:01 +09:00
Randy Mackay
4892446c55 Copter: do-loiter accepts terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay
27517004c0 Copter: slow to land-speed 10m above terrain 2016-04-30 10:33:01 +09:00
Randy Mackay
39dc2d7176 Copter: while landing use land-speed from 10m above home
Previously vehicle was switching to land-speed at 10m above the origin
2016-04-30 10:33:01 +09:00
Randy Mackay
ffd86744ce Copter: do-land accepts terrain 2016-04-30 10:33:01 +09:00
Randy Mackay
352b6ae82a Copter: RTL supports terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay
06ee6a7bd4 Copter: auto takeoff accepts abs and terrain alts 2016-04-30 10:33:01 +09:00
Randy Mackay
9449776e3c Copter: straight line waypoints accept terrain
auto_wp_start calls AC_WPNav's new set_wp_destination which accepts a
Location class allow altitude to be set as above-terrain or even an
absolute altitude
2016-04-30 10:33:01 +09:00
Randy Mackay
2134e8bfb9 Copter: add terrain and navigation dataflash error codes 2016-04-30 10:33:01 +09:00
Randy Mackay
84fd8da944 Copter: current_loc to Location class 2016-04-30 10:33:01 +09:00
Niti Rohilla
867360c350 ArduCopter : Updated handle_guided_request() to report error. 2016-04-29 12:39:28 -03:00
Tom Pittenger
afb3e94fe6 Revert "Copter: clipped param cmd float to zero"
This reverts commit 9b6de75203.
2016-04-23 23:51:41 -07:00
Tom Pittenger
9b6de75203 Copter: clipped param cmd float to zero 2016-04-23 23:45:54 -07:00
Randy Mackay
472f54ce45 Copter: initialise compass_mot interference_pct variable
resolves a compiler warning
2016-04-23 23:06:28 -07:00
Randy Mackay
da443417f1 Copter: remove unnecessary abs 2016-04-23 23:06:19 -07:00
Luis Vale Gonçalves
4e594287eb Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:39 -07:00
Randy Mackay
699816400e Copter: ack DO_MOUNT_CONTROL messages 2016-04-22 21:30:49 +09:00
Randy Mackay
762c9ed4b0 Copter: remove unused FS_CLOSE_TO_HOME definition 2016-04-22 21:30:44 +09:00
Randy Mackay
554affeaf5 Copter: fix scheduler comment 2016-04-22 21:30:39 +09:00
Andrew Tridgell
a39a4a6243 Copter: mark a few more log messages as critical 2016-04-21 17:05:17 +10:00
Andrew Tridgell
f32b7684a0 Copter: removed unused startup log message 2016-04-21 17:05:17 +10:00
Andrew Tridgell
5149a49daa Copter: added logging of dropped log messages in PM message 2016-04-21 17:05:17 +10:00
Jonathan Challinger
c9b1b02b8e Copter: loop through compasses and save offsets 2016-04-21 09:53:03 +10:00
Lucas De Marchi
a310d3735e ArduCopter: fix handling of SET_HOME_POSITION
Location.altitude is stored in cm.
2016-04-18 13:07:45 +10:00
Randy Mackay
55ffee25b1 Copter: remove unnecessary control_mode_t casts
Thanks @OXINARF
2016-04-14 12:24:04 +09:00
Jonathan Challinger
8f41215569 Copter: fix warning 2016-04-14 12:24:04 +09:00
Jonathan Challinger
2a36c32cf3 Copter: add prev_control_mode and prev_control_reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger
8ded496f8b Copter: log mode change reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger
1356deab8b Copter: add control_mode_reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger
6b5ba86f21 Copter: simplify GCS failsafe 2016-04-14 12:24:04 +09:00
Jonathan Challinger
a0ce8af633 Copter: use enum type for control_mode 2016-04-14 12:24:04 +09:00
Lucas De Marchi
6eac84812c ArduCopter: remove readme file
The readme file in root directory is already sufficient.
2016-04-09 08:32:22 -07:00
Ricardo de Almeida Gonzaga
5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Andrew Tridgell
c035ade402 Copter: removed slow_start() from throw mode 2016-04-01 11:59:30 +09:00
Randy Mackay
5090e6f4fb Copter: init G_Dt with MAIN_LOOP_SECONDS definition 2016-04-01 11:59:30 +09:00
Leonard Hall
a9cda8b384 Copter: add convert_pid_parameters to ease migration to new PID gains 2016-04-01 11:59:30 +09:00
Randy Mackay
479a789325 Copter: remove call to attitude_control.set_dt
This is now passed into the constructor
2016-04-01 11:59:30 +09:00
Randy Mackay
c352e1bedf Copter: fix attitude control parameter declaration 2016-04-01 11:59:30 +09:00
Randy Mackay
1f20a5ef69 Copter: access angle and rate PIDs through attitude controller 2016-04-01 11:59:30 +09:00
Randy Mackay
bde498375c Copter: remove attitude PIDs
These are now part of AC_AttitudeControl
2016-04-01 11:59:30 +09:00
Randy Mackay
ef5dbae707 Copter: remove setting of heli_servo_rsc pwm range
This object is not used
2016-04-01 11:59:30 +09:00
Randy Mackay
1f37f5a0e7 Copter: remove tradheli swash, yaw and rsc servos
These are all created within the AP_MotorsSingle class now except for servo_rsc which was unused
2016-04-01 11:59:30 +09:00
Randy Mackay
d2a42a7a0e Copter: remove heli_radio_passthrough
Replaced with set_radio_passthrough which can be used for all frames
2016-04-01 11:59:30 +09:00
Randy Mackay
ce1fb7fb06 Copter: passthrough pilot input to motors to allow wiggling servos 2016-04-01 11:59:30 +09:00
Randy Mackay
0abea7af68 Copter: remove slow_start from stabilizing 2016-04-01 11:59:30 +09:00
Randy Mackay
1c98cd9d52 Copter: remove slow_start from althold 2016-04-01 11:59:30 +09:00
Randy Mackay
f6c26ad285 Copter: remove slow start from acro 2016-04-01 11:59:30 +09:00
Randy Mackay
3c3b74adc8 Copter: remove slow_start from takeoff 2016-04-01 11:59:30 +09:00
Randy Mackay
8180fad4b4 Copter: tradheli sends radio passthrough in 0 to 1 range 2016-04-01 11:59:30 +09:00
Randy Mackay
f0575de776 Copter: tradheli logs rotors speed in 0 to 1 range 2016-04-01 11:59:30 +09:00
Randy Mackay
3eaf7a4582 Copter: set tradheli rotor speed using 0 to 1 range 2016-04-01 11:59:30 +09:00
Randy Mackay
7fc37e7801 Copter: set tradheli external gyro gain in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
be7ad2d83a Copter: loiter uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
02ac2d0e4e Copter: land uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
94b35d659e Copter: guided uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
4deb6fd39d Copter: flip uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
f91874afad Copter: drift uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
83ae78b38e Copter: circle uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
10f8e36f9b Copter: brake uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
965f3827b4 Copter: poshold uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
478b9af0f3 Copter: autotune uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
4f192d0bc7 Copter: auto uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
a927db3e6a Copter: rtl uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
d37f70f767 Copter: sport uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
f6a6b360a8 Copter: stabilize uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall
d2642065dd Copter: althold uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay
668561ff0e Copter: acro uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall
6c40d6f774 Copter: remove single frame's servo objects 2016-04-01 11:59:30 +09:00
Leonard Hall
8d0a6765f1 Copter: removed unnecessary #define for motor declaration 2016-04-01 11:59:30 +09:00
Leonard Hall
44180e44df Copter: remove coax servo objects
servos moved to AP_MotorsCoax class
2016-04-01 11:59:30 +09:00
Leonard Hall
5dde87734c Copter: heli acro, stabilize use pilot throttle as float 2016-04-01 11:59:30 +09:00
Leonard Hall
07b311f6a8 Copter: brake sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
7366bc8a56 Copter: pos_hold uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
80a11e4d3d Copter: autotune uses throttle in 0 to 1 range and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
068fc7feac Copter: flip uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
8a49745e96 Copter: sport uses throttle in 0 to 1 range and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
263052da21 Copter: drift uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
100fcf799e Copter: land sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
f71157c508 Copter: circle sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
cce426dcb8 Copter: rtl uses throttle in 0 to 1 range and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
f8d03b58d1 Copter: loiter uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
42f5de44d4 Copter: guided sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
f221d4d757 Copter: auto sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
70433d25e3 Copter: althold uses 0 to 1 throttle range and spool logic
stabilizes even while landed
sets desired motor spool state
check for spool up before takeoff
2016-04-01 11:59:30 +09:00
Leonard Hall
2180514dde Copter: acro uses 0 to 1 throttle and sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
f56ff4d564 Copter: stabilize uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall
76a8de8a53 Copter: CTUN logs throttle_in, angle boost in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
7bcdc76655 Copter: get_pilot_desired_climb_rate accepts control_in as 0 to 1000
Previously the input was expected to be throttle_min (i.e. 130) to 1000
2016-04-01 11:59:30 +09:00
Leonard Hall
20debc962a Copter: update get_throttle_pre_takeoff for 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
37e6977813 Copter: update get_non_takeoff_throttle for 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
74983669be Copter: set_accel_throttle_I_from_pilot_throttle uses 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
c3403a128c Copter: throttle passed to compass in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
a44f7f650b Copter: throttle sent to GCS uses 0 to 1 range
This is probably not correct because we should be sending the throttle as a 0 to 1 number using the full possible output range.  This uses the reduced range passed in when the copter is being stabilized (i.e. between throttle-min and throttle-max)
2016-04-01 11:59:30 +09:00
Leonard Hall
f8d7b677d4 Copter: update_thr_average uses 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
fd2509f6ed Copter: get_pilot_desired_throttle outputs in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall
e132ea34d9 Copter: g.rc_3.control_in range 0 to 1000
Previously the range was throttle_min (normally 130) to 1000 but we can remove this awkward range and use 0 to 1000 now that the attitude controller and motor library inputs are in the 0 to 1 range.
2016-04-01 11:59:30 +09:00
Leonard Hall
a00a9601a4 Copter: AP_MotorsCoax now uses 4 servos 2016-04-01 11:59:30 +09:00
Leonard Hall
a0409e4f9e TradHeli: dynamic flight check uses throttle in 0 to 1 range 2016-04-01 11:59:30 +09:00
Andrew Tridgell
f19922fec5 Copter: added LAND_SPEED_HIGH parameter
this is the descent rate for the first part of a landing. Separating
this from WPNAV_SPEED_DN allows for independent tuning of fast fwd
flight from landings
2016-03-30 15:54:20 +11:00
Gustavo Jose de Sousa
6074385873 ArduCopter: waf: build all frame types 2016-03-26 15:43:08 -03:00
Gustavo Jose de Sousa
9bec8e5133 ArduCopter: waf: add missing library AC_InputManager
That is used by heli.
2016-03-26 15:43:08 -03:00
Gustavo Jose de Sousa
a4c099feaa waf: create program groups for main products
Currently we need to build a different binary for each type of copter frame.
This is a preparation for setting all those binaries to a group called
"copter". We create the groups for the rest of the main products for
consistency.
2016-03-26 15:43:08 -03:00
Andrew Tridgell
224c99af72 Copter: change code URL 2016-03-25 20:46:54 +11:00
Andrew Tridgell
31000ac756 Copter: moved Log_Write_Rate() to common code 2016-03-25 12:13:59 +11:00
Lucas De Marchi
34155c09e6 ArduCopter: Update path locations for parameters
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Randy Mackay
a8bea0af03 Copter: allow switching to throw without position estimate
The vehicle arming check will still stop the user from arming in throw mode without a good position estimate.
2016-03-22 16:21:58 +09:00