Commit Graph

680 Commits

Author SHA1 Message Date
Andrew Tridgell 20dea6df45 Copter: moved OSD to top level params
this gives us plenty of param depth for a complex param tree
2018-06-27 14:55:00 +10:00
Alexander Malishev f63b3c044a Copter: added OSD support 2018-06-27 14:55:00 +10:00
Peter Barker 7883582c65 Copter: move takeoff state into Mode class 2018-06-26 09:11:21 +09:00
Peter Barker cff1969a29 Copter: make do_user_takeoff a member of Mode 2018-06-26 09:11:21 +09:00
Peter Barker cb26ff64b3 Copter: current_mode_has_user_takeoff -> Mode::has_user_takeoff 2018-06-26 09:11:21 +09:00
Peter Barker 70d159cb38 Copter: raise EKF failure even if USB is connected
This will let EKF go bad if your PixHawk is connected to your laptop.
This doesn't seem to be a problem for the other vehicles.

This also allows the EKF to go bad in-flight if you happen to have
connected (against AP's recommendations) your companion computer to your
flight controller via USB.  Since people do this, it is better to have
the checks than not.
2018-06-26 10:07:55 +10:00
Peter Barker fd9ce90b8e Copter: option to force arm, bypassing checks 2018-06-20 11:43:38 +10:00
murata a970eacf49 Copter: Do not use the Delay method wrapper. 2018-06-16 09:40:47 +09:00
Peter Barker 078d90132c Copter: use AP_RTC
Co-authored-by: patrickelectric@gmail.com

Copter: AP_GPS now sets the system time directly

Copter: use AP_RTC for mission delays

Copter: Remove ap_t bits counter (Patrick José Pereira)

Change bits in ap_t to bool and add a static assert
2018-06-15 08:01:22 +10:00
Peter Barker ab68e4fe8b Copter: log quiet-nan for rangefinder-desired-alt when not using it 2018-06-06 08:33:56 +09:00
Peter Barker e3ddf7dadd Copter: rename SPRAYER-enabled-define to SPRAYER_ENABLED 2018-06-01 15:13:05 +09:00
Peter Barker 5f2221fe74 Copter: move handling of VFR_HUD into GCS_MAVLink_Copter 2018-05-29 13:00:40 +10:00
Andrew Tridgell 2425c65e74 Copter: implement 'air-mode' for copter
this implements what betaflight calls 'air-mode'. This gives attitude
control when throttle is at zero, allowing for zero-throttle maneuvers,
plus keeping the copter level on the ground.

This was already implemented if an interlock switch was setup, but it
should also work with an arming switch. If using an arming switch then
throttle should not be considered zero as long as the arming switch
hasn't gone low.
2018-05-29 10:27:14 +09:00
Andrew Tridgell 0d56526400 Copter: added de-bouncing of aux switches
this prevents a crash with a switch such as arm/disarm getting a
single frame RC glitch
2018-05-29 08:26:46 +09:00
Peter Barker 81e9edd80a Copter: move sending of sim state up 2018-05-23 18:36:50 +10:00
Peter Barker 33582107b6 Copter: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK 2018-05-17 15:48:06 +01:00
Peter Barker da1b2579c4 Copter: move send_attitude up to GCS_MAVLINK 2018-05-17 18:28:43 +10:00
Peter Barker 9dce133938 Copter: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Peter Barker 0dc0e54767 Copter: move Log_Write_Home_And_Origin into AP_AHRS 2018-05-17 10:13:42 +10:00
Leonard Hall 656892cd88 Copter: ekf failsafe disabled for acro and stabilize
Also restructure to combine ekf_over_threshold and ekf_check_position_problem
2018-05-10 08:59:37 +09:00
Peter Barker dee40f3fe5 Copter: make scheduler track whether it has called the delay callback 2018-05-09 16:15:38 +10:00
Peter Barker 6dd9f50f7c Copter: move try_send_message handling of RC_CHANNELS up 2018-05-08 12:33:32 +01:00
night-ghost 51a189e906 ArduCopter: devo telemetry support (RX705/707) 2018-04-24 10:44:28 +10:00
Peter Barker ba8b3e2415 Copter: create an AutoYaw helper object to hold auto-yaw state 2018-04-18 13:27:43 +09:00
Pierre Kancir 70805d61f2 ArduCopter: remove inertial_nav from precland constructor 2018-04-17 17:21:35 +09:00
Peter Barker 80549a479e Copter: move throw logging into ModeThrow 2018-04-17 17:16:52 +09:00
Peter Barker c95ff96263 Copter: Baro does its own dataflash logging 2018-04-12 19:12:12 +01:00
Peter Barker d9ab8d6569 Copter: sprayer now uses ahrs singleton; stop passing reference 2018-04-12 14:23:33 +09:00
Pierre Kancir 9e298b3b2f Copter: sprayer uses ahrs in constructor 2018-04-11 09:41:33 +09:00
Randy Mackay 59e4749fd0 Copter: integrate AC_Loiter
includes param conversion
2018-04-04 10:45:10 +09:00
Peter Barker 0c8110ecb2 Copter: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Peter Barker d58e2214d2 Copter: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Peter Barker cca4d5136e Copter: move common calibration functions up 2018-04-02 23:25:05 +01:00
Dr.-Ing. Amilcar do Carmo Lucas d633ba8c46 Copter: Add option to disable RPM module 2018-03-30 09:36:48 +09:00
Ebin 1ff4019ddf ArduCopter: moved landing control fns from Copter to Mode
land_run_horizontal_control(),land_run_vertical_control(),get_alt_above_ground() moved to Mode
2018-03-29 16:50:00 +01:00
Michael du Breuil 291531e056 Copter: Support new battery failsafes 2018-03-27 22:12:21 +01:00
priseborough 4b00f399b4 Copter: Clarify definition for gps_glitching flag 2018-03-27 20:28:55 +09:00
Peter Barker 45f2312bfe Copter: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker 2749ee9060 Copter: use ins singleton 2018-03-16 00:37:35 -07:00
Randy Mackay 4a74b1b5e5 Copter: replace NTUN with PSC logging 2018-03-16 13:50:57 +09:00
Leonard Hall 9544b1763b Copter: replace smoothing gain with AC_AttitudeControl::set_input_tc 2018-03-16 13:50:57 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas ed36ec3c29 Copter: add option to disable THROW mode 2018-03-15 07:38:14 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas b27c00dc5f Copter: add option to disable ACRO mode 2018-03-15 07:38:14 +09:00
Randy Mackay af207caa1f Copter: move get_pilot_desired_lean_angles higher in cpp
this makes the definition in the .h and implementation in .cpp files appear in the same order
2018-03-14 09:33:39 +09:00
Ebin 20995b909f Copter: Moved get_pilot_desired_lean_angles to mode.cpp 2018-03-14 09:33:39 +09:00
Peter Barker d88bd52a53 Copter: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker bc4f021516 Copter: use AP::ahrs() for ADSB 2018-03-07 12:34:39 +00:00
Peter Barker af56826107 Copter: follow mode fixups
add follow to FLTMODEx param descriptions
remove follow's set_velocity method
10hz logging of desired velocity in follow mode
follow mode uses pos error P gain
add send-debug-via-mavlink option
don't enter follow if follow lib is disabled
follow debug slowed to 1hz
disable follow on min-features builds
2018-03-05 15:08:08 +09:00
Randy Mackay 6ee101ca98 Copter: rename chase to follow 2018-03-05 15:08:08 +09:00
Randy Mackay 053983eb70 Copter: integrate AP_Follow into chase mode 2018-03-05 15:08:08 +09:00
Peter Barker 199455dc56 Copter: add chase mode 2018-03-05 15:08:08 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas bc86ca0e3c Copter: simplify Log_Write_Proximity 2018-03-03 17:13:34 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas bbd1aa1cab Copter: Improve interoperation of AC_AVOID_ENABLED and BEACON_ENABLED 2018-03-03 17:10:26 +00:00
Peter Barker b8e1f03599 Copter: add define for disabling beacon 2018-02-27 07:43:13 +09:00
Peter Barker 5b355214fd Copter: add option to disable CIRCLE flight mode
Saves about 2.4kB of flash
2018-02-27 07:43:13 +09:00
Peter Barker e4898e1d60 Copter: add option to disable GUIDED_NOGPS flight mode
Saves about 6.3kB of flash
2018-02-27 07:43:13 +09:00
Peter Barker 86b162e32f Copter: add option to disable BRAKE flight mode 2018-02-27 07:43:13 +09:00
Peter Barker a7fe242e31 Copter: add option to disable RTL flight mode 2018-02-27 07:43:13 +09:00
Peter Barker b8c432b1a1 Copter: add option to disable GUIDED flight mode
Saves about 6kB of flash
2018-02-27 07:43:13 +09:00
Peter Barker 0ddeb56a05 Copter: add option to disable DRIFT flight mode
Saves about 1kB of space
2018-02-27 07:43:13 +09:00
Peter Barker e5056f8d40 Copter: add option to disable SPORT flight mode
Saves about 1,500 bytes
2018-02-27 07:43:13 +09:00
Peter Barker 7154f4dea4 Copter: add option to disable LOITER mode 2018-02-27 07:43:13 +09:00
Peter Barker 9b440d6b25 Copter: add option to disable SmartRTL mode
Saves 5.5k of Flash
2018-02-27 07:43:13 +09:00
Peter Barker 3a61b86e65 Copter: add option to disable POSHOLD mode
Saves about 4k of Flash
2018-02-27 07:43:13 +09:00
Peter Barker b9ad2bc8db Copter: add option to disable AUTO mode
Saves ~12k of flash
2018-02-27 07:43:13 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas b24e5c3991 Copter: Obey MOUNT == DISABLED 2018-02-22 20:58:51 +10:00
Peter Barker 846506230d Copter: remove pointless initialisations
Also reduce storage size of gps primary
2018-02-22 17:51:35 +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 002494c048 Copter: Obey CAMERA == DISABLED 2018-02-21 17:03:28 +10:00
Peter Barker 730adc3f7c Copter: eliminate perf_update scheduler table shim 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 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
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 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
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 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 15166eff2e Copter: enable temperature calibration library 2018-02-08 17:36:33 +11:00
Michael du Breuil 69da4041ac Copter: Move logging battery logging code to AP_BattMonitor 2018-02-06 00:11:32 +00:00
Pierre Kancir 10e6fe43dd Copter: Add a switch option to enable/disable RC_Override 2018-01-24 21:37:41 +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 dda38d65eb Copter: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +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 377466ddda Copter: fence no longer requires AP_InertialNav 2017-12-13 10:04:50 +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 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 8870897847 Copter: FlightMode objects use lower case 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 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 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 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
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
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
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 9a03ba1bfb Copter: move barometer_accumulate to sensors.cpp
non-functional change
2017-11-22 17:13:14 +09:00
Peter Barker 04c9e966e0 Copter: use AP::PerfInfo library 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
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 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
Peter Barker c7216a2740 Copter: call ins periodic function 2017-10-27 16:33:45 +11: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
Andrew Tridgell 951ed95eb9 Copter: support inverted flight CH7 option 2017-10-03 10:16:41 +11: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 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 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 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 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
Peter Barker ff82f23cf6 Copter: factor out a ekf_check_position_problem method 2017-09-19 12:44:43 +01: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
Peter Barker 6b5fd5fbdd Copter: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
squilter 4b57a4a231 Copter: rename SafeRTL to SmartRTL 2017-09-09 14:05:41 +09:00
squilter ba0e08552f Copter: add SafeRTL flight mode 2017-09-09 14:05:41 +09:00
Peter Barker 470e790117 Copter: add constant structure holding firmware version 2017-08-30 15:54:46 +01: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 aa06fc499c Copter: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker c6b9c84d1f Copter: remove CLI 2017-08-14 10:23:50 +09:00
Jani Hirvinen bdbe26eb28 Copter: minor comment fix
small edit on comments to kickoff autobuild
2017-08-09 20:14:22 +09:00
Peter Barker 431e3443bd Copter: move try_send_message send_hwstatus up 2017-08-03 14:33:37 +01:00
Peter Barker 3e5665735f Copter: move try_send_message mission handling up 2017-08-03 14:24:47 +01:00
Peter Barker cdf9ebcb39 Copter: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Randy Mackay f97e43919b Copter: add gps glitch notification and pre-arm check 2017-07-27 14:16:23 +09:00
khancyr 49755063ab Copter: move send_proximity to GCS common code (NFC) 2017-07-24 13:44:43 +01:00
Peter Barker e45efeb829 Copter: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Randy Mackay 2b98fd765d Copter: guided_set_destination accepts relative yaw 2017-07-12 13:27:45 +09:00
Randy Mackay 4c9e118ceb Copter: set_auto_yaw_look_at_heading takes bool for relative angle arg
No functional change
2017-07-12 13:27:45 +09:00
Randy Mackay 9b05f1d9c7 Copter: add auto-yaw-rate and replace guided_angle_state.use_yaw_rate
We use the auto_yaw_mode in auto and guided modes to allow various yaw behaviours
This commit adds a new AUTO_YAW_RATE control to the mode and uses it within guided mode.
This new RATE control is not currently used within auto mode because there is no way (yet) for a mission command to specify a desired rate.
2017-07-12 13:27:45 +09:00
kouseii 4dd7d9eaff Copter: guided mode supports heading and yaw-rate target 2017-07-12 13:27:45 +09:00
Peter Barker 358555446b Copter: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 0ac045febe Copter: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker f60389d4aa Copter: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker d9b45cc202 Copter: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Eugene Shamaev 24c390ade0 ArduCopter: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Peter Barker 8b57405143 Copter: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Leonard Hall 7eab1239c7 Copter: attitude logging at 400hz 2017-06-22 15:18:04 +09:00
Pierre Kancir 261eb387eb ArduCopter: change rangefinder msg for common one 2017-06-08 01:31:43 +01:00
Randy Mackay cb76bd8f3d Copter: compass set-initial-location uses ahrs location
Previously it could attempt to use a gps location even if gps was not being used
Also compass-accumulate moved to sensors.cpp
2017-06-07 13:01:38 +09:00
Randy Mackay 814cadac68 Copter: consolidate set_home functions
added lock argument instead of having twice as many functions
no functional change
2017-06-07 13:01:38 +09:00
Peter Barker 0bc17645fb Copter: AutoTune: add gcs messages detailing wait-for-level state 2017-05-18 09:36:00 +09:00
Peter Barker 586a5df814 Copter: add GCS messaging during autotune 2017-05-18 09:36:00 +09:00
Randy Mackay 91d4b4777b Copter: respond to param list request after motor init 2017-05-15 14:13:43 +09:00
Randy Mackay a3450a955d Copter: fix LED notify during auto esc calibration 2017-05-11 11:30:05 +09:00
Randy Mackay 713c08672f Copter: integrate AP_VisualOdom 2017-04-19 11:04:40 +09:00
Jonathan Challinger 054aab738b Copter: remove const qualifier from do_precision_loiter 2017-03-29 14:06:12 +09:00
Andrew Tridgell 6bb5c16fb8 Copter: allow for HELI_DUAL configurations 2017-03-25 16:22:10 +11:00
Randy Mackay 8140353c64 Copter: log event when primary GPS changes 2017-03-13 11:31:51 +11:00
Peter Barker 1d70a337dd Copter: remove unused desired_climb_rate variable 2017-03-09 19:52:58 +11:00
Andrew Tridgell 0d1bcd3b94 Copter: added automatic yaw to autotune position control 2017-02-27 19:34:44 +09:00
Andrew Tridgell 37fca03db3 Copter: implement simple position hold during autotune
this holds position during tuning with low gain
2017-02-27 19:34:36 +09:00
Randy Mackay 51c00f8144 Copter: use only downward facing rangefinder 2017-02-27 15:18:16 +09:00
Peter Barker 029aeeb4fd Copter: support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker f49f153da0 Copter: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Randy Mackay cb1f7ba4bb Copter: remove setting position control's altitude max
AC_Avoid now takes responsibility for enforcing the alt limit and accesses inertial nav's limit directly
2017-01-18 09:35:47 +09:00
Randy Mackay b15d341850 Copter: add avoidance adjusted climb rate 2017-01-18 09:35:47 +09:00
Randy Mackay cc217550c0 Copter: rename arming_checks to AP_Arming 2017-01-17 11:45:08 +09:00
Peter Barker bd6ffc025e Copter: start conversion to AP_Arming_Copter 2017-01-17 11:45:08 +09:00
Andrew Tridgell 1297a7dedb Copter: convert the rest of motors class for tricopter 2017-01-12 17:39:37 +11:00
Andrew Tridgell 0f6d0c5ba9 Copter: combined tri, single, coax and multicopter into a single build
this allows copter to be just 2 builds, one for heli, and one for
everything else
2017-01-12 17:39:37 +11:00
Andrew Tridgell 5a87ae3f01 Copter: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Francisco Ferreira 11b635df12
Copter: correct limit status to fence status 2017-01-12 02:00:51 +00:00
Peter Barker a233024e05 Copter: fix compilation when fence andd proximity are disabled
This adds AC_AVOID_ENABLED; avoidance must be disabled if either
of fence or proximity are disabled.

Parameter definitions have been reordered to avoid compiler warnings;
this make sthe numbering non-linear
2017-01-03 10:44:03 +09:00
Randy Mackay 01bcf5e528 Copter: add arming checks for motor setup 2016-12-31 10:55:23 +09:00
Randy Mackay 217757fdc8 Copter: default FRAME_CLASS 2016-12-31 10:55:23 +09:00
Randy Mackay 0ac00dbfd6 Copter: add FRAME_CLASS parameter 2016-12-31 10:55:23 +09:00
Andrew Tridgell c3b9dbf5c8 ArduCopter: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Pierre Kancir 3fc17a5ed5 Copter: avoid must be initialized after fence as it use it 2016-12-05 10:59:45 -08:00
Peter Barker 556eb88fe5 Copter: fix compile when precland is not selected
Fixes #5327
2016-12-05 20:03:00 +09:00
Peter Barker 289aba4350 Copter: support for NAV_CMD_PLACE 2016-12-02 12:52:53 +11:00
Randy Mackay 74c9c4aa9d Copter: add beacon data flash logging
Added to Copter vehicle because currently only used by Copter
2016-11-30 17:56:59 +09:00
Randy Mackay 21c7ea1df7 Copter: integrate AP_Beacon 2016-11-30 17:56:55 +09:00
Andrew Tridgell bcea3ac8d4 Copter: handle rangefinder glitches in alt tracking
this handles glitches from the rangefinder when tracking the
ground. It requires 3 readings in a row to settle on a new target
altitude

thanks to discussions with Leonard and Randy
2016-11-28 17:36:01 +11:00
Randy Mackay 7485de3498 Copter: add send_proximity to send distances to GCS 2016-11-27 15:05:46 +09:00
Randy Mackay 218c8b2d16 Copter: proximity pre-arm check displays closet object 2016-11-27 15:05:44 +09:00
Peter Barker e72f5a6240 ArduCopter: enable/disable precision loiter on a switch
A switch MUST be assigned for precision loiter to be enabled
2016-11-18 09:41:56 +09:00
Peter Barker 9e4628af58 Copter: precision loiter 2016-11-18 09:41:56 +09:00
Peter Barker 236b8ab6b7 Copter: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:39 +09:00
Peter Barker 920868145c Copter: support for AP_Gripper 2016-11-05 10:20:33 +09:00
Peter Barker 1bb6350a67 Copter: periodically call stats update 2016-10-29 14:53:25 +09:00
Peter Barker df07cb525a Copter: use AP_Stats to store statistics about vehicle 2016-10-29 14:53:25 +09:00
floaledm 34718b130a Copter: update sensor status error flags independently of sending a sys_status message
Without this, there is no update to the sensor status flags in the Frsky
lib unless there's an active Mavlink connection configured to send
extended_status1
2016-10-28 10:03:38 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Leonard Hall fec24437f2 Copter: load accel throttle I term from attitude controller input
Previously we loaded up the I term from the pilot's input but a more reliable method is to get what was passed into the attitude controller.  In particular the addition of the acro-thr-mid parameter means the pilot's input must be interpreted differently for different flight modes.
2016-10-15 11:27:53 +09:00
Randy Mackay a124001b8b Copter: get_pilot_desired_throttle gets thr_mid argument default 2016-10-15 11:27:53 +09:00
Leonard Hall 5c47f3f9e5 Copter: add acro throttle and yaw expo and smoother manual pilot throttle 2016-10-15 11:27:53 +09:00
Randy Mackay 0aab175051 Copter: move proximity to g2 2016-10-14 14:02:29 +09:00
Jonathan Challinger f2ef8eec8c Copter: use velocity output from AC_PrecLand 2016-10-14 10:46:08 +09:00
Randy Mackay a07ecfe2b3 Copter: log proximity sensor at 10hz
This is current in the Copter vehicle code but we can move to the dataflash library when other vehicles start using this type of sensor.  Until then adding it to common will just increase the dependencies unnecessarily for other vehicles.
2016-10-13 20:21:07 +09:00
Randy Mackay fcc2a1b378 Copter: integrate AP_Proximity into main vehicle 2016-10-13 20:21:07 +09:00
Randy Mackay 26c3295042 Copter: ignore first ekf core switch
The ekf core is initialised to -1 but after initialisation changes to zero.  Ignore this first change.
2016-10-13 15:20:16 +09:00
Randy Mackay d74ae535d1 Copter: log EKF lane switch 2016-10-10 16:40:08 +09:00
Randy Mackay 35864c6226 Copter: move check_ekf_reset to ekf_check.cpp
No functional change
2016-10-10 16:40:08 +09:00
murata 7148cc6239 Copter: Return value is changed to Enum Value. 2016-10-05 08:25:15 -03:00
Andrew Tridgell f18e0dadc9 Copter: added optional AdvancedFailsafe for copter and heli 2016-08-25 14:14:18 +10:00
floaledm 893614897e Copter: moved MAV_TYPE to Copter.h 2016-08-25 10:16:20 +10:00
Andrew Tridgell a14ff8ac77 Copter: fixes for Frsky_Telem API changes 2016-08-25 10:16:20 +10:00
floaledm 157db51b9d Copter: make control_sensor vars available outside of send_extended_status1 2016-08-25 10:16:18 +10:00
floaledm f73fa1fc80 Copter: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Peter Barker f67d247a46 Copter: factor pre-arm checks, continue testing after a failure
The functional change here is that we continue to run later checks
when a check fails.

The user-visible effect of that is that your GCS will tell you about
all pre-arm failures, not just the first.

This makes things work a little more like Plane, in preparation for
using AP_Arming.
2016-08-16 11:37:18 -03:00
Andrew Tridgell 3041a75798 Copter: limit attitude on landing using WP_NAVALT_MIN 2016-08-16 11:26:56 +10:00
Randy Mackay 0ed5665193 Copter: change parameter order of guided_set_angle
I thought it might be slightly better to put the optional parameters at the end
No functional change
2016-08-10 10:03:54 +09:00
Allan Matthew 6dd4e1a2aa Copter: accept yaw rate commands in Guided atttude controller 2016-08-10 10:03:37 +09:00
Randy Mackay 9842840346 Copter: GND_EFFECT_COMP parameter to enable ground effect compensation 2016-08-09 13:31:36 +09:00
Randy Mackay 728e8f8f56 Copter: land_state uses enum
This resolves a Covarity warning related to initialisation (that was not really a problem) but it is better form anyway
2016-08-08 13:31:29 +09:00
Francisco Ferreira 43ad1f372d Copter: change function from computing return altitude to computing return target
Also fix altitude for rally points
2016-08-06 13:50:53 +09:00
Francisco Ferreira e732cda577 Copter: when calculating RTL return alt use rtl_path directly
At the same time, fix bug: check return point for terrain and not origin twice
2016-08-06 13:50:50 +09:00
Randy Mackay c3d71f733c Copter: remove get_takeoff_trigger_throttle
get_pilot_desired_climbrate can be used instead.
2016-08-05 12:40:37 +09:00
Randy Mackay d1e257d5b6 Copter: remove unused get_throttle_pre_takeoff 2016-08-05 12:40:37 +09:00
Jonathan Challinger 80f3541933 Copter: add configurable arming delay 2016-08-04 15:19:22 +09:00
Jonathan Challinger 4a6cc75ebb Copter: whitespace change 2016-08-04 15:17:38 +09:00
Randy Mackay 595aea236a Copter: consolidate throw mode state into structure 2016-08-02 20:25:52 +09:00
Randy Mackay 807e930251 Copter: throw uses motor spooling instead of interlock 2016-08-02 20:25:52 +09:00
Randy Mackay f4f13bbe6b Copter: add throw mode logging 2016-08-02 20:25:52 +09:00
Randy Mackay f0f87a2f0c Copter: add throw_nextmode
vehicle switches to mode specified in THROW_NEXTMODE parameter after the
throw is completed.
2016-08-02 20:25:52 +09:00
Randy Mackay 64ac18da6c Copter: move throw state into structure
This makes it easier to add more state which is required for the follow throw_nextmode change
2016-08-02 20:25:52 +09:00
Randy Mackay 1161417d7f Copter: add GUIDED_NOGPS flight mode
This mode is a cut down version of Guided mode that only accepts attitude commands.
This mode does not require a GPS lock
2016-08-02 18:25:59 +09:00
Randy Mackay 49674abb21 Copter: guided mode's velocity controller stops before fence 2016-07-25 20:24:37 +09:00
Randy Mackay dc52f3b2df Copter: guided mode applies acceleration limits to velocity controller 2016-07-25 20:24:37 +09:00
Randy Mackay 6118bf1b14 Copter: remove adsb sensor library based avoidance
adsb based avoidance has been moved to AP_Avoidance library
2016-07-25 20:24:37 +09:00
Randy Mackay d50987f976 Copter: avoidance_adsb implements copter avoidance using ADSB 2016-07-25 20:24:37 +09:00
Randy Mackay 68899ed921 Copter: add adsb to failsafe structure and report in heartbeat to GCS 2016-07-25 20:24:37 +09:00
Andrew Tridgell 387da40fc5 ArduCopter: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Andrew Tridgell cb5ca713a9 Copter: added AP_Button support 2016-07-22 15:01:20 +10:00
Francisco Ferreira 90a4b36263 Copter: remove pre-arm check for rally points 2016-07-22 09:00:23 +09:00
Francisco Ferreira 25fefe77b7 Copter: add AP_Rally_Copter
override default is_valid method so we can check if rally point is inside the fence, if it isn't we ignore it
2016-07-22 09:00:18 +09:00
Jonathan Challinger e22220ab62 Copter: refactor landing to reduce duplication, use vertical vel ff 2016-07-12 18:40:25 +09:00
Andrew Tridgell 3a8ed06267 Copter: added TKOFF_NAV_ALT parameter
this adds TKOFF_NAV_ALT which controls the altitude above takeoff that
navigation can begin. It is meant for unstable vehicles such as helis
to prevent blade strike during initial takeoff.

This also adds a new parameter class ParametersG2 which can hold 64
parameters. This is to avoid running out of parameters in the first
256 block
2016-07-07 14:21:47 +09:00
Randy Mackay 877a144dea Copter: pre-arm check that rally points are within fence 2016-07-04 18:25:03 +09:00
Jonathan Challinger 91a5b26725 Copter: use simplified precland interface 2016-07-04 16:57:06 +09:00