Commit Graph

4896 Commits

Author SHA1 Message Date
Niti Rohilla
55f66b7696 Copter: Add support for MAV_CMD_NAV_DELAY 2016-05-19 16:16:02 +09:00
Andrew Tridgell
e4948544e7 Copter: cleanup unnecessarily complex gcs[] usage 2016-05-17 08:27:35 +10:00
dgrat
3bc97ae356 ArduCopter: Do not use is_zero() for non-float types
This function makes only sense for floating point types. However this
function was also used for ints.
2016-05-16 19:08:35 -03:00
Ricardo de Almeida Gonzaga
ce241dd97a ArduCopter: Fix typos 2016-05-13 19:20:07 -03:00
Francisco Ferreira
8fb318a6e1 Copter: fix do_loiter when executed in same location 2016-05-13 12:20:22 +09:00
Francisco Ferreira
8ce8551669 Copter: fix detection of 0 values for lat, lng and alt in waypoints 2016-05-13 12:20:20 +09:00
Randy Mackay
0732ad3957 Copter: add comments to set_land_complete 2016-05-13 12:01:38 +09:00
Jonathan Challinger
747344a8ba Copter: add disarm on land detect option to PILOT_THR_BHV 2016-05-13 11:57:48 +09:00
Randy Mackay
cfb2a6b2f9 Copter: update brake-timeout to work with master
We added mode-change reasons since PR was submitted
2016-05-13 11:42:25 +09:00
Randy Mackay
0a2336a5a8 Copter: update solo-buttons to work with master
Change was due to addition of reason codes since PR was first submitted
2016-05-13 11:42:25 +09:00
Jonathan Challinger
67cd2bae08 Copter: implement SOLO_BTN commands 2016-05-13 11:42:25 +09:00
Jonathan Challinger
c99cac773b Copter: add brake_timeout_to_loiter_ms 2016-05-13 11:42:25 +09:00
Andrew Tridgell
bd3a58a727 Copter: fixed drift mode
the throttle assistance gain also needs to be scaled by 1000x for new throttle range
2016-05-13 08:48:55 +10:00
Andrew Tridgell
75d76ac3bd Copter: fixed scaling of old heli parms 2016-05-12 17:34:36 +10:00
dgrat
41661f815f AP_Math: Replace the pythagorous* functions with a variadic template
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
dgrat
76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
skyscraper
4980c8bc94 ArduCopter: RC_Channel refactor
More fixing up of RC_Channel change direct access to data members
to access via member functions.
2016-05-10 16:21:16 +10:00
skyscraper
49d3410896 ArduCopter: fixup RC_Channel data member accesses to function calls 2016-05-10 16:21:16 +10:00
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
Nitay Megides
f77eed8f95 Copter: add break after prec landing case clause
(And fixed indentation)
2016-03-21 09:34:55 +09:00
Don Gagne
cae7ea0d13 Add @Volatile, @ReadOnly support 2016-03-17 10:58:05 +11:00
Lucas De Marchi
e88ba38595 ArduCopter: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Don Gagne
e9651dacfe Copter: update parameter description increments 2016-03-08 09:27:50 +09:00
Randy Mackay
2e669a35e7 Copter: deploy landing gear when parachute is released 2016-03-04 10:48:19 +09:00
Randy Mackay
0dffeec07f Copter: use ahrs.get_origin instead of ekf.getOriginLLH
This ensures we get the origin from the active EKF
2016-03-03 16:20:54 +09:00
Randy Mackay
a93a0d370a Copter: add throw mode to aux switches 2016-03-03 15:30:03 +09:00
Randy Mackay
dca89e7fe7 Copter: throw static variables moved to global scope 2016-03-03 12:18:27 +09:00
Randy Mackay
24cfbeebd0 Copter: add throw_exit 2016-03-03 12:18:25 +09:00
Randy Mackay
959c0eccfd Copter: reject changing to throw mode while armed 2016-03-03 12:18:23 +09:00
Randy Mackay
20b6688e77 Copter: add throw to FLTMODE param descriptions 2016-03-03 12:18:20 +09:00
Paul Riseborough
1aade494fc AP_State: enable use of motor interlock during throw mode 2016-03-03 12:18:18 +09:00
Paul Riseborough
a7b69366a1 Copter: Add flight mode for throw launch
The is commit adds a new flight mode called 'Throw' to Copter that enables the copter to be thrown into the air to start motors. This mode can only be netered when the copters EKF has a valid position estimate and goes through the following states

Throw_Disarmed - The copter is disarmed and motors are off.
Throw_Detecting - The copter is armed, but motors will not spin unless THROW_MOT_START has been set to 1. The copter is waiting to detect the throw. A throw with an upwards velocity of at least 50cm/s is required to trigger the detector.
Throw_Uprighting - The throw has been detected and the copter is being uprighted with 50% throttle to maximise control authority. This state transitions when the copter is within 30 degrees of level.
Throw_HgtStabilise - The copter is kept level and height is stabilised about the target height which is 3m above the height at which the throw release was detected. This state transitions when the height is no more than 0.5m below the demanded height.
Throw_PosHold - The horizontal motion is arrested and the copter is kept at a constant position and height.
2016-03-03 12:18:13 +09:00
Randy Mackay
e428abde42 Copter: enable precision landing by default 2016-02-29 19:17:20 +09:00
dgrat
5148e41c1a AP_Math: Cleaned macro definitions
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03:00
Randy Mackay
077999d2aa Copter: 3.3.3 release notes 2016-02-24 11:03:25 +09:00
Tom Pittenger
6568402b28 Copter: convert to using static send_statustext
- no more MSG_STATUSTEXT
- TODO: replace calls to gcs_send_text and gcs_send_text_fmt to GCS_MAVLINK::send_statustext()
2016-02-24 09:18:06 +11:00
Tom Pittenger
09dd2a1b3d Copter: use set_dataflash() for static logging 2016-02-24 09:18:05 +11:00
Lucas De Marchi
09e7cbe005 ArduCopter: remove unused CMAKE define
This is a leftover from previos cmake build system.
2016-02-19 19:15:39 -02:00
Peter Barker
44c63b8873 Copter: move use of defines after config.h and defines.h 2016-02-19 12:34:23 -02:00
Leonard Hall
8e790d3f91 Copter: autotune adjustment for large copters 2016-02-18 20:49:12 +09:00
Jonathan Challinger
e09e9a313e Copter: interpret MAV_FRAME_GLOBAL_RELATIVE_ALT as MAV_FRAME_GLOBAL_RELATIVE_ALT_INT 2016-02-06 09:36:51 +09:00
Jonathan Challinger
0b8162aa0d Copter: add support for COMMAND_INT DO_SET_ROI 2016-02-06 09:36:41 +09:00
Randy Mackay
a1b0a53e17 Copter: remove AP_Limits from comments 2016-02-04 09:55:07 +09:00
Randy Mackay
a77dd59dc6 Copter: single and coax copters become mav_type quadrotor 2016-01-30 17:15:28 +09:00
Andrew Tridgell
5be21cc178 ArduCopter: log a picture if AP_Camera::control() returns true 2016-01-29 10:01:51 +11:00
Andrew Tridgell
4efb9bd785 ArduCopter: update for changed AP_Camera API 2016-01-29 09:19:43 +11:00
Dario Lindo Andres
90bf13279b ArduCopter: Added precise camera trigger logging
Added update_trigger and check_digital_pin functions
added camera trigger precise time mark
detect camera feedback pin status
added support for simple digital pin
included support for digital pin. Already included in
APMrover2.
added support for TRIGGER MSG
corrected according to defines.h
2016-01-29 09:19:43 +11:00
Randy Mackay
5e24443a0a Copter: 3.3.3-rc2 release notes 2016-01-28 14:19:33 +09:00
Randy Mackay
27ed9e1561 Copter: allow mount to be disabled 2016-01-23 10:35:48 +09:00
Jonathan Challinger
22c3397657 Copter: make AP_Mount calls required by AP_Mount_SoloGimbal 2016-01-23 10:35:42 +09:00
Jonathan Challinger
5f610fdcba Copter: support SET_POSITION_TARGET with WGS84 altitudes 2016-01-23 10:29:04 +09:00
Jonathan Challinger
82322144ee Copter: remove unnecessary header file 2016-01-23 09:42:08 +09:00
Gustavo Jose de Sousa
c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
e9d3dc9e72 waf: vehicles and antennatracker: use methods from bld
Instead of from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
cf432e8b3e waf: ardupilotwaf: rename vehicle_stlib to ap_stlib
That function is not only for vehicles.
2016-01-22 20:10:28 -02:00
Gustavo Jose de Sousa
a35c0d48b0 waf: ardupilotwaf: rename program to ap_program
Make the rename so that there is no name clashes when defining it as a taskgen
method.
2016-01-22 20:10:28 -02:00
Lucas De Marchi
7f04e0106e waf: change binary names
APMrover2 -> ardurover
AntennaTracker -> antennatracker
ArduCopter -> arducopter
ArduPlane -> arduplane
2016-01-18 16:56:08 -02:00
Gustavo Jose de Sousa
17e5d99509 waf: allow partial builds with new mavlink as submodule
The task generator for the mavlink headers is given a name 'mavlink' and is
added as a dependency to all local static libraries, because all of them use
sources that include mavlink headers. It would be nice to have a good way to
detect sources that use mavlink headers or to declare list of libraries that
use the headers, so that the dependency could be added automatically.

Additionally, there's a minor change in syntax for the task generator: using
strings directly instead of lists.
2016-01-15 07:28:48 +11:00
Randy Mackay
d989cf29e2 Copter: cancelling no-gps-land switches to AltHold
Previously it could switch to Loiter
2016-01-14 15:22:02 +09:00
Randy Mackay
dc2ec5db18 Copter: add Bitmask param description for PILOT_THR_BHV 2016-01-14 15:21:59 +09:00
Randy Mackay
2c5f9422d4 Copter: log event if pilot cancels land
Also add definition for throttle value that cancels land
2016-01-14 15:21:57 +09:00
Jonathan Challinger
8965185587 Copter: add "high throttle cancels landing" option 2016-01-14 15:21:54 +09:00
Randy Mackay
9e0cd7a5cf Copter: allow arming in Drift and Sport modes 2016-01-14 10:13:45 +09:00
Derek Ma
3751dbef91 ArduCopter: include precision landing sensor in mavlink system status
Set MAV_SYS_STATUS_SENSOR_VISION_POSITION bit in onboard_control_sensors_present, onboard_control_sensors_enabled and onboard_control_sensors_health based on the status of precision landing sensor.
2016-01-14 09:36:24 +09:00
Randy Mackay
97725c3187 Copter: add DISALLOW_GCS_MODE_CHANGE_DURING_RC_FAILSAFE to APM_Config.h
This makes it easier for us to find the definition without searching through the code
2016-01-12 19:51:43 +09:00
Jonathan Challinger
cc1f27ad95 Copter: add DISALLOW_GCS_MODE_CHANGE_DURING_RC_FAILSAFE option 2016-01-12 19:49:17 +09:00
Jonathan Challinger
5cc969f01b Copter: simplify battery and radio failsafe logic 2016-01-12 18:23:01 +09:00
squilter
91187899fd Copter: initialize capabilities earlier 2016-01-12 18:13:15 +09:00
Randy Mackay
89c147184f Copter: log guided mode targets 2016-01-12 18:04:59 +09:00
Randy Mackay
6a67ad706c Copter: add Relays to aux switch parameter descriptions
Also fix formatting of new options in switches.cpp
No functional change
2016-01-08 12:13:37 +09:00
Gavin Mogensen
3918987507 Copter: aux switches for relays 2,3 and 4 2016-01-08 12:12:47 +09:00
Randy Mackay
e216f814c5 Copter: add CAL_ALWAYS_REBOOT to APM_Config.h 2016-01-08 12:01:51 +09:00
Jonathan Challinger
d916413a15 Copter: add CAL_ALWAYS_REBOOT option 2016-01-08 11:58:41 +09:00
Randy Mackay
e16cccf218 Copter: RTL config formatting fix
No functional change
2016-01-07 17:29:54 +09:00
Randy Mackay
2927d6b2df Copter: add RTL_CONE_SLOPE param description values 2016-01-07 17:22:35 +09:00
Jonathan Challinger
3800c66f07 Copter: add RTL_CONE_SLOPE 2016-01-07 17:22:33 +09:00
Jonathan Challinger
dcd16696a2 Copter: refactor RTL to compute full path on initialization 2016-01-07 17:22:31 +09:00
Randy Mackay
85b4288990 Copter: update 3.3.3-rc1 release notes 2016-01-07 14:30:06 +09:00
Robert Lefebvre
bfa69ed543 Copter: 3.3.3-rc1 release notes 2016-01-07 14:30:03 +09:00
Randy Mackay
15e673f5ae Copter: fix precland parameter description prefix
Thanks to Thomas Stone for finding this

No functional change
2016-01-07 12:55:44 +09:00
Andrew Tridgell
907a680a3b Copter: always call load_all
this ensures defaults file works on first start after erase
2016-01-07 09:33:00 +11:00
Andrew Tridgell
74883ddaeb Copter: use set_range_in() for tuning channel
this allows channel 6 to be used for something else for output
2016-01-04 11:23:33 +09:00
Andrew Tridgell
5c94b61f49 Copter: support up to 14 input channels for all boards 2016-01-04 08:22:51 +11:00
Randy Mackay
cfff57257e Copter: shorten precision landing param prefix 2015-12-31 15:30:39 +09:00
Randy Mackay
1155b1f557 Copter: remove precision landing PI controller
This controller has been moved into the precision landing class
2015-12-31 15:30:36 +09:00
Jonathan Challinger
0e85f55cfc Copter: remove OF_LOITER entirely 2015-12-31 14:27:22 +09:00
Tom Pittenger
d969154391 Copter: incorporate AP_ADSB function rename
- non-functional change
2015-12-31 15:36:49 +11:00
Robert Lefebvre
dc1846447e Copter: ensure Ch6 tuned value does not go out of range 2015-12-31 12:41:29 +09:00
Robert Lefebvre
e2879b375d Copter: fix Ch6 Tuning when no RC Receiver on boot 2015-12-31 12:41:11 +09:00
Jonathan Challinger
93fc595d4d Copter: check if compass cal requires reboot 2015-12-31 12:32:57 +09:00
pepevalbe
3b3205304b Copter: added group parameter for AP_Notify library 2015-12-31 11:33:08 +09:00
Jonathan Challinger
5cd0ca851a Copter: check if accel cal requires reboot 2015-12-29 10:46:35 -08:00
bugobliterator
9a976963aa Copter: support AP_AccelCal 2015-12-29 10:46:34 -08:00
Lucas De Marchi
e5e8bf3203 ArduCopter: don't link unused AP_Curve library 2015-12-28 10:23:23 -02:00
Randy Mackay
6ac48b4dac Copter: minor formatting fix 2015-12-28 14:01:12 +09:00
Jonathan Challinger
750cacc875 Copter: barometer ground effect compensation 2015-12-28 13:51:27 +09:00
Lucas De Marchi
a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Andrew Tridgell
4dd8714880 Copter: changed to Hz based task table 2015-12-27 14:57:21 +09:00
Randy Mackay
1f3fa3e272 Copter: formatting fixes to arming checks 2015-12-24 14:11:38 +09:00
Jonathan Challinger
933ffb2b10 Copter: move prearm logic to arming_checks.cpp 2015-12-24 14:10:23 +09:00
Andrew Tridgell
d14056fa1e Copter: fixed build warnings 2015-12-20 17:55:40 +11:00
Andre Kjellstrup
eb0daee4b3 ArduCopter: Camera options for better camera control
All on one because they would not pass autotest if split up.
2015-12-18 18:16:11 +11:00
Jonathan Challinger
cee706edd9 Copter: reflect renamed function in AP_AHRS 2015-12-18 18:08:37 +11:00
Julien BERAUD
f897356fd9 Copter: Optflow constructor update
AHRS passed as param
2015-12-18 17:56:06 +11:00
Gustavo Jose de Sousa
dc81a2410e waf: use single entry point for make wrappers 2015-12-10 10:40:34 +09:00
Jonathan Challinger
709fcf37cc Copter: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:49 +09:00
Jonathan Challinger
a0b36e0eff Copter: use renamed functions in AC_AttitudeControl 2015-12-09 19:58:47 +09:00
Jonathan Challinger
0fe0787265 Copter: call renamed AC_AttitudeControl functions 2015-12-09 19:58:43 +09:00
Jonathan Challinger
dfab21171b Copter: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:37 +09:00
Jonathan Challinger
9d8b0f3d58 Copter: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:30 +09:00
Jonathan Challinger
b906767a45 Copter: change acro to use modified attitude_control functions 2015-12-09 19:58:28 +09:00
Robert Lefebvre
9848d05a9d Copter: Always send RPM data when sensor is enabled 2015-12-08 08:25:18 +11:00
Robert Lefebvre
652283a570 Copter: Helicopters to force descent when motor is shut off 2015-12-07 14:51:39 +09:00
DonLakeFlyer
c8cc83505b Copter: return success or failure of get home position 2015-12-07 12:33:15 +09:00
Robert Lefebvre
f55effa562 Copter: remove unnecessary frame ifdef 2015-12-04 14:18:00 +09:00
Lucas De Marchi
164b9f345c ArduCopter: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:45 +11:00
Peter Barker
826912c3e4 Copter: DataFlash-over-MAVLink support 2015-12-03 13:21:51 +11:00
Peter Barker
f57d237181 Copter: support multiple simultaneous backends 2015-12-03 13:21:51 +11:00
Gustavo Jose de Sousa
7837bbfd81 waf: add a make wrappers 2015-12-03 07:54:32 +11:00
Gustavo Jose de Sousa
f27b8869a6 waf: add missing AP_ADSB library to ArduCopter 2015-12-03 07:54:32 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Randy Mackay
d9baf334c4 Copter: remove unused definitions 2015-12-02 14:56:24 +09:00
Lucas De Marchi
83ff0476a8 ArduCopter: fix signed/unsigned comparison warning
commands_logic.cpp: In member function 'bool
Copter::verify_within_distance()':
commands_logic.cpp:770:21: warning: comparison between signed and
unsigned integer expressions [-Wsign-compare]
     if (wp_distance < MAX(condition_value,0)) {
	                          ^
2015-12-01 16:28:18 -02:00
Lucas De Marchi
2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Randy Mackay
d9a14d05f4 Copter: 3.3.2 release notes 2015-12-01 15:12:29 +09:00
Leonard Hall
6eca767db0 Copter: reduce autotune min D param default to 0.001 2015-11-30 11:21:54 +09:00
Randy Mackay
19f5c8f209 Copter: remove debug comments 2015-11-27 16:17:00 +09:00
Luis Vale Gonçalves
3199829d45 Copter: revisions to text strings sent to GCS 2015-11-27 16:16:58 +09:00
Andrew Tridgell
f5d73a9d10 Copter: fixed deadzone for acro with extgyro and no flybar 2015-11-27 15:24:43 +09:00
Randy Mackay
06880e8b04 Copter: fix input_manager init order to resolve compiler warning 2015-11-27 15:18:17 +09:00
Randy Mackay
4eafd90864 Copter: remove old comment 2015-11-27 15:02:24 +09:00
Randy Mackay
e6f8d812d3 Copter: adsb handling simply logs error to dataflash 2015-11-27 15:02:20 +09:00
Randy Mackay
4ef53427f2 Copter: allow ADSB to be disabled 2015-11-27 15:02:17 +09:00
Tom Pittenger
34d6d985e9 Copter: Add support for ADS-B 2015-11-27 15:02:15 +09:00
Randy Mackay
802ced201d Copter: 3.3.2-rc2 release notes 2015-11-21 14:34:30 +09:00
Robert Lefebvre
90416ac81d Copter: 3.3.2-rc1 release notes 2015-11-21 14:34:27 +09:00
Andre Kjellstrup
c2a810d72a Copter: update RTL altitude param description 2015-11-21 12:44:10 +09:00
Caio Marcelo de Oliveira Filho
c7acc46d09 Copter: use millis/micros/panic functions 2015-11-20 12:26:31 +09:00
Randy Mackay
50e3c2ce3a Copter: minor comment updates
No functional change
2015-11-18 22:12:44 +09:00
bugobliterator
945bdee452 Copter: PILOT_VELZ_MAX and PILOT_ACCEL_Z take effect immediately 2015-11-18 22:12:41 +09:00
Randy Mackay
674bedd867 Copter: acro sets alt target to zero for reporting 2015-11-18 21:48:34 +09:00
Jonathan Challinger
a5e4f64b20 Copter: refuse to enter manual throttle modes while landed with throttle high 2015-11-18 21:48:27 +09:00
Randy Mackay
b2b8dcb8ff Copter: guided calls velocity controller at 400hz
velocity controller internally updates xy-axis at 50hz, z-axis at 400hz
2015-11-18 13:31:22 +09:00
Randy Mackay
1b29a1af46 Copter: consolidate setting of using-iterlock state 2015-11-17 09:02:31 +09:00
Andrew Tridgell
0c92331762 Copter: fixed build for SITL changes 2015-11-16 17:57:36 +11:00
Jonathan Challinger
5086168b03 Copter: add RTL_SPEED parameter 2015-11-16 10:20:32 +09:00
Andrew Tridgell
8f4ce7f20b build: removed all nocore.inoflag files
these were APM2 specific
2015-11-16 08:05:17 +11:00
Randy Mackay
05246ea0c7 Copter: fix RTL compile error when rally disabled
Thanks to derekxm for finding this
2015-11-14 12:39:23 +09:00
Randy Mackay
731c44d053 Copter: allow terrain to be excluded from build 2015-11-14 12:38:47 +09:00
Robert Lefebvre
2b111c2bd6 Copter: fix Helicopter no-build issue
Conflict with another recent change to disarm counter
2015-11-14 10:32:58 +09:00
Andrew Tridgell
9214b85cf1 Copter: fixed path for AC_InputManager for heli 2015-11-13 13:49:25 +11:00
Fredrik Hedberg
a6d2e0d4df Copter: Don't auto-disarm helicopters if rotor is still spinning. 2015-11-13 11:17:43 +09:00
Robert Lefebvre
02b8dd5ffd Copter: Heli to set hover roll trim scalar 2015-11-12 19:37:36 +09:00
Robert Lefebvre
5cc4f41d85 Copter: Helicopter: to use new Stab_Col and Acro_Col functions. 2015-11-12 19:37:23 +09:00
Robert Lefebvre
34fb600c4f Copter: Utilize Input Manager Class 2015-11-12 19:37:22 +09:00
Robert Lefebvre
afcc304cbf AC_InputManager: Initial class creation 2015-11-12 19:37:21 +09:00
Robert Lefebvre
7ad623dc70 Copter: Helicopter, fix so servos move after arming in Acro and Stabilize. 2015-11-12 19:37:16 +09:00
Robert Lefebvre
2632a2e348 Copter: Rework arming proceedures for interlock/Estop
to fix race condition.
2015-11-12 19:37:15 +09:00
Jonathan Challinger
6524222397 Copter: adapt auto disarm check to use a timer 2015-11-09 15:34:41 +09:00
Jonathan Challinger
05e533e6fc Copter: don't accept disarm commands in stabilize and acro unless also landed 2015-11-07 11:07:14 +09:00
lvale
549695181c Copter: revised and uniformization of severity messages 2015-11-05 12:20:49 +09:00
Randy Mackay
420b1ca715 Copter: minor comment and order change to takeoff
No functional change
2015-11-04 20:49:25 +09:00
Jonathan Challinger
082c1f77fb Copter: soften takeoff 2015-11-04 20:49:22 +09:00
Lucas De Marchi
030fd046c7 ArduCopter: remove check for MAVLINK_COMM_NUM_BUFFERS 2015-11-04 12:14:15 +11:00
Lucas De Marchi
e0639ac029 ArduCopter: remove check for AVR CPUs
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:15 +11:00
Lucas De Marchi
3e889b005f ArduCopter: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Andrew Tridgell
99b448d1bb Copter: make EV log messages critical
these should be a high priority
2015-11-02 20:29:10 +11:00
Lucas De Marchi
f4e71affa1 ArduCopter: fix wrong printf format for 32 bits
Heading is a 32 bits value, so use %u.
2015-10-30 14:35:36 +09:00
Lucas De Marchi
e9b6c76454 ArduCopter: fix wrong printf format for 32 bits
"micros() - before" doesn't return a long value. Use "%u".
2015-10-30 14:35:34 +09:00
Lucas De Marchi
c397e550e2 ArduCopter: fix warning due to wrong type
"%s" expects a string. This works since the string in the struct is the
first member so it's harmless.
2015-10-30 14:35:33 +09:00
Lucas De Marchi
5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi
1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi
4ab9821624 Replace use of Log_Write_Message_P() with Log_Write_Message() 2015-10-30 14:35:28 +09:00
Lucas De Marchi
20c6ffc5e3 Replace use of UARTDriver::printf_P() with UARTDriver::printf()
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +09:00
Lucas De Marchi
6f4904189b Replace use of println_P() with println() 2015-10-30 14:35:22 +09:00
Lucas De Marchi
a964ac38ec Replace use of print_P() with print() 2015-10-30 14:35:21 +09:00
Lucas De Marchi
89fc4f4b62 Replace use of send_text_P() with send_text() 2015-10-30 14:35:17 +09:00
Lucas De Marchi
831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Lucas De Marchi
6f0db45b57 Replace use of strcasecmp_P() with strcasecmp() 2015-10-30 14:35:08 +09:00
Lucas De Marchi
84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +09:00
Lucas De Marchi
84d5fb006f Remove use of Util::{v,}snprintf_P()
These are now the same function as Util::snprintf().
2015-10-30 14:35:05 +09:00
Lucas De Marchi
2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Randy Mackay
606a0e0d0b Copter: set jerk to default for circle and guided 2015-10-29 12:10:49 +09:00
Leonard Hall
411e75b917 Copter: feed forward only used for AltHold, Loiter, PosHold
land modes use non-feedforward alt hold
2015-10-28 20:21:54 +09:00
Randy Mackay
b49fda4a94 Copter: remove rotor spinning arming check from TradHeli 2015-10-27 09:14:39 +09:00
Jonathan Challinger
da3961e4a6 Copter: support MAV_CMD_DO_SEND_BANNER 2015-10-26 16:28:57 +09:00
Randy Mackay
02c4fdf519 Copter: 3.3.1 release notes 2015-10-26 11:32:28 +09:00
Jonathan Challinger
5486be34b1 Copter: use configured function to determine if heli_servo_rsc has been configured 2015-10-26 11:15:54 +11:00
Jonathan Challinger
28f55766fd Copter: use configured to check whether radio has been calibrated 2015-10-26 11:15:54 +11:00
Caio Marcelo de Oliveira Filho
bf6d1afd59 ArduCopter: include SITL only for SITL board
Include board-specific files only when the board is used. Since these
should be exceptional cases, let the includer handle the ifdef instead
of putting ifdefs in every platform-specific header.

In the future we should evaluate whether the HAL for the board should
instantiate this.
2015-10-22 13:36:14 -02:00
Caio Marcelo de Oliveira Filho
49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Caio Marcelo de Oliveira Filho
05ae7858e8 Copter: explicitly ask for always using EKF
When instantiating AP_AHRS_NavEKF for ArduCopter, explicitly pass the
flag to always use the EKF.

The motivation is to move vehicle specifc code out of the general
libraries. This patch shouldn't change behavior.
2015-10-21 11:01:11 +11:00
Peter Barker
080c31c15e Copter: use simple log entry numbers to download logs 2015-10-21 10:50:32 +11:00
Lucas De Marchi
09f185eb5e ArduCopter: remove check for max INS instances
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:17 +11:00
Caio Marcelo de Oliveira Filho
3e3f13659d ArduCopter: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
ec52df991c build: compile only the HAL files needed by the board
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
2e464a53c2 AP_HAL: make code not depend on concrete HAL implementations
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.

A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.

The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.

Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.

The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Randy Mackay
3f9d62d6b4 Copter: 3.3.1-rc1 release notes 2015-10-20 16:00:41 +09:00
Randy Mackay
1858a0544f Copter: guided takeoff checks auto-armed status
This resolves an edge case in which the vehicle could takeoff with auto-armed false
2015-10-20 15:51:55 +09:00
Paul Riseborough
75a61df627 Copter: Enable access to EKF2 height tuning 2015-10-20 15:21:38 +11:00
Paul Riseborough
d0aba09503 Copter: Access EKF healthy through AHRS object
Enables EKF2 use
2015-10-20 15:21:38 +11:00
Paul Riseborough
19785c1033 Copter: Access EKF origin through AHRS object
Enables EKF2 use
2015-10-20 15:21:38 +11:00
Paul Riseborough
7c6b31b585 Copter: Access EKF variance checks through AHRS object
Supports flight using EKF2
2015-10-20 15:21:38 +11:00
Randy Mackay
d03489263d Copter: remove gyro cal on first arming 2015-10-19 12:00:41 +09:00
Jonathan Challinger
598925f8d2 Copter: EKF failsafe action always Land if RC failsafe active 2015-10-18 10:06:05 +09:00
José Roberto de Souza
c581a702a0 ArduCopter: Fix typo: auxiliar to auxiliary 2015-10-16 10:16:24 +11:00
Gustavo Jose de Sousa
fb5320bb25 ArduCopter: use compass get_{field,offsets}() functions
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:05 +09:00
Randy Mackay
9b80ab18ae Copter: position_ok when optical flow ok
Previously the GPS based absolute position was required
This allows using optical flow in all flight modes
2015-10-14 12:01:41 +09:00
vooon
f3cbbef418 Copter: fix guided attitude type_mask check 2015-10-10 22:04:51 +09:00
Randy Mackay
a142688fea Copter: guided attitude timeout to 1sec
Also add set-attitude-target capabilities flag
Thanks to Fredia and Sebastian for noticing these issues!
2015-10-10 22:04:48 +09:00
Randy Mackay
e20038a453 Copter: support SET_ATTITUDE_TARGET in guided mode 2015-10-09 12:15:38 +09:00
Randy Mackay
1dcf58bc20 Copter: support set-home-position message 2015-10-03 12:51:32 +09:00
Randy Mackay
330961b524 Copter: send home position when home is set or get-home msg received 2015-10-03 12:50:45 +09:00
Randy Mackay
26329c5a03 Copter: 3.3 release notes 2015-09-29 10:25:43 +09:00
Andrew Tridgell
38bae40ca0 Copter: use ahrs.send_ekf_status_report() 2015-09-29 10:59:24 +10:00
Andrew Tridgell
5cb088fe14 Copter: pass display_failure to AP_Motors heli check 2015-09-25 12:30:34 +10:00
Andrew Tridgell
94eb23ef56 Copter: consider flight to be dynamic at greater than 2m above ground
use rangefinder to switch to dynamic flight if possible
2015-09-25 12:30:34 +10:00
Andrew Tridgell
49ee4b7965 Copter: tell motors library when to use acro gyro gain 2015-09-25 12:30:34 +10:00
Andrew Tridgell
1c26ed0fca Copter: fixed deadzone handling for external tail gyro
when using an external tail gyro on a flybar heli the stick input
should be directly passed to output. This patch fixes the use of
deadzone in that passthrough.

It also makes the tail handling consistent with roll and pitch
handling, by not using ACRO_YAW_P when in tail pass-through.

Finally it also fixes deadzone handling for roll and pitch, and
removes the unnecessary get_pilot_desired_yaw_rate() that has a
different prototype from the one used in the rest of the code
2015-09-25 12:05:43 +10:00
Randy Mackay
cdd4570f02 Copter: fix init order of ekfYawReset_ms 2015-09-24 16:57:50 +09:00
Randy Mackay
317779f976 Copter: check_ekf_yaw_reset uses ahrs method 2015-09-24 16:57:47 +09:00
Jonathan Challinger
e47175862a Copter: use modified getLastYawResetAngle function 2015-09-24 16:57:44 +09:00
Andrew Tridgell
2470cf0e76 Copter: use resetHeightDatum() and getLastYawResetAngle() 2015-09-23 17:47:11 +10:00
Andrew Tridgell
053194fd51 Copter: added EK2_* parameters and EKF2 instance 2015-09-23 11:56:33 +10:00
Randy Mackay
96d6b8eb61 Copter: 3.3-rc12 release notes 2015-09-22 15:17:23 +09:00
Randy Mackay
57c5840f0d Copter: add EKF attitude arming check 2015-09-21 17:06:39 +09:00
Randy Mackay
f3d4b20a80 Copter: calibrate gyros during accel calibration 2015-09-21 17:06:37 +09:00
Randy Mackay
01c0b20930 Copter: calibrate gyros depending on INS GYR_CAL parameter 2015-09-21 17:06:34 +09:00
KiwiHC16
004c5b8416 Copter: mission_start always restarts mission 2015-09-16 17:17:20 +09:00
Stewart Loving-Gibbard
985be6dd86 Copter: Adding Logging of RSSI data. 2015-09-16 16:41:43 +09:00
Randy Mackay
0f55b2a0eb Copter: replace vehicle compass consistency check 2015-09-16 15:13:38 +09:00
squilter
30ed2508d6 Copter: Support do_digicam_x via command_long 2015-09-16 13:06:49 +09:00
Randy Mackay
a403e5aef0 Copter: fix severity of super simple message to GCS 2015-09-12 12:35:42 +09:00
Ivale
6c74981010 Copter: report simple mode status to GCS as text 2015-09-12 12:28:58 +09:00
Daniel Nugent
3a7036fd67 Copter: pass LANDING_TARGET message to precland lib 2015-09-11 20:56:10 +09:00
Daniel Nugent
9fe3abf5ca Copter: precision landing uses sonar alt if available 2015-09-11 20:56:09 +09:00
Randy Mackay
cf6d0db0f1 Copter: 3.3-rc11 release notes 2015-09-10 14:54:55 +09:00
Peter Barker
1103451d36 Copter: ensure 10% free space when initialising logging 2015-09-09 12:22:36 +10:00
Randy Mackay
8efc02fe0c Copter: delay for 200ms instead of 50ms before reboot 2015-09-09 10:39:56 +09:00
Jonathan Challinger
1fbdf11eca Copter: set firmware_update flag instead of event 2015-09-09 10:39:55 +09:00
Staroselskii Georgii
68e0d57998 Copter: make Copter use milligauss
The telemetry and and logging is still in compass units, though. This
way, users won't need to recalibrate their compasses.
2015-09-09 10:38:16 +10:00
Andrew Tridgell
d6b244670b Copter: fix for changed AP_RangeFinder API 2015-09-08 16:46:52 +10:00
Andrew Tridgell
dff9fe9cb2 Copter: use prearm_failure_reason() 2015-09-08 16:07:33 +10:00
Leonard Hall
0129110502 Copter: limit throttle mid to throttle min + 50 2015-09-07 18:10:28 +09:00
Leonard Hall
6b01c1117f Copter: keep thr-mix at min when landed 2015-09-07 18:10:25 +09:00
Randy Mackay
0eaf815411 Copter: guided mode vel controller integrates althold lean limit
Note it does not yet actually limit the lean angles based on throttle
2015-09-07 15:10:13 +09:00
Leonard Hall
543f6fdcd4 Copter: AltHold limits lean angle to maintain altitude
get_pilot_desired_lean_angles function now takes angle max parameter but
all flight modes except AltHold simply pass in the ANGLE_MAX parameter
meaning no functional change for them
2015-09-07 15:10:12 +09:00
Leonard Hall
61d6c44e3b Copter: tricopter yaw rate filter to 100hz 2015-09-07 12:30:39 +09:00
Randy Mackay
dc4923a88d Copter: suppressing comment for switch case fall through 2015-09-06 16:01:33 +09:00
Randy Mackay
5e38adfae3 Copter: remove support for configure as command long
Also protect mount calls with MOUNT definition
2015-09-06 16:01:21 +09:00
squilter
8320c06700 Copter: Support do-mount-control via command-long 2015-09-06 16:01:16 +09:00