Commit Graph

5714 Commits

Author SHA1 Message Date
Peter Barker 1a68979050 Copter: correct nullptr check for circle nav allocation 2018-02-22 16:14:50 +10:00
Peter Barker dc5ef168fd Copter: toymode: correct compilation with fence is disabled 2018-02-22 10:26:37 +10:00
Peter Barker 25665c5dd9 Copter: correct definition of unused variable when precision landing disabled 2018-02-22 10:26:37 +10:00
Peter Barker 06da2f50ce Copter: correct compilation when logging is disabled 2018-02-22 10:25:39 +10:00
Andrew Tridgell 8d49e1ac18 Copter: re-added reason to mode change log msg
this was lost in the mode restructuring
2018-02-22 09:07:59 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas def098bd8a Copter: obey ADSB_ENABLED == DISABLED 2018-02-21 22:11:34 +09:00
Randy Mackay f0534a35d1 Copter: format change for includes
non-functional change
2018-02-21 21:56:01 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 137de0fea5 Copter: conditionaly include more header files
this should help catch missing macros
2018-02-21 21:55:59 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 381bae1a4a Copter: add missing defines to config.h 2018-02-21 21:55:33 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 002494c048 Copter: Obey CAMERA == DISABLED 2018-02-21 17:03:28 +10:00
murata 6f20c6a97b Copter: Set the loop rate of G_dt as a variable. 2018-02-20 10:51:20 +11:00
Andrew Tridgell 348a757cc6 Copter: re-enable FLOWHOLD mode on skyviper 2018-02-14 18:27:00 +11:00
Andrew Tridgell 00ec3efb48 Copter: initialise G_Dt to 1.0/400 2018-02-13 17:15:05 +11:00
Peter Barker 730adc3f7c Copter: eliminate perf_update scheduler table shim 2018-02-13 17:15:05 +11:00
Andrew Tridgell f06fdf330e Copter: use get_last_loop_time_s() for G_Dt 2018-02-13 17:15:05 +11:00
Andrew Tridgell e0de4bccdf Copter: use filtered loop time 2018-02-13 17:15:05 +11:00
Peter Barker de56ae56e1 Copter: pass log-performance-bit at init time rather than update time 2018-02-13 17:15:05 +11:00
Peter Barker bfc373aeff Copter: move logging of PM messages to AP_Scheduler 2018-02-13 17:15:05 +11:00
Peter Barker 375911cd7c Copter: move PERF: statustext sending into AP_Scheduler 2018-02-13 17:15:05 +11:00
Peter Barker 80a3d63264 Copter: use AP_Scheduler's loop() function 2018-02-13 17:15:05 +11:00
Peter Barker 7f69c5d26d Copter: use scheduler ticks in place of mainloop_count 2018-02-13 17:15:05 +11:00
Peter Barker bf6a2b8bb5 Copter: tell PerfInfo the configured loop rate 2018-02-13 17:15:05 +11:00
Randy Mackay 9eda7f4e31 Copter: global-pos-int uses system time 2018-02-13 08:52:48 +09:00
Peter Barker e6ece4cf3d Copter: correct use of parent class constructors (heli) 2018-02-13 08:22:30 +09:00
Randy Mackay 0ca653c8dd Copter: disable winch, gripper, sprayer on v2 build 2018-02-12 13:50:55 +09:00
Andrew Tridgell 7938bd08bb Copter: make flowhold mode conditional
reduces build size on px4-v2 by 4k
2018-02-12 13:34:47 +09:00
murata 296ee7315b Copter: minor formatting fixes 2018-02-12 12:17:05 +09:00
murata c31c2a4cf1 Copter: optionalize the winch 2018-02-12 12:16:57 +09:00
Peter Barker 40d74584ac Copter: remove shims used in scheduler 2018-02-12 11:19:34 +09:00
Peter Barker 8f8917369c Copter: correct use of parent class constructors 2018-02-09 13:41:12 +11:00
Peter Barker 5e55784707 Copter: remove unneeded and unwanted virtual keywords 2018-02-09 09:11:04 +09:00
Randy Mackay 4319e37f0c Copter: non-functional FlowHold changes
class declaration moved to alphabetical position in mode.h
parameter descriptions include FlowHow at beginning to help distinguished from optical flow parameters
resolved compiler warnings
2018-02-09 10:56:32 +11:00
Andrew Tridgell 763aee6b48 Copter: fixed units on flowhold brate rate 2018-02-08 17:36:33 +11:00
Andrew Tridgell 0ed75052f8 Copter: enable parameters inside mode objects
this adds FHLD_* parameters for FlowHold mode. It is a large patch as
it needs to disentagle the mode class to enable it to be used in
Parameters.h
2018-02-08 17:36:33 +11:00
Andrew Tridgell 9261e1cbde Copter: enable F412 toymode button setup
different button mapping for new controller
2018-02-08 17:36:33 +11:00
Andrew Tridgell daf35f7a30 Copter: pass loop rate to perf_info 2018-02-08 17:36:33 +11:00
Andrew Tridgell 5a210a697e Copter: fixed flowhold build 2018-02-08 17:36:33 +11:00
Andrew Tridgell af4f0c29ba Copter: enable TMODE (ToyMode) support
this is for the skyviper button based transmitter control
2018-02-08 17:36:33 +11:00
Andrew Tridgell f442b91ea5 Copter: added FLOWHOLD flight mode
This flight mode allows for position hold with optical flow without
needing a rangefinder for height. It can estimate its height from the
flow data and IMU
2018-02-08 17:36:33 +11:00
Andrew Tridgell a26d19b57c Copter: fill in flight mode in AP_Notify flags
needed for AP_Radio
2018-02-08 17:36:33 +11:00
Andrew Tridgell ce0bcf1adc Copter: disable toy_mode by default 2018-02-08 17:36:33 +11:00
Andrew Tridgell 15166eff2e Copter: enable temperature calibration library 2018-02-08 17:36:33 +11:00
Andrew Tridgell 1f76f69d80 Copter: implement per-motor compass compensation 2018-02-08 17:36:33 +11:00
Andrew Tridgell 662afdc2fd Copter: fixed build warning
double precision promotion
2018-02-07 20:33:45 +11:00
Michael du Breuil 69da4041ac Copter: Move logging battery logging code to AP_BattMonitor 2018-02-06 00:11:32 +00:00
Tatsuya Yamaguchi 6698660fd6 Copter: fix Battery FailSafe action with auto mode 2018-02-05 15:13:25 +09:00
Peter Barker ab7a9c9073 Copter: use zero_throttle_and_relax_ac in poshold, drift and autotune 2018-02-02 14:59:16 +09:00
murata c13d6580ae Copter: delete \n from the log using gcs().send_text 2018-02-02 09:38:39 +09:00
Randy Mackay 5a1c3cf5f4 Copter: firmware text to ArduCopter 2018-01-31 12:13:57 +09:00
Randy Mackay 0f6762bbd2 Copter: PSC_ACCZ param name shortened 2018-01-31 08:48:21 +09:00
Randy Mackay a3e9f72b0b Copter: fix default flight mode channel 2018-01-27 16:20:32 +09:00
Andrew Tridgell 89674482a7 Copter: added FLTMODE_CH parameter
this allows for the flight mode to be on any RC channel, or no channel
at all to disable RC flight modes
2018-01-27 12:01:35 +09:00
Peter Barker a97301c0f2 Copter: do not allow arming in RTL 2018-01-25 09:53:51 +09:00
Pierre Kancir 10e6fe43dd Copter: Add a switch option to enable/disable RC_Override 2018-01-24 21:37:41 +09:00
Pierre Kancir cfc69214e6 Copter: add LAND_ALT_LOW parameter 2018-01-24 21:14:35 +09:00
Randy Mackay 60c3ae1ec2 Copter: fix spelling in drift mode variable name
non-functional change
2018-01-24 17:13:15 +09:00
Randy Mackay f8c1d08316 Copter: 3.5.5-rc1 release note update 2018-01-24 12:09:43 +09:00
Randy Mackay 929dd04f2a Copter: 3.5.5-rc1 release notes 2018-01-24 12:09:39 +09:00
Randy Mackay eefa629039 Copter: remove setting accel_z PID controller's dt
This is handled from within the pos controller
this commit can be merged with Copter: move pos-control pids to pos-control library
2018-01-23 12:00:43 +09:00
Randy Mackay 8d6f8e4d9c Copter: move pos-control pids to pos-control library 2018-01-23 12:00:43 +09:00
Randy Mackay 6546ccbb3f Copter: velocity pi moved to position control library 2018-01-23 12:00:43 +09:00
Dylan Herman 20fe5bb98f Copter: add SmartRTL failsafe action
Adds SmartRTL or RTL and SmartRTL or Land failsafe options for batt, throttle, and GCS failsafes
2018-01-22 10:54:28 +09:00
Peter Barker 996115c0d3 Copter: eliminate MAIN_LOOP_SECONDS macro 2018-01-20 15:35:58 +11:00
Michael du Breuil 0ddcb0a6fb Copter: Support AP_BattMonitor_Params 2018-01-17 22:21:55 +00:00
Alexey Bulatov 8accfb97f6 ArduCopter: Check for nullptr for motors class pointer
Because of added initialisation of UAVCAN send_heartbeat function
starts before motors initialisation. So we need check is object created.
2018-01-17 07:24:17 -08:00
Dylan Herman c772e2d3fd Copter: sets SmartRTL home after AHRS home is set
Now calls AP_SmartRTL::set_home when arming. In addition, it calls it whenever
the ahrs home is set to the current location, whether by GCS or in-flight

Copter: merge
2018-01-17 11:04:46 +09:00
Randy Mackay e85b1ac740 Copter: pass dt to avoidance calls 2018-01-16 12:13:48 +09:00
Leonard Hall 48d0ad26a6 Copter: mode_land sends dt to sqrt controller 2018-01-16 12:13:48 +09:00
Randy Mackay b47d575f65 Copter: minor spelling fix
non-functional change
2018-01-12 16:51:25 +09:00
Peter Barker 6bcdab55d0 Copter: rename sys_status methods from geofence_ to sys_status_ 2018-01-09 17:15:19 +00:00
Peter Barker 077b062701 Copter: change pre-arm checks to allow interlock to be enabled
With this change we will continue to tell the user their interlock is
enabled, but we will not fail the pre-arm checks.

This will mean that the blinking-LED indicators will show the vehicle as
armable (flashing green / flashing blue), even if the interlock would
prevent arming.

This has the advantage that you don't need your vehicle in the
"dangerous" state to work out whether arming will work when you attempt
to arm it.

Note that we repeat the interlock switch check in the arming checks, and
it WILL fail if the interlock switch is enabled.
2018-01-09 08:13:06 +09:00
Peter Barker 114628afe4 Copter: use zero_throttle_and_relax_ac in stab, guided, acro and auto 2018-01-08 12:02:49 +00:00
Peter Barker 8d658e1dbc Copter: correct misleading comment in mode_throw 2018-01-08 12:02:49 +00:00
Peter Barker cb129fbdaf Copter: remove argument to check()
Also, check() was check_fence()
2017-12-28 15:38:37 +00:00
Peter Barker d1201e4776 Copter: tidy zero_throttle_and_relax (NFC) 2017-12-27 12:09:06 +00:00
Peter Barker 71ad1b5815 Copter: use zero_throttle_and_relax_ac function 2017-12-27 12:09:06 +00:00
Peter Barker 41dc8554c0 Copter: pull out a zero_throttle_and_relax function 2017-12-27 12:09:06 +00:00
Peter Barker 4c7491a05b Copter: mode_auto's landing_gear_deploy method defers to mode_rtl
Since we defer our rtl_run behaviour to the RTL flightmode, it should
also specify the landing gear behaviour
2017-12-27 12:08:15 +00:00
Peter Barker d9235d3d41 Copter: make landing_gear_should_be_deployed a base-class method 2017-12-27 12:08:15 +00:00
Peter Barker dda38d65eb Copter: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +00:00
Matt 5d6c979f70 COPTER: Fix MOUNT_CONTROL yaw in missions
If a the mount instances (gimbal) does not support yaw/pan control, the
copter needs to yaw in response to a DO_MOUNT_CONTROL command in
missions.  Checking if the mount has pan control, and if not, yawing the
copter was missing from the mission commands logic. As such, a
MOUNT_CONTROL command would control pitch but not yaw/pan.  This patch
impliments checking for pan control, and initiating copter yaw as
required.
2017-12-23 10:57:31 +09:00
Matt c0f0e3eca3 COPTER: Fix MOUNT_CONTROL yaw in guided
If the mount instance does not support yaw/pan, the copter needs to yaw in
response to MSG_MOUNT_CONTROL and MAV_COMMAND_DO_MOUNT_CONTROL commands from
a GCS or co-computer. There was no checking for mount pan in the GCS_Mavlink
logic.  As such, no yaw takes place when a mount control command calls for it.
This patch impliments copter yaw control for both MSG_MOUNT_CONTROL and
MAV_COMMAND_DO_MOUNT_CONTROL in copter GCS_Mavlink.
2017-12-23 10:57:31 +09:00
Peter Barker 4dcb5aa3de Copter: stop setting home distance in fence 2017-12-15 01:42:49 +00:00
Peter Barker bf5f51a616 Copter: factor out takeoff_trigger from althold, sport and loiter 2017-12-14 23:45:54 +00:00
Randy Mackay 2c0df87585 Copter: Copter.h method reordering 2017-12-15 08:26:45 +09:00
Peter Barker 6c82f7671d Copter: move all commands logic into AUTO flightmode 2017-12-14 14:08:01 +09:00
Andrew Tridgell 8ab0ac8a16 Copter: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Peter Barker 7222380598 Copter: populate system status bits for fence 2017-12-13 10:04:50 +09:00
Peter Barker 377466ddda Copter: fence no longer requires AP_InertialNav 2017-12-13 10:04:50 +09:00
Peter Barker d09b0696db Copter: correct checking of heli mode change
init() may have changed all sorts of things about the
vehicle - wp navigation, position controllers, attitude controllers...

Do the heli check before doing any of that so we don't change state and
then fail to change mode
2017-12-13 08:49:01 +09:00
Randy Mackay 7504237fbb Copter: rename flight_mode.cpp to mode.cpp 2017-12-12 20:39:48 +09:00
Randy Mackay 99bafb0df1 Copter: rename heli_control_xx to mode_xx_heli 2017-12-12 10:39:26 +09:00
Randy Mackay 2d23e1f7c7 Copter: rename flightmode_ objects to mode_ 2017-12-12 10:39:26 +09:00
Randy Mackay c3fbf2671c Copter: rename control_xx.cpp files to mode_xx.cpp 2017-12-12 10:39:26 +09:00
Randy Mackay 06fbe8f3a7 Copter: rename FlightMode class to Mode
also remove unused print_FlightMode method
2017-12-12 10:39:26 +09:00
Randy Mackay 6e9de7e609 Copter: flight_mode formatting changes
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay 2e71a641c3 Copter: FlightMode allow_arming format changes
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay 0ac708b5a0 Copter: remove ability to disable PosHold flight mode
This flight mode is stable and regularly used so it is unlikely that we ever want to disable it
2017-12-12 10:39:26 +09:00
Randy Mackay 7494eb2e77 Copter: alphabetise flight mode header file 2017-12-12 10:39:26 +09:00
Randy Mackay a90979ec8e Copter: remove FlightMode_Avoid_ADSB.h file 2017-12-12 10:39:26 +09:00
Randy Mackay 8870897847 Copter: FlightMode objects use lower case 2017-12-12 10:39:26 +09:00
Randy Mackay 20d7216179 Copter: remove comments
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay ac8c2b3f03 Copter: resolve compiler warning from flight-mode declaration 2017-12-12 10:39:26 +09:00
Peter Barker 5d33cf08e1 Copter: eliminate calc_home_distance_and_bearing
Calling update_simple_mode_bearing calls get-heading
rather than the other way around

This will have the advantage of not calculating home bearing
when we stop calling update_simple_mode_bearing unnecesarily
2017-12-09 16:26:09 +09:00
khancyr b44ba29a05 AC_Avoidance: replace AP_InertialNav by AHRS 2017-12-08 11:27:37 +09:00
Peter Barker 103e2cc711 Copter: calculate wp bearing and distance on demand
Move responsibility for calculating wp bearing/distance
into the FlightMode object doing the navigation

Calculating these variables was being done at 50Hz where they
were used at 10Hz max.
2017-12-07 07:43:08 +09:00
Peter Barker 4ae2be55aa Copter: fix up autotune namespacing
This moves static variables into the autotune flightmode object.

It also adjusts namespacing on everything to take advantage of
having everything encapsulated in the AutoTune object
2017-12-07 07:35:37 +09:00
Peter Barker 7b637334f4 Copter: eliminate mode_has_manual_throttle 2017-12-06 10:09:58 +09:00
Peter Barker 4fd61ed6dc Copter: make exit_mode take FlightMode objects as arguments 2017-12-06 10:09:58 +09:00
Peter Barker adf4140b9b Copter: fix heli-flags compilation issue 2017-12-06 08:24:24 +09:00
Peter Barker 477ae8f7be Copter: pass heli_flags into flightmode constructor 2017-12-06 08:24:24 +09:00
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
Michael du Breuil ffc2aeee32 Copter: Support landing flight termination 2017-09-13 13:15:08 -07:00
Peter Barker 6b5fd5fbdd Copter: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Randy Mackay b1d1b5122b Copter: 3.5.3-rc1 release notes 2017-09-12 16:43:15 +09:00
squilter 4b57a4a231 Copter: rename SafeRTL to SmartRTL 2017-09-09 14:05:41 +09:00
squilter 7abb5b10fc Copter: build scripts changed from SafeRTL to SmartRTL 2017-09-09 14:05:41 +09:00
Randy Mackay ed0203e53c Copter: smooth safertl return journey using fast waypoints 2017-09-09 14:05:41 +09:00
Randy Mackay 6684e3de56 Copter: minor comment change for SafeRTL 2017-09-09 14:05:41 +09:00
Randy Mackay 8df042f00c Copter: complete addition of SafeRTL flight mode 2017-09-09 14:05:41 +09:00
Randy Mackay 218983d594 Copter: safe-rtl changes after peer review 2017-09-09 14:05:41 +09:00
squilter ba0e08552f Copter: add SafeRTL flight mode 2017-09-09 14:05:41 +09:00
squilter ec8c4b1744 Copter: add AP_SafeRTL to build 2017-09-09 14:05:41 +09:00
Peter Barker 3f67dfe4fe Copter: move handling of do_send_banner up 2017-08-30 15:54:47 +01:00
Peter Barker 3da70f19c1 Copter: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker e6ac68fd2a Copter: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker bb06db6389 Copter: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker 470e790117 Copter: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
squilter 00ace08b54 Copter: minor formatting fixes 2017-08-30 20:07:11 +09:00
Peter Barker 30fac9160e Copter: mavlink PERF messages also spit out average and standard deviation 2017-08-29 21:31:46 +01:00
Peter Barker 89e6e70235 Copter: remove MAIN_LOOP_RATE in favour of parameter value 2017-08-29 08:41:07 +09:00
Peter Barker 02a590024d Copter: base loop time remaining on variable loop rate 2017-08-26 09:33:45 +09:00
Peter Barker 0b6de644fb Copter: add ArduSub to list of SYSID_SW_TYPE 2017-08-24 19:50:38 +09:00
Peter Barker 5103739ea3 Copter: remove unused CH6 defines 2017-08-24 19:48:17 +09:00
Lucas De Marchi be402374ea ArduCopter: use FALLTHROUGH define
When falling through on a case switch, allow to add an empty statement
with the correct attribute to tell the compiler this behavior is
intended.
2017-08-22 23:59:13 -07:00
Randy Mackay 34560fb1fb Copter: remove enabled check from optflow init 2017-08-23 11:19:14 +09:00
Randy Mackay def17582c6 Copter: integrate simpler Log_Write_EKF 2017-08-23 11:19:14 +09:00
Peter Barker b0c7766197 Copter: continuously reevaluate rc calibration checks
Stop "latching" calibration checks - if an RC radio's calibration
changes after it passes once, these patches allow the rc calibraiton
checks to then fail.
2017-08-21 09:05:31 +09:00
Peter Barker 19e409f7f4 Copter: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker 6db348bab3 Copter: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Peter Barker aa06fc499c Copter: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Michael du Breuil 5cfe4d5a8c Copter: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01:00
Peter Barker 0a2177de58 Copter: move Copter RC checking code into library 2017-08-14 15:32:25 +09:00
Randy Mackay 14f6d3e03e Copter: 3.5.2 release notes 2017-08-14 12:12:01 +09:00
Peter Barker c6b9c84d1f Copter: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker fa2b500e93 Rover: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker 55af774e98 Copter: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker 56160a8bbd Copter: move sending of gps_raw up 2017-08-09 16:18:22 +01:00
Peter Barker ff81186951 Copter: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker 7ca146878d Copter: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker da889bdff5 Copter: move sending of meminfo up 2017-08-09 16:18:22 +01:00