Commit Graph

740 Commits

Author SHA1 Message Date
Miloš Petrašinović 063e24c723 Copter: fix userhook aux switches
Functions userhook_auxSwitch1, userhook_auxSwitch2, and userhook_auxSwitch3 had the wrong argument type resulting in a compilation error.
2021-12-01 07:44:25 +09:00
Randy Mackay 02ad9879fa Copter: surface tracking timeout fix
also restructure update_surface_offset and add comments

Co-authored-by: Leonard Hall <leonardthall@gmail.com>
2021-11-17 08:09:00 +09:00
Peter Barker 238a6e4016 ArduCopter: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker ee9aef25fc ArduCopter: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Peter Barker 6228cf25dc Copter: remove unimplemented update_proximity declaration 2021-11-15 07:57:34 +09:00
Shiv Tyagi 477f2824b9 Copter : initialise surface to be tracked
This sets the surface to be tracked in SurfaceTracking with the value of SURFTRAK_MODE parameter.

Co-Authored-By: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2021-11-13 11:52:38 +09:00
Bill Geyer 8ef88fb98e Copter: add collective stick low flag to catch bad setups for land detector 2021-11-10 16:45:17 -05:00
Peter Barker a88264d73b ArduCopter: handle renaming of AP_InertialNav_NavEKF to AP_InertialNav 2021-10-20 18:09:36 +11:00
Peter Barker 1aefa1b378 ArduCopter: move SITL object up to AP_Vehicle 2021-10-19 11:34:43 +11:00
Peter Barker cfd686c772 Copter: stop passing current_loc into AP_Camera 2021-09-29 18:33:01 +10:00
Iampete1 456d57c28f Copter: rename armed_with_switch to armed_with_airmode_switch 2021-09-21 09:36:24 +10:00
Andrew Tridgell ab36dc0ed9 Copter: moved accel cal update to vehicle code 2021-09-17 14:07:14 +10:00
Pierre Kancir 7e1716eaeb Copter: Classify failsafe action definitions 2021-09-15 18:04:58 +10:00
Leonard Hall 5fea74d4d0 Copter: Separate landing and terrain following. 2021-09-06 16:00:19 +09:00
Randy Mackay da12593bd8 Copter: implement new set_target methods 2021-08-26 11:25:54 +09:00
Peter Barker 3a3433cad2 ArduCopter: add and use HAL_BUTTON_ENABLE 2021-08-25 19:03:42 +10:00
Randy Mackay 8c5b079d8e Copter: implement get_circle_radius, set_circle_rate 2021-08-25 18:39:09 +10:00
Iampete1 0895cf0a07 Copter: remove gesture compass cal start / stop 2021-08-24 08:51:29 +09:00
Rishabh c5b98c3490 Copter: Support Prec Land State Machine 2021-08-23 15:00:56 +09:00
Andy Piper 1b5ed1caff Copter: add turtle mode
add turtle mode as an RC function
add turtle mode arming checks
re-use motortest arming checks for turtle mode
2021-08-12 19:00:51 +09:00
Peter Barker 14e5c99b0c ArduCopter: log GPS primary change event in GPS library 2021-08-06 15:30:18 +10:00
Iampete1 9f5591be02 Copter: notify buzzer on every flight mode change 2021-08-05 14:42:42 +10:00
bugobliterator 7e01e10056 Copter: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Iampete1 c2a6377c53 Copter: #ifdef scripting specific functions 2021-07-28 18:18:32 +10:00
Iampete1 6561669213 Copter: support Auto RTL for failsafe events 2021-07-27 09:00:11 +09:00
Peter Barker e74a8e28af ArduCopter: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Randy Mackay d39581f996 Copter: replace use of TERRAIN_MARGIN with WPNAV_TER_MARGIN 2021-07-21 16:03:44 +09:00
Peter Barker 3684741517 ArduCopter: remove AC_TERRAIN compilation option
Use AP_TERRAIN_AVAILABLE instead
2021-07-12 17:34:44 +10:00
Randy Mackay 7dcc5dd7ac Copter: add TERRAIN_MARGIN parameter 2021-07-10 20:25:05 +09:00
Randy Mackay ba1951a372 Copter: guided accepts terrain alt position targets 2021-07-10 20:25:05 +09:00
Leonard Hall 635d13a106 Copter: support for acceleration-based AttitudeControl 2021-07-10 20:25:05 +09:00
Shiv 4a39424d6b Copter: added comments to include libraries in copter.h and attitude.cpp
fixed typo in a comment and added more comments for included libraries in copter.h and fixed a comment in attitude.cpp
2021-06-30 09:23:24 +09:00
Peter Barker b9c1633358 ArduCopter: remove pointless init_optflow wrapper
Hiding a one-line call in a wrapper just adds size to the build
2021-05-28 13:41:50 +09:00
Peter Barker 5df8dd8c50 Copter: move guided submode enumeration into ModeGuided 2021-04-14 16:12:57 +09:00
Peter Barker fa9ac072ec Copter: remove unused AP_IRLock include
This header is included as required by the AC_PrecLand library - it is
now responsible for actually instantiating the AP_IRLock instance if
required, so Copter doesn't need to know anything about AP_IRLock.
2021-04-14 12:01:12 +10:00
Peter Barker 65b1868863 Copter: move precision landing logging up into AC_PrecLand 2021-04-13 10:28:39 +10:00
Peter Barker 09a9bd73a4 ArduCopter: move handling of last-seen-SYSID_MYGCS up to GCS base class 2021-04-07 17:54:21 +10:00
Peter Barker 5edfed0083 Copter: factor out a mode-change-failed method 2021-03-30 19:58:05 +11:00
Peter Barker 1e0f106ed4 Copter: make AutoTune object private state to ModeAutoTune 2021-03-30 11:23:10 +11:00
Randy Mackay 91fa40aea6 Copter: HAL_PROXIMITY_ENABLED replaces PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Peter Barker 45d484c0ba ArduCopter: remove Log_Write_Performance which is not called anywhere 2021-03-26 16:35:08 +11:00
Peter Barker dc793e916f Copter: move implementation of get_pilot_desired_yaw_rate into mode.cpp 2021-03-24 20:46:08 +11:00
Emre Saldiran d5715292a3 Copter: implement set_target_posvel_NED method for use in scripting 2021-03-24 08:55:48 +09:00
Tatsuya Yamaguchi 0cce5699b2 Copter: change from control_mode to flightmode 2021-03-23 22:48:20 +11:00
Tatsuya Yamaguchi ed8384b45a Copter: add option to disable LANDING_GEAR 2021-03-17 10:41:11 +09:00
James O'Shannessy a88f2721a8 ArduCopter: Use auto enable and auto disable from AC_Fence 2021-03-05 14:52:46 +11:00
James O'Shannessy f228adfa75 ArduCopter: Improve auto-enable/disable of fence 2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 92122e5133 Copter: automatically enable and disable floor fence on automated takeoff and landing 2021-03-05 14:52:46 +11:00
Iampete1 2e9c11fbdf Copter: add FLIGHT_OPTIONS param and options bits to disable thrust loss and yaw imbalance warnings 2021-03-02 09:35:06 +09:00
Iampete1 447af29ef1 Copter: add yaw imbalance check 2021-03-02 09:35:06 +09:00
Rishabh fdd39ca3a8 Copter: Check for height before turning on proximity simple avoidance 2021-02-16 20:08:00 +09:00
Iampete1 d6fa4d97e3 Copter: add 6DoF support 2021-02-09 12:43:54 +09:00
Mark Whitehorn f405454aba Copter: add nullptr checks for get_frame_string
fix rebase errors
2021-02-09 12:43:53 +11:00
Mark Whitehorn cb687a6fff Copter: move get_frame_string to Motors class 2021-02-09 12:43:53 +11:00
Patrick José Pereira ad82e01270 ArduCopter: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker adc0514cf6 ArduCopter: move control_mode_reason up to AP_Vehicle 2021-02-03 18:24:52 +11:00
Iampete1 0a23084d43 Copter: move get_frame_mav_type to motors 2021-01-26 11:07:36 +09:00
yaapu 497dbd1414 ArduCopter: added virtual getters for waypopint info 2020-12-10 12:39:44 +11:00
Andy Piper 304d05f918 Copter: allow OSD for TX-only screens 2020-11-11 18:13:11 +11:00
Paul Riseborough 379506b718 ArduCopter: Don't request EKF yaw reset unless innovations are large
This prevents unwanted resets if GPS fails.
2020-10-30 14:45:40 +09:00
Andy Piper e22f7ed353 Copter: remove duplicate include 2020-09-24 08:22:16 -07:00
Andy Piper b8f613c965 Copter: rename ADSB_ENABLED to HAL_ADSB_ENABLED and remove from config 2020-09-22 09:33:51 +10:00
Iampete1 c265a38344 Copter: add gripper release FS_Option 2020-08-26 17:58:24 +09: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
Michael du Breuil 376494027b Copter: Support higher resolution percent based motor tests 2020-08-09 13:47:48 +10:00
Randy Mackay 925f76c048 Copter: integrate winch changes
includes the following changes
winch_update called at 50hz
removed ability to set winch rate from ch6 tuning
remove wheel encoder
call winch library to log at 10hz
fix winch param prefix
2020-08-07 21:55:07 +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
Mirko Denecke 89d423556c ArduCopter: update_trigger() is now called in AP_Camera update() 2020-07-15 08:37:28 +09:00
Randy Mackay 980c1f5020 Copter: update ekf terrain height stable setting
setting is true only when taking off or landing and horizontal speed is no more than 0.5m/s
2020-06-24 21:16:50 +09:00
Andy Piper 25dcc1a623 Copter: add support for individually tracking fft peaks and motor rpms with harmonic notches
log harmonic notch even if FFT is disabled. Fallback to throttle notch for BLHeli
move harmonic notch update to AP_Vehicle
2020-06-21 19:09:35 +10:00
Iampete1 e797685771 Copter: add set guided mode angle for scripting 2020-06-19 10:09:35 +10:00
Andy Piper 8d2f2443a2 Copter: add air mode aux function 2020-06-16 20:30:26 +10:00
Peter Barker 0eb03ba7d5 Copter: make SuperSimple type-safe 2020-06-16 19:39:42 +10:00
Peter Barker 9b64ca040d Copter: do not adjust trims while landed
Closes #1282

Also cancels autotrim if you change modes, disarm the vehicle or land
again.
2020-06-03 16:19:01 +10:00
Randy Mackay 680e417c2c Copter: remove unnecessary includes 2020-04-24 18:18:05 +09:00
Randy Mackay 04c3f040a8 Copter: visual odometry moved to AP_Vehicle 2020-04-09 19:41:08 +09:00
Randy Mackay e2469d29bc Copter: implement start_takeoff and set_target_velocity_NED for use in scripting 2020-03-19 15:17:11 -07:00
Randy Mackay a9630d67d1 Copter: implement set_target_location method 2020-03-03 10:06:38 -07:00
Randy Mackay 9a32b3bdd9 Copter: rename update_throttle_mix
was called update_throttle_thr_mix
also minor formatting fixes
2020-02-25 16:52:40 +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
murata 94901edaf2 Copter: Match the column of element description 2020-02-19 09:44:57 +09:00
Peter Barker 1424945c14 ArduCopter: remove unused compass_init_location state 2020-02-18 10:35:49 +11:00
Peter Barker 18670d681e Copter: let AP_Vehicle handle loop() 2020-02-06 14:41:06 +11:00
Peter Barker 9e8af48cce ArduCopter: move some common init_ardupilot code up to AP_Vehicle 2020-01-28 11:34:51 +11:00
Peter Barker debedd9d34 Copter: move setup method up to AP_Vehicle base class 2020-01-28 11:34:51 +11:00
Peter Barker 9466126fa8 Copter: let AP_Vehicle base class worry about scheduler delay callback 2020-01-21 11:37:28 +11:00
Andrew Tridgell 4445313661 Copter: fixed build warnings 2020-01-18 17:19:07 +11:00
Andrew Tridgell 1fae2009db Copter: update for new SRV_Channels parameter conversion call 2020-01-14 14:23:11 +11:00
Tatsuya Yamaguchi e01e924711 Copter: allow scripts to get modes 2020-01-14 11:16:29 +11:00
bnsgeyer 64f98622c0 Copter: fix tradheli RSC RC passthrough mode
Copter: heli get_pilot_desired_rotor_speed converts interlock input to desired rotor speed
2020-01-09 19:55:02 +09:00
Peter Barker 1ff07762de Copter: remove report_compass method
This wasn't actually responsible for saving offsets any more.

The data spewed out was rather unlikely to be seen, and will be present
in logs anyway.
2020-01-04 10:46:51 +09:00
Peter Barker 2694560c38 Copter: generally unseen remove report_version
This won't generally be seen or useful to anyone
2020-01-04 10:46:51 +09:00
Peter Barker 326a569ea8 Copter: remove dangling read_control_switch method declaration 2020-01-02 10:13:35 +09:00
Randy Mackay 3e7fb66a77 Copter: precision landing does not use terrain database
precision landing was always only using the range finder, there was no use of the provided alt unless the rangefinder was good
2019-12-17 20:02:01 +09:00
Randy Mackay f768e80458 Copter: remove unused prev_control_mode_reason 2019-12-12 09:13:24 +09:00
Peter Barker 544eb5f179 Copter: correct duplicate button instance 2019-12-10 09:29:52 +09:00
Peter Barker 62869b5be8 Copter: vehicle parent class now instantiates AHRS 2019-12-02 09:16:22 +11:00
Gone4Dirt 180d4e713c Copter: Added autorotation flight mode and support 2019-11-29 08:06:10 +08:00
Randy Mackay adc1d60ea5 Copter: CTUN logging fix for SAlt
sonar altitude was not being logged in modes that don't use surface tracking including Auto
SAlt scaling was also incorrect
2019-11-12 09:10:21 +08:00
Peter Barker 201adb6818 Copter: correct Heli compilation when some modes are disabled 2019-11-06 16:36:35 +11:00
Peter Barker 38d3c2daa1 Copter: stop providing current location to mount 2019-11-05 19:55:45 +11: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
Matt Lawrence f71ef4c7ab Copter: Refactor failsafes, add fs_options bitmask parameter
- Radio failsafe, battery failsafe, GCS failsafe refactoring
- Add new FS_OPTIONS parameter
- Enhance GCS Failsafe abilities
2019-11-03 07:07:34 +08:00
Peter Barker b6920e14c8 Copter: remove redundant SurfaceTracking enumeration namespacing
Also rename State to Surface to be more specific about what is being
set/tracked.
2019-10-26 08:08:22 +08:00
Michael du Breuil b42b1c08c4 Copter: Support new AP_Vehicle::set_mode 2019-10-25 08:48:22 +08:00
Randy Mackay 7b0da89708 Copter: add vibration check 2019-10-18 11:15:25 +09:00
Leonard Hall 50a098c359 Copter: Standby functions 2019-10-17 14:57:18 +09:00
Leonard Hall c11f2247eb Copter: System ID mode 2019-10-16 08:17:09 +09:00
Randy Mackay 36327d56de Copter: reject reboot request from GCS if auto esc cal on next reboot
this resolves an edge case in which the motors could spin up on the next reboot because the user didn't unplug the battery to reboot the flight controller
2019-10-15 07:41:44 +09:00
Andy Piper 8ce7f02167 ArduCopter: add functions to update dynamic notch frequency. Periodically log the frequency.
tradheli- make RPM sensor input to harmonic notch in hertz
2019-10-10 20:26:02 +09:00
Peter Barker 9e5d5c023c Copter: move many members up to base class 2019-10-08 11:26:04 +11:00
Peter Barker 95f81297d9 Copter: become an AP_Vehicle 2019-10-08 11:26:04 +11:00
murata abb91fc33a Copter: Change external button specification to option
Copter: Change the definition name from BUTTON to BUTTON_ENABLED.
2019-10-08 08:09:19 +09:00
Randy Mackay 1c4f47f882 Copter: add upward facing surface tracking 2019-09-28 11:13:14 +09:00
Randy Mackay d5d7fbe761 Copter: rangefinder glitch detection moved to read_rangefinder 2019-09-28 11:13:14 +09:00
Randy Mackay 808efa4c79 Copter: surface tracking format fixes 2019-09-28 11:13:14 +09: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
Randy Mackay 709c874d8b Copter: integrate AP_OAPathPlanner 2019-08-17 09:42:43 +09:00
Peter Barker 4fa83ed40d Copter: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Peter Barker c0e8d319c6 Copter: make surface tracking adjust_climb_rate take a float
Its callers all pass in floats and we return a float, so stop going via
an int16_t
2019-08-06 14:09:09 +09:00
Peter Barker b0428f0fe8 Copter: make surface_tracking a class, various functions methods 2019-08-06 14:09:09 +09:00
Peter Barker 97bb846310 Copter: RangeFinder uses AP_SerialManager singleton 2019-07-16 09:29:48 +10:00
Peter Barker 9412075b9c Copter: avoidance no longer takes ahrs in constructor 2019-07-16 09:29:48 +10:00
Peter Barker e977fce3ad Copter: stop passing relay and ahrs into camera constructor 2019-07-09 09:32:39 +10:00
Peter Barker 05925b57ad Copter: mark position_ok methods as const 2019-07-09 09:26:45 +10:00
Peter Barker eb82126758 Copter: ServoRelayEvents uses Relay singleton 2019-07-03 23:59:24 -07:00
Peter Barker cf45108efb Copter: set Heli frame default at compile-time 2019-07-04 10:05:01 +09:00
Peter Barker bb3d2a0b37 Copter: pass GCS_MAVLink object rather than channel number in motortest 2019-07-02 10:04:56 +10:00
Peter Barker f3c1791341 Copter: stop passing gcs chan into method which wants an object 2019-06-25 09:45:54 +10:00
Michael du Breuil df37a3d603 Copter: Remove wrapper around MAVLink send heartbeat 2019-06-18 13:59:52 +01: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
Peter Barker 9f6b48b743 Copter: remove unneeded initialisation 2019-06-03 16:48:38 +09:00
Peter Barker 6dce39cbe1 Copter: use AP_Arming methods to arm and disarm vehicle
Really just changing the namespace of init_arm_motors
2019-05-30 07:37:30 +09:00
Peter Barker 3ef84d2b96 Copter: stop passing references to AC_Avoid constructor 2019-05-22 07:48:02 -06: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 4f29d2e5a6 Copter: factorize esc calibration setup 2019-04-09 08:44:46 +09:00
Randy Mackay a5bdd12bfa Copter: replace TUNE_LOW/HIGH params with TUNE_MIN/MAX
change from uint16 to floats to ease setup
also add check that no function assigned to rc6
2019-04-08 15:24:00 +09:00
bnsgeyer d949c80d54 Copter: tradheli replaces rotor_runup_complete with spool state 2019-04-08 09:42:21 +09:00
Michael du Breuil d1246f5868 Copter: Fix RangeFinder init 2019-04-06 09:15:22 +11:00
Michael du Breuil 0e8c3dc485 Copter: include FWversion 2019-04-05 20:12:53 +11:00
Peter Barker 2040580ce7 Copter: move enabled parameter into compass library 2019-04-02 10:24:49 +11:00
Tom Pittenger 7824b64ad6 Copter: rename dataflash to logger 2019-03-28 16:40:57 +11:00
Peter Barker 8441542a52 Copter: remove climb_rate cache of inertial_nav.get_velocity_z
There were only two users of it and dozens of places using
get_velocity_z
2019-03-28 12:10:31 +11:00
Peter Barker c7e21d95ef Copter: move Log_Write_Error into library 2019-03-27 12:36:40 +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