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