Peter Barker
10bbcf98be
Copter: tidy land_run_vertical_control for precision-landing case
2019-12-11 08:18:49 +09:00
Gone4Dirt
180d4e713c
Copter: Added autorotation flight mode and support
2019-11-29 08:06:10 +08:00
Bogdan Grigoruta
5183703243
Copter: move Mode::auto_takeoff_run to takeoff.cpp
2019-11-18 09:14:08 +09:00
Peter Barker
e6c6189fe5
Copter: cope with change in namespace of LogEvent enum
...
Also move Acro Trainer types into an enum class as the global defines
interfere with the Event names.
Also eliminate the Log_Write_Event wrappers.
2019-11-05 08:19:26 +08:00
Michael du Breuil
b42b1c08c4
Copter: Support new AP_Vehicle::set_mode
2019-10-25 08:48:22 +08:00
Leonard Hall
c11f2247eb
Copter: System ID mode
2019-10-16 08:17:09 +09:00
Randy Mackay
ca92f0505e
Copter: follow mode restores offsets to zero on exit
2019-10-07 08:30:45 +09:00
Andrew Tridgell
328fff8585
Copter: fixed RC failsafe handling for no RC receiver
...
this stops us using uninitialised values in modes like circle which
can operate either with or without RC input. If we didn't have a RC
receiver attached then they would use a maximum yaw rate (which
produces quite a spectacular result for a tuned up racing quad)
2019-09-24 10:00:36 +10:00
Peter Barker
b4537bebd8
Copter: move control_mode_t into being Mode::Number enum class
...
Fixes this compiler error:
In file included from ../../ArduCopter/sensors.cpp:1:
In file included from ../../ArduCopter/Copter.h:195:
../../ArduCopter/mode.h:1291:9: fatal error: declaration shadows a variable in the global namespace [-Wshadow]
AUTO, // after A and B defined, pilot toggle the switch from one side to the other, vehicle flies autonomously
^
../../ArduCopter/defines.h:38:5: note: previous declaration is here
AUTO = 3, // fully automatic waypoint control using mission commands
^
1 error generated.
2019-09-13 13:12:08 +09:00
Peter Barker
0ce3cd06b0
Copter: fix compilation when drift mode is disabled
2019-08-27 09:43:47 +10:00
Peter Barker
b0428f0fe8
Copter: make surface_tracking a class, various functions methods
2019-08-06 14:09:09 +09:00
Michael du Breuil
242096b65e
Copter: Send a heartbeat on mode change
2019-06-26 12:58:18 -07:00
Peter Barker
676d75c391
Copter: correct namespacing of Copter modes
...
This makes us look like Rover and Plane in terms of namespacing for the
Mode classes, and removes a wart where we #include mode.h in the middle
of the Mode class.
This was done mechanically for the most part.
I've had to remove the convenience reference for ap as part of this.
2019-06-11 09:18:22 +09:00
Pierre Kancir
c2811ea144
ArduCopter: respect yaw orientation on LAND
2019-04-23 09:35:02 +09:00
Randy Mackay
b7d0e4ec10
Copter: remove surface tracking shim functions
2019-04-19 07:45:52 +09:00
Randy Mackay
01909cf4c8
Copter: zigzag mode gets terrain following support
2019-04-19 07:45:52 +09:00
Randy Mackay
89eb876faf
Copter: move surface tracking variables into structure
2019-04-19 07:45:52 +09:00
Randy Mackay
33a57361bd
Copter: reduce args passed to get_surface_tracking_climb_rate
...
The same arguments are always passed in
2019-04-19 07:45:52 +09:00
Pierre Kancir
caf925eda5
Copter: factorize arm or land check
2019-04-16 10:17:47 +09:00
Peter Barker
46a6f45e4a
Copter: adjust for desired spool state and spool state renames
2019-04-14 12:18:03 +09:00
Peter Barker
5db75b313d
Copter: use floats for roll/pitch
...
Otherwise we're taking floats, making them int32 and then making them
floats again when calling the attitude controller
2019-04-09 09:21:12 +09:00
Peter Barker
e5b25824eb
Copter: remove unused takeoff_trigger_dz parameter
2019-04-09 08:15:39 +10:00
bnsgeyer
94738c3f86
Copter: change make_safe_shut_down to make_safe_spool_down
2019-04-08 09:42:21 +09:00
Randy Mackay
a6bfafefb0
Copter: move loiter and wpnav init out of make_safe_shut_down
...
resolves autotest RTLSpeed test failure
2019-04-08 09:42:21 +09:00
Leonard Hall
38cc5a817f
Copter: consolidate mode state decisions
...
bnsgeyer and rmackay9 contributed to these changes
make_safe_shut_down waits for spool down before disarming
remove use of attitude_control::set_throttle_out_unstabilized to consolidate logic between multicopters and tradhelis
2019-04-08 09:42:21 +09:00
bnsgeyer
d949c80d54
Copter: tradheli replaces rotor_runup_complete with spool state
2019-04-08 09:42:21 +09:00
Peter Barker
3b33f4ca4d
Copter: add floating-point-constant designators
2019-04-05 23:04:17 -07:00
Peter Barker
e9398e73ff
Copter: tidy get_pilot_desired_throttle
2019-03-27 18:03:56 +11:00
Peter Barker
c1c71fec23
Copter: move Mode functions into mode.cpp from Attitude.cpp (NFC)
2019-03-27 14:02:31 +11:00
Peter Barker
7e01d1ef50
Copter: correct compilation for ERROR_SUBSYSTEM_FLIGHT_MODE changing names
2019-03-27 13:23:12 +11:00
Peter Barker
c7e21d95ef
Copter: move Log_Write_Error into library
2019-03-27 12:36:40 +11:00
Peter Barker
335c1769ee
Copter: do not allow change to Drift if in non-manual-throttle mode
...
drift acts just like stabilise or acro in terms of pilot throttle when
pilot input is maxed.
2019-03-26 20:57:15 +11:00
Peter Barker
d95160b33c
Copter: move check for high-throttle on mode change up
2019-03-26 20:57:15 +11:00
Peter Barker
34d9ce27af
Copter: make get_pilot_desired_throttle a method on Mode
2019-03-26 20:57:15 +11:00
Patrick José Pereira
33764d6c3b
Copter: Fix typo
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-03-26 15:39:23 +11:00
Peter Barker
451f5f17ce
Copter: move devo telemetry handling to GCS
2019-03-19 14:39:14 +11:00
Peter Barker
e22b29bce4
Copter: FrSky support has moved to GCS
2019-03-19 14:39:14 +11:00
Peter Barker
366051c39f
Copter: use enum class for AltFrame enumeration
2019-03-19 10:31:18 +11:00
Peter Barker
fab2d59a1c
Copter: move check for position up
2019-03-01 13:43:20 +09:00
Peter Barker
2c814e9de2
Copter: get_alt_above_ground to get_alt_above_ground_cm
2019-02-26 19:31:41 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
937e05bb2a
Copter: small precision landing improvements
2019-02-07 10:54:58 +09:00
Peter Barker
3521d98b52
Copter: move handling Write_Event into AP_Logger
2019-02-04 09:30:07 +09:00
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
2019-01-18 18:08:20 +11:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Peter Barker
845f015648
Copter: adjust for Location_Class and Location unification
2019-01-16 11:45:29 +11:00
Randy Mackay
50c5ad7076
Copter: TradHelis force spool up before takeoff
2019-01-15 11:41:44 +09:00
bnsgeyer
ca565675f2
Copter: Tradheli gets support for spool logic
2019-01-15 11:41:44 +09:00
bnsgeyer
12f4d8518e
Copter: Tradheli moves init_targets_on_arming flag to motors
2019-01-15 11:41:44 +09:00
Leonard Hall
2ddb3f6697
Copter: desired-ground-idle replaces spin-when-armed
2019-01-15 11:41:44 +09:00
Francisco Ferreira
a2fa63bcf7
Copter: fix Cygwin build
...
Static initialization doesn't have an exact order, we can't rely on it
2018-12-13 09:28:44 +09:00
murata
b252eae404
Copter: Flip mode is an option.
...
Copter: Flip mode is an option.
2018-11-26 09:29:47 +09:00
Pierre Kancir
c50eed5e9a
Copter: log and notify when manual land repositionning is active
2018-11-13 10:14:54 +09:00
Peter Barker
5f552a6ce3
Copter: stop shadowing members of Copter
...
These references were taken to make the breaking out of Modes in Copter.
A lot of other code has already caused these sorts of things to go away,
but these particular ones seem reasonable to fix by pointing the users
at the copter object directly.
2018-10-16 10:17:12 +11:00
Peter Barker
26ca75efae
Copter: make libraries get EKF control limits themselves
2018-10-09 10:47:38 +11:00
CAO MUQING
71beab7502
Copter: create and update Zigzag flight mode
2018-10-05 10:05:45 +09:00
Michael du Breuil
7e1ed948f5
Copter: Cope with AC_PosControl renaming
2018-09-20 15:15:45 -07:00
Peter Barker
22f7f29045
Copter: move all of waypoint-takeoff into Mode namespace
2018-07-27 13:08:27 +10:00
Peter Barker
ff17c78c67
Copter: create Copter::Mode::_TakeOff subobject from takeoff_state
2018-06-26 09:11:21 +09:00
Peter Barker
7883582c65
Copter: move takeoff state into Mode class
2018-06-26 09:11:21 +09:00
Peter Barker
ab68e4fe8b
Copter: log quiet-nan for rangefinder-desired-alt when not using it
2018-06-06 08:33:56 +09:00
night-ghost
51a189e906
ArduCopter: devo telemetry support (RX705/707)
2018-04-24 10:44:28 +10:00
Peter Barker
8648db06b4
Copter: create autoyaw.cpp from all the bits of Copter::Mode::AutoYaw
2018-04-18 13:27:43 +09:00
Peter Barker
ba8b3e2415
Copter: create an AutoYaw helper object to hold auto-yaw state
2018-04-18 13:27:43 +09:00
Peter Barker
d0425c7b2f
Copter: correct compilation when precland is disabled
...
Closes #8098
2018-04-07 09:44:43 +09:00
Randy Mackay
59e4749fd0
Copter: integrate AC_Loiter
...
includes param conversion
2018-04-04 10:45:10 +09:00
Ebin
914f3385a4
ArduCopter: Moved land control fn definitions to mode.cpp (NFC)
2018-03-29 16:54:54 +01:00
Ebin
d8f56b3511
ArduCopter: changed signature for get_pilot_desired_lean_angles()
...
Removes first two redundant input parameters, makes fn non static, makes fn const
2018-03-19 17:51:39 +09:00
Leonard Hall
93de23e7c4
Copter: get-pilot-desired-lean-angles accepts another angle-max
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
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
Peter Barker
199455dc56
Copter: add chase mode
2018-03-05 15:08:08 +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
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
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
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
Peter Barker
d1201e4776
Copter: tidy zero_throttle_and_relax (NFC)
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
bf5f51a616
Copter: factor out takeoff_trigger from althold, sport and loiter
2017-12-14 23:45:54 +00: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