Commit Graph

170 Commits

Author SHA1 Message Date
Tatsuya Yamaguchi c42681f4f2 Copter: add exit() method to Mode class 2021-04-26 09:56:34 +09:00
Leonard Hall a29e2d8920 Copter: fix references to position error 2021-04-03 12:07:59 +09:00
Peter Barker 5edfed0083 Copter: factor out a mode-change-failed method 2021-03-30 19:58:05 +11:00
murata 31b0682246 Copter: Move the variable definition 2021-03-25 08:55:17 +09:00
Peter Barker dc793e916f Copter: move implementation of get_pilot_desired_yaw_rate into mode.cpp 2021-03-24 20:46:08 +11:00
Tatsuya Yamaguchi 0cce5699b2 Copter: change from control_mode to flightmode 2021-03-23 22:48:20 +11:00
Randy Mackay 32fb3cb929 Copter: remove unused update_navigation and run_autopilot 2021-03-23 10:12:08 +09:00
Leonard Hall 5efe94a771 Copter: use AP_Math control functions 2021-01-20 18:19:40 +11:00
bnsgeyer c75848435e Copter: fix heli land detector and incoporate reset_I_smoothly 2020-12-21 23:33:48 -05:00
Andy Piper b8f613c965 Copter: rename ADSB_ENABLED to HAL_ADSB_ENABLED and remove from config 2020-09-22 09:33:51 +10:00
Peter Barker afa153fb6f Copter: remove wrapper for get_avoidance_adjusted_climbrate
Only the modes are interested in this - there's no point having it on
the Copter object.
2020-08-22 08:31:25 +09:00
Randy Mackay 315d9da138 Copter: add ekf alt pre-arm and mode init checks 2020-08-20 12:41:40 +09:00
Peter Barker d87986ecdd Copter: move set_throttle_takeoff implementation into Mode
No callers except the mode objects, so move it.
2020-08-05 08:23:03 +09:00
Andy Piper 54c3d07547 Copter: make make/gimbal configurable on a per-board basis 2020-08-04 09:18:14 +10:00
Peter Barker 73526c0256 Copter: pass reason through in set_mode AP_Vehicle override
Other vehicles seem to do this correctly.
2020-07-28 09:10:38 +09:00
Andy Piper 12c9578a66 Copter: add in additional acro options
Air-mode for multicopters
Rate only for multicopters and trad-heli
if air-mode aux switch is toggled in acro do not reset air-mode on exit
2020-07-14 15:54:24 +09:00
Randy Mackay c4b5d47e1f Copter: white space fixes 2020-04-23 13:17:11 +09:00
murata 2822fa68fc Copter: Adding flight mode to flight mode unchangeable messages 2020-04-14 09:53:17 +09:00
Tatsuya Yamaguchi 735498e160 Copter: move zigzag exit into mode_zigzag.cpp 2020-03-26 14:56:40 +09:00
Peter Barker 136d0cce0b Copter: rewrite_get_alt_above_ground_cm for clarity
It's not entirely clear at a glance that we don't return an
uninitialised value off the stack here.
2020-03-03 21:38:03 +09:00
Andrew Tridgell dd5fafe30e Copter: added rangefinder height interpolated using inertial alt
this smooths rangefinder heights and allows for good estimated for
precision landing even with loss of some rangefinder samples during landing
2020-02-25 09:10:30 +09:00
Tatsuya Yamaguchi 9f577a23c8 Copter: stop spray if changing a mode from ZigZag to other 2020-02-19 19:56:56 +09:00
Randy Mackay b482d147df Copter: always store previous control mode
also minor spacing fixup
2019-12-12 09:13:24 +09:00
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