Commit Graph

5453 Commits

Author SHA1 Message Date
Peter Barker
83d0a71e10 Copter: FlightMode - simplify flight mode initialization 2017-12-06 08:24:24 +09:00
Peter Barker
0ca5605b8d Copter: FlightMode: remove virtual from many methods 2017-12-06 08:24:24 +09:00
Peter Barker
ef1489e87a Copter: eliminate mode_requires_gps 2017-12-06 08:24:24 +09:00
Peter Barker
a4859e13c1 Copter: eliminate mode_allows_arming 2017-12-06 08:24:24 +09:00
Peter Barker
9c60c1de58 Copter: FlightMode - convert SMARTRTL flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
b0e34bd307 Copter: FlightMode - convert GUIDED_NOGPS flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
cf423ce681 Copter: FlightMode - convert THROW flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
1de99c737e Copter: remove unimplemented heli desired_yaw_rate 2017-12-06 08:24:24 +09:00
Peter Barker
37c706c24e Copter: FlightMode - convert AVOID_ADSB flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
51cd143012 Copter: FlightMode - convert BRAKE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
cafce01357 Copter: FlightMode - convert POSHOLD flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
67063d6b1e Copter: FlightMode - convert AUTOTUNE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
018c70d224 Copter: FlightMode - convert FLIP flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
5e3e831152 Copter: FlightMode - convert SPORT flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
6a38664ff4 Copter: FlightMode - convert DRIFT flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
682f3c0e7e Copter: FlightMode - convert RTL flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
3b1ca99b95 Copter: FlightMode - convert LAND flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
2db09ba0f7 Copter: FlightMode - convert GUIDED flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
f2495b2d08 Copter: FlightMode - convert LOITER flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
871ba5630f Copter: FlightMode - convert CIRCLE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
e2b70c3a0a Copter: FlightMode - convert AUTO flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
a95a35c134 Copter: FlightMode - convert STABILIZE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
79c06974b7 Copter: FlightMode - convert ALT_HOLD flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
d74f0c72da Copter: FlightMode - convert ACRO flight mode 2017-12-06 08:24:24 +09:00
Peter Barker
527a536b78 Copter: FlightMode - remove function parameters
Use current control_mode in place of parameters

Once conversion is complete these functions will disappear
2017-12-06 08:24:24 +09:00
Peter Barker
99a22a263d Copter: a FlightMode base class 2017-12-06 08:24:24 +09:00
Peter Barker
e0233f1dc4 Copter: create a takeoff_state_t type 2017-12-06 08:24:24 +09:00
Peter Barker
b828fa4ffc Copter: Create an ap_t type 2017-12-06 08:24:24 +09:00
Sharvashish Das
395a4ad4ce Copter: add z-axis obj avoidance to guided vel control
added code to adjust z velocity using avoidance
2017-12-05 15:58:00 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
2235b22510 Copter: Also report distance and bearing to target in Guided_PosVel mode 2017-12-05 09:17:15 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
ce3197e0ac Copter: use the return code of the guided_set_destination_posvel() function calls 2017-12-05 08:57:55 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
c7a2fcdc37 Copter: Also use fence in Guided_PosVel mode 2017-12-05 08:57:55 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
bd027e4fcb Copter: Move some common functions to AP_Math (NFC) 2017-12-05 08:54:49 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
928bc19cee Copter: Use DEGX100 define instead of hardcoded value (NFC) 2017-12-05 08:54:49 +09:00
khancyr
015d71bacd ArduCopter: remove useless .gitignore from directory 2017-12-04 07:52:25 +09:00
Peter Barker
398d07a68a Copter: tighten return types of mavlink functions and variables 2017-12-01 17:01:10 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas
9773365237 Copter: NFC spell in comments 2017-11-27 23:13:34 +09:00
Randy Mackay
8d2db3218c Copter: minor comment fix to code handling SET_POSITION_TARGET msgs 2017-11-27 14:24:30 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
bde1aaa2f6 Copter: Rename variable to correct the meaning (NFC) 2017-11-27 14:17:21 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
8678d13e7b Copter: Update the result of a MavLink message, this is a NFC
The result variable is not used, but at least it gets documented :)
2017-11-27 14:17:21 +09:00
Andrew Tridgell
ef0144751e Copter: allow THROW_NEXTMODE=LOITER 2017-11-27 14:14:06 +09:00
Andrew Tridgell
311d7c11e4 Copter: added LOITER option in THROW_NEXTMODE 2017-11-27 14:14:06 +09:00
Randy Mackay
020e0bfd40 Copter: fix disable ESC calibration for brushed motors 2017-11-27 13:31:21 +09:00
Andrew Tridgell
650a0e06bd Copter: disable ESC calibration for brushed motors 2017-11-27 12:28:40 +09:00
Andrew Tridgell
a644cff921 Copter: support testing multiple motors with motortest
this matches the quadplane behaviour, allowing a sequence of motors to
be tested
2017-11-27 10:15:31 +09:00
Randy Mackay
8845b6d5b5 Copter: rename control_safe_rtl.cpp to control_smart_rtl.cpp
non-functional change
2017-11-23 20:05:01 +09:00
Randy Mackay
58e5b7f458 Copter: 3.5.4 release notes 2017-11-23 12:17:50 +09:00
Peter Barker
dc99a29dfc ArduCopter: support for units on fields 2017-11-23 10:40:30 +11:00
Randy Mackay
9a03ba1bfb Copter: move barometer_accumulate to sensors.cpp
non-functional change
2017-11-22 17:13:14 +09:00
Andrew Tridgell
23b20307af Copter: use cork/push wrapper 2017-11-21 14:10:54 +11:00
Randy Mackay
c5141ad87e Copter: 3.5.4-rc2 release notes 2017-11-17 13:39:20 +09:00
Peter Barker
04c9e966e0 Copter: use AP::PerfInfo library 2017-11-16 15:31:53 +00:00
Peter Barker
5c2f68e8f5 Copter+AP_Scheduler: move perf_info.cpp into Scheduler 2017-11-16 15:31:53 +00:00
Peter Barker
d959e4b42b Copter: AP_Camera uses GPS singleton 2017-11-16 15:28:37 +00:00
Randy Mackay
8d6d09169f Copter: rtl uses labs for alt comparison 2017-11-16 09:59:25 +09:00
murata
acfcd9980d Copter: Modify method name in method header. 2017-11-16 09:26:26 +09:00
Peter Barker
8f48b3187e Copter: use gps singleton for GCS function 2017-11-15 13:43:03 +00:00
ChrisBird
1f1bb61bfa Copter: Add PreArm - PID Parameter check
This addresses the enhancement requested in: https://github.com/ArduPilot/ardupilot/issues/2424

It checks various PID values to check if they are zero, if they are and the corresponding rate forward feed is zero then it flags it as PreArm failure.
It has been added to the parameter check, so can be overridden if required.
2017-11-15 21:58:24 +09:00
André Kjellstrup
e7a1ceca4c Copter: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00:00
ChrisBird
caaeae3d0a Copter: Separate max ascent and descent speeds
Added equivalent parameters to WPNAV_SPEED_UP and WPNAV_SPEED_DN

New parameters named:
PILOT_SPEED_UP (technically renamed PILOT_VELZ_MAX)
PILOT_SPEED_DN

Removed parameter PILOT_VELZ_MAX (technically renamed to PILOT_SPEED_UP).

Flight Modes impacted:
ALTHOLD
AUTOTUNE
CIRCLE
LOITER
POSHOLD
SPORT
TAKEOFF

Update a section in GUIDED mode but I don't think it is ever used but update just in case.

It will use the PILOT_SPEED_UP for ascending max velocity.  For down it will check if
it is 0, if so then it will PILOT_SPEED_UP instead, if non zero it will use PILOT_SPEED_DN.
This retains current behavior and gives the flexibility to change it if desired.
2017-11-09 09:03:54 +09:00
Peter Barker
3846da5e23 Copter: remove redundant terrain checks
Now taken care of by continuous prearm checks
2017-11-08 19:08:16 +09:00
Peter Barker
d537461934 Copter: remove redundant battery checks
Now taken care of by continuous prearm checks
2017-11-08 19:08:14 +09:00
Peter Barker
b3b1680e11 Copter: remove redundant fence checks
Now checked as part of continuous prearm
2017-11-08 19:08:12 +09:00
Peter Barker
04af1cb331 Copter: remove redundant baro checks
Now checked as part of continuous prearm checks
2017-11-08 19:08:10 +09:00
Peter Barker
b5c907312c Copter: remove redundant gps checks
Now tested as part of continuous pre-arm checks
2017-11-08 19:08:08 +09:00
Peter Barker
d563a9dd5d Copter: remove redundant INS checks
Now checked by continuous prearm checks
2017-11-08 19:08:06 +09:00
Peter Barker
d3b73f8557 Copter: correct notification of pre-arm-gps-check failure 2017-11-08 19:08:03 +09:00
Peter Barker
818faa92d4 Copter: rc calibration checks are called by AP_Arming 2017-11-08 19:07:59 +09:00
Peter Barker
9b52c9b670 Copter: prearm logging checks are called in parent class 2017-11-08 19:07:55 +09:00
Peter Barker
49dd5f4f80 Copter: prearm board voltage checks are called in parent class 2017-11-08 19:07:53 +09:00
Peter Barker
b8802ec5c2 Copter: prearm gps checks are called in parent class 2017-11-08 19:07:51 +09:00
Peter Barker
7c0869fa19 Copter: prearm ins checks are called in parent class 2017-11-08 19:07:49 +09:00
Peter Barker
cb8fa41cb1 Copter: prearm compass checks are called in parent class 2017-11-08 19:07:46 +09:00
Peter Barker
30c1a040d7 Copter: prearm baro checks are called in parent class 2017-11-08 19:07:44 +09:00
Peter Barker
c129445ff6 Copter: call common prearm checks 2017-11-08 19:07:42 +09:00
Peter Barker
7b3e111f85 Copter: continuously run pre-arm checks
Stop "latching" the prearm checks, so if the checks start to fail
the craft becomes non-armable.
2017-11-08 19:02:44 +09:00
Randy Mackay
ef05281dc2 Copter: 3.5.4-rc1 release notes 2017-11-08 12:21:46 +09:00
Peter Barker
ef00978662 Copter: add missing disarm-on-land parameter to rtl_land_run
Always disarm
2017-11-06 22:58:16 +00:00
Peter Barker
5b793252ed Copter: stop disarming as part of running rtl as mission item
Fixed #6324

Note that the land-as-mission-item code is duplicated from the
rtl-as-mode code but omits the disarm part, so doesn't suffer from the
same bug.
2017-11-06 19:07:28 +00:00
bnsgeyer
6d0cfc13a2 Copter: heli: Update swashplate behavior
change swashplate behavior on ground in Acro, Stabilize, and AltHold
flight modes. See discussion here:

https://discuss.ardupilot.org/t/tradheli-swashplate-behavior-while-on-the-ground-and-potential-fix-to-issue-5396/22463/18
2017-10-28 12:31:06 +11:00
Peter Barker
c7216a2740 Copter: call ins periodic function 2017-10-27 16:33:45 +11:00
Randy Mackay
842eed5426 Copter: accept do-winch commands with max rate 2017-10-27 09:20:38 +09:00
Randy Mackay
47bbf49aa6 Copter: fix tuning knob rate control of winch 2017-10-27 09:20:38 +09:00
Randy Mackay
787954fa37 Copter: integrate winch library
fixes after peer review:
rename winch-disable to winch-relaxed
add DO_WINCH to do-verify
winch release-length accepts rate
2017-10-27 09:20:38 +09:00
Randy Mackay
2c511b4269 Copter: add AP_Winch and AP_WheelEncoder to build 2017-10-27 09:20:38 +09:00
ChristopherOlson
51c8c1adb2 Copter: TradHeli update comment
be consistent with dynamic flight speed definition
2017-10-26 17:15:40 +11:00
ChristopherOlson
572c609cd6 Copter: Trad Heli-change default accel_z_p to 0.30
prevents collective cycling in altitude controlled modes
2017-10-26 17:15:40 +11:00
Andrew Tridgell
0d0f1d264b Copter: fixed order of motor setup 2017-10-22 15:52:50 +11:00
Andrew Tridgell
c4b0d7bc35 Copter: removed calls to motors->enable() 2017-10-22 15:52:50 +11:00
Andrew Tridgell
f49ab44f25 Copter: support simple accel calibration 2017-10-10 10:57:38 +11:00
Andrew Tridgell
e2f710523e Copter: added inverted flight to switch docs 2017-10-03 10:16:41 +11:00
Andrew Tridgell
951ed95eb9 Copter: support inverted flight CH7 option 2017-10-03 10:16:41 +11:00
Andrew Tridgell
18f04abfe8 Copter: added HELI_QUAD 2017-10-03 10:16:41 +11:00
Michael du Breuil
516709fc72 Copter: Check GPS health 2017-09-27 19:29:32 +01:00
Lucas De Marchi
beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi
e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi
6781a44046 global: use static method to construct AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi
8f304ed809 ArduCopter: add static create method for AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi
6d009cdf6e global: use static method to construct AP_ADSB 2017-09-26 03:01:21 +01:00
Lucas De Marchi
1263e20a0d ArduCopter: use static method to construct AC_InputManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi
e21e02cfdb ArduCopter: use static method to construct AC_PrecLand 2017-09-26 03:01:21 +01:00
Lucas De Marchi
cf6ea9642e global: use static method to construct AP_Terrain 2017-09-26 03:01:21 +01:00
Lucas De Marchi
70d8a08626 ArduCopter: use static method to construct AP_LandingGear 2017-09-26 03:01:21 +01:00
Lucas De Marchi
31db77e47b global: use static method to construct AP_Parachute 2017-09-26 03:01:21 +01:00
Lucas De Marchi
57bbb2e1d9 ArduCopter: use static method to construct AC_Sprayer 2017-09-26 03:01:21 +01:00
Lucas De Marchi
eadd650d78 global: use static method to construct AP_RSSI 2017-09-26 03:01:21 +01:00
Lucas De Marchi
4f42facefc global: use static method to construct AC_Avoid 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b05610870c global: use static method to construct AP_Rally 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b4f5256a9e ArduCopter: add static create method to AP_Rally 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c6eb48009b global: use static method to construct AC_Fence 2017-09-26 03:01:21 +01:00
Lucas De Marchi
18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi
cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi
13d7f58036 global: use static method to construct AP_Relay 2017-09-26 03:01:21 +01:00
Lucas De Marchi
9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00
Lucas De Marchi
69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi
a74e700006 global: use static method to construct RCMapper 2017-09-26 03:01:21 +01:00
Lucas De Marchi
72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi
fbe0d9761c global: use static method to construct AP_OpticalFlow 2017-09-26 03:01:21 +01:00
Lucas De Marchi
10529feae6 ArduCopter: use static method to construct AP_Arming_Copter 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi
de5e044b02 global: use static method to construct AP_RPM 2017-09-26 03:01:21 +01:00
Lucas De Marchi
40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi
9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi
f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01:00
Lucas De Marchi
53c82b4aaf global: use static method to construct DataFlash_Class 2017-09-26 03:01:21 +01:00
Lucas De Marchi
62ac0ab8aa global: use static method to construct AP_Notify 2017-09-26 03:01:21 +01:00
Lucas De Marchi
de680dac5b global: use static method to construct AP_Scheduler 2017-09-26 03:01:21 +01:00
Lucas De Marchi
8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi
87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi
91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi
d213ccbbfc ArduCopter: protect version.h from inclusion and use ap_version.h 2017-09-23 21:37:45 -07:00
Lucas De Marchi
4ef5186733 ArduCopter: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Lucas De Marchi
cd5b018d82 ArduCopter: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
2017-09-23 21:37:45 -07:00
Randy Mackay
a9f257ddc6 Copter: 3.5.3 release notes 2017-09-21 11:13:02 +09:00
Andrew Tridgell
22bfec4d2a Copter: fixed motor runup check for heli
for all auto-throttle modes we should not allow a mode change to the
mode if the motor runup is not complete.

This moves the code to the set_mode() so it applies to all modes

fixes issue #6956
2017-09-21 08:52:50 +10:00
Andrew Tridgell
8cf8f3a288 Copter: fixed collective input with H_SV_MAN=1 for heli
when H_SV_MAN=1 we do direct pass-thru so the user can test swash
range. The problem is that it uses norm_input() for throttle, which
depends on RC3_TRIM. Nowhere else in heli or copter do we depend on
RC3_TRIM, so the user gets a misleading idea of behaviour when testing
their swash.
2017-09-21 08:52:50 +10:00
Randy Mackay
a8a5c1d332 Copter: command-long DO_SET_HOME check first param is zero
Also do not use current location just because lat,lon,alt are all zero
2017-09-20 12:14:38 +09:00
Randy Mackay
d982cfed4a Copter: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Randy Mackay
70cf21a5ba Copter: accept more mav-frame types
accept mav frames whether or not they have _INT appended
2017-09-20 12:14:38 +09:00
Peter Barker
45d056fcf0 Copter: ekf position checks are done before we call failsafe_ekf_event 2017-09-19 12:44:43 +01:00
Peter Barker
d5caff3f1b Copter: do not enter ekf-failsafe based on position if pos not needed 2017-09-19 12:44:43 +01:00
Peter Barker
ff82f23cf6 Copter: factor out a ekf_check_position_problem method 2017-09-19 12:44:43 +01:00
Peter Barker
84a873a520 Copter: remove redundant check; we will never failsafe_ekf_event if disarmed
See line 37
2017-09-19 12:44:43 +01:00
Peter Barker
0afe1e7473 Copter: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay
1b3cc9289b Copter: support SET_GPS_GLOBAL_ORIGIN
also remove setting of origin from DO_SET_HOME command
initialise ekf_origin location when consuming SET_GPS_GLOBAL_ORIGIN
set_ekf_origin performs sanity check on location
2017-09-19 10:30:15 +09:00
Randy Mackay
44a436642b Copter: complete rename to SmartRTL
Also fix parameter description for CH7_OPT
2017-09-15 08:58:14 +09:00