Commit Graph

581 Commits

Author SHA1 Message Date
Leonard Hall 635d13a106 Copter: support for acceleration-based AttitudeControl 2021-07-10 20:25:05 +09:00
Peter Barker af357ee45c ArduCopter: remove misleading NOINLINE comment
NOINLINE hasn't been used in years in these files
2021-07-08 21:28:38 +10:00
Stephen Dade 6c02cd1b54 ArduCopter: Add support for HIGH_LATENCY2 messages 2021-07-07 17:10:05 +10:00
Peter Barker c2c013964d ArduCopter: tidy frame description strings
Before: AP: Frame: TRI/
After: AP: Frame: TRI
2021-06-21 16:30:37 +10:00
Peter Barker cdbf6d216e ArduCopter: remove HIL support 2021-06-15 09:47:31 +10:00
Leonard Hall 4bae8f03a4 Copter: Use PosControl fixes 2021-05-24 20:13:37 +10:00
Pierre Kancir e0d181a793 Copter: use MAVLink POSITION_TARGET_TYPEMASK 2021-05-11 09:53:50 +10:00
Randy Mackay 5fcd2de4fa Copter: attitude target thrust-as-thrust bit moved from DEV_OPTIONS to GUID_OPTIONS 2021-04-20 09:56:38 +10:00
Peter Barker ff072c5215 Copter: stop sending POSITION_TARGET_LOCAL_NED in guided-angle mode
The values we were sending through were not relevant
2021-04-14 16:12:57 +09:00
Peter Barker 5df8dd8c50 Copter: move guided submode enumeration into ModeGuided 2021-04-14 16:12:57 +09:00
Andrew Tridgell 5a869174e5 Copter: use handle_landing_target() for precland
allows for jitter correction
2021-04-13 17:30:19 +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
Tatsuya Yamaguchi 0cce5699b2 Copter: change from control_mode to flightmode 2021-03-23 22:48:20 +11:00
Randy Mackay 2d9c6867f4 Copter: accept MISSION_START commands when vehicle is disarmed 2021-03-23 10:12:08 +09:00
Tatsuya Yamaguchi ed8384b45a Copter: add option to disable LANDING_GEAR 2021-03-17 10:41:11 +09:00
Randy Mackay be29b23195 Copter: do-mount-control ignored if no mount
Co-authored-by: srirajshukla <srirajshukla@gmail.com>
Co-authored-by: Yash Vadi <yvadi9274@yahoo.com>
2021-03-16 10:07:16 +09:00
Tom Pittenger 38fd43ac2c Copter: change SRx_ docs value 1 50 2021-03-03 18:17:22 +11:00
Hwurzburg 7d7a7a365d Copter: correct metadata for do_change_speed cmd 2021-02-24 16:06:41 +09:00
Randy Mackay 97c1445bce Copter: ensure send_position_target_global_int alt always absolute 2021-02-15 17:39:07 +11:00
Peter Barker ea0efd3a1a Copter: correct documentation of use of DO_CHANGE_SPEED parameter 2021-02-15 15:44:17 +11: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
Iampete1 0a23084d43 Copter: move get_frame_mav_type to motors 2021-01-26 11:07:36 +09:00
Peter Barker 65adf5b4a9 ArduCopter: add do_disarm_checks boolean to disarm call
this creates symmetry between arming and disarming, at least as far as
the top-level arm() and disarm() calls are concerned.
2021-01-12 08:48:44 +09:00
murata 5ca7e03eeb Copter: tidy handling of DO_FLIGHT_TERMINATION 2021-01-05 16:48:15 +11:00
Andrew Tridgell abd3ae8f3b Copter: added mavlink reporting of airspeed and wind
when we have EKF3 estimation available
2020-12-11 15:21:41 +11:00
Peter Barker af53f9ce64 Copter: correct compilation when AUTO/RTL are disabled 2020-10-06 11:25:09 +11:00
Andy Piper b8f613c965 Copter: rename ADSB_ENABLED to HAL_ADSB_ENABLED and remove from config 2020-09-22 09:33:51 +10:00
Randy Mackay 2398b5dec4 Copter: guided consumes set-pos-target-local-ned Z-axis as offset from origin 2020-09-01 10:27:18 +10:00
Peter Barker 76e5ae9b41 Copter: move mavlink set-position defines into mavlink library 2020-08-11 09:52:52 +09:00
Peter Barker 66e0afedb2 Copter: correct motor test order parameter description 2020-08-10 09:18:05 +10:00
Michael du Breuil 376494027b Copter: Support higher resolution percent based motor tests 2020-08-09 13:47:48 +10:00
Randy Mackay 54b714a24e Copter: implement send_winch_status 2020-08-07 21:55:07 +09: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
Andy Piper 54c3d07547 Copter: make make/gimbal configurable on a per-board basis 2020-08-04 09:18:14 +10:00
Randy Mackay 30c8d7bf40 Copter: dev option so set-attitude-target thrust field used as thrust 2020-08-01 08:32:23 +09:00
Michael du Breuil 08f8a41ecb Copter: Support DO_LAND_START as an adhoc MAVLink command 2020-07-17 09:15:05 +09:00
Michael du Breuil c971fe0ca4 Copter: Support MAV_CMD_DO_REPOSITION on COMMAND_INT 2020-07-07 10:34:19 +10:00
Peter Barker b64a34fc38 Copter: add GENERATOR_STATUS to STREAM3 2020-07-03 08:21:42 +09:00
Iampete1 13d6a887fd Copter: align GCS PID with logged 2020-05-19 09:04:16 +10:00
Randy Mackay b32c5a840b Copter: do not send ahrs3 mavlink message 2020-04-22 14:11:17 +09:00
Peter Barker bf79c49c23 ArduCopter: remove comment for already-removed in-delay-callback function
These are now attached to completely unrelated functions, which is
pretty bad.
2020-04-16 15:11:35 +09:00
Randy Mackay 255c5d4126 Copter: set-pos-target-global-int fails sooner if accel given
same change for set-position-target-local-ned processing
2020-03-02 14:26:33 +09:00
Randy Mackay b21ecda76f Copter: fix guided mode handling of terrain altitudes 2020-03-02 14:26:33 +09:00
Peter Barker ce5f23810b ArduCopter: log disarm method 2020-02-22 12:16:29 +11:00
Randy Mackay d04c86be1e Copter: minor format changes to GCS_MAVlink.cpp 2020-02-17 14:42:49 +09:00
Sachchit Vekaria f6125b26e8 Copter: Allowing Terrain Following in Guided Mode
Uses frame type of MAVLINK_MSG_ID_SET_POSITION_TARGET_GLOBAL_INT message to decide the value of terrain_alt boolean.
2020-02-17 14:42:42 +09:00
Peter Barker 9466126fa8 Copter: let AP_Vehicle base class worry about scheduler delay callback 2020-01-21 11:37:28 +11:00
Peter Barker a56ab9136e Copter: let GCS base class handle proximity and rangefinder messages 2019-12-24 12:08:54 +11:00
Peter Barker 46832e9dee Copter: rename system_status as it won't be called from base class 2019-11-27 14:27:53 +11:00
Peter Barker 5d1261da73 Copter: rename parameter to avoid name conflict with lock 2019-11-12 16:33:12 +11:00
Mark Whitehorn 6dd28f7d74 ArduCopter: change in_sensor_config_error to in_config_error 2019-11-08 10:14:34 +11:00
Peter Barker 976acb3a58 Copter: let GCS superclass specify compass and param float capabilitiy 2019-11-05 11:26:23 +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
Michael du Breuil b42b1c08c4 Copter: Support new AP_Vehicle::set_mode 2019-10-25 08:48:22 +08: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
Peter Barker 1b29cf14a6 Copter: remove get_advanced_failsafe override; singleton to be used 2019-09-17 09:13:43 +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 f8f5e7f5ae Copter: correct compilation when guided mode is disabled 2019-08-22 17:47:45 +01:00
Randy Mackay 709c874d8b Copter: integrate AP_OAPathPlanner 2019-08-17 09:42:43 +09:00
Peter Barker 48a1b2f436 Copter: avoid allocate a GCS_MAVLINK per mavlink channel 2019-08-14 18:25:43 +10:00
Peter Barker 18de327e7f Copter: tighten type on mavlink_coordinate_frame_to_location_alt_frame 2019-08-01 17:45:30 +10:00
Peter Barker 5538800ad0 Copter: use MAV_FRAME_GLOBAL instead of MAV_FRAME_GLOBAL_INT in send_position_target 2019-07-30 10:55:21 +10:00
Leonard Hall 157f786adf Global: rename desired to target in PID info 2019-07-25 17:38:15 +09:00
Pierre Kancir c330b87592 ArduCopter: pass mavlink_message_t by const reference 2019-07-16 20:51:42 +10:00
Michael du Breuil e0d7b71e95 Copter: Reduce dependency on inertial nav 2019-07-16 12:11:42 +09:00
Peter Barker 6435a867f5 Copter: split RC_CHANNELS messages onto separate ap_message ids 2019-07-09 13:08:45 +10:00
Peter Barker 332e878bae Copter: correct nullptr dereference in sensor-config error loop 2019-07-09 10:01:23 +10: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 b0beca7b01 Copter: allow GCS MAVLink base class to handle out-of-time for sending messages 2019-06-25 10:29:40 +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 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
Dr.-Ing. Amilcar do Carmo Lucas 402b1cba3f Copter: replace 4 divisions with multiplications 2019-04-24 08:52:41 -07:00
Peter Barker 7945c1fdfd Copter: mode class unfriends everyone, make relevant methods public 2019-04-20 10:04:33 +09:00
Randy Mackay 571d933b3f Copter: fix send_pid_tuning
the rate roll PID was being overwritten when PID logging was enabled
2019-04-13 13:33:52 +09:00
Pierre Kancir 43dcf066c1 ArduCopter: move check_latlng to Location 2019-04-08 12:56:01 -07:00
Rajat Singhal 49554bf8d9 Copter: Add function for sending POSITION_TARGET_LOCAL_NED message 2019-03-29 09:11:14 +11:00
Peter Barker 86bd531b24 Copter: use convenience manual_override method 2019-03-27 22:33:47 -07:00
Peter Barker 7a1648059b Copter: stop passing dataflash into handle_radio_status 2019-03-27 10:38:39 +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 f4a21d446f Copter: move command-long DO_SET_HOME up 2019-03-19 19:56:13 +11:00
Peter Barker a5c18ff8f5 Copter: move vehicle_initialised to be on GCS not GCS_MAVLink 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 85d9dd6f64 Copter: move sending of RPM message up 2019-03-16 10:33:01 +09:00
Peter Barker f189860162 Copter: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +11:00
Peter Barker 281dbfcef8 Copter: support send_extended_sys_state 2019-03-12 09:16:13 +09:00
Peter Barker eed73749f9 Copter: move sending of send_pid_tuning up 2019-03-05 10:41:56 +11:00
Andrew Tridgell ef3306d408 Copter: fixed crash on mavlink send before pos_control is allocated 2019-02-26 16:18:26 +11:00
Peter Barker a48f461158 Copter: remove position-vector methods
Both were used in just one place
2019-02-26 14:09:21 +11:00
Peter Barker 5ff80e06d1 Copter: move update_sensor_status_flags into GCS subclasses 2019-02-19 14:09:59 +11:00
Peter Barker 039aa3f3b3 Copter: move sensor flags to be a GCS thing rather than a GCS_MAVLINK thing 2019-02-19 14:09:59 +11:00
Peter Barker f759c7ac7e Copter: GCS_MAVLink takes care of mavlink capabilities 2019-02-19 13:14:52 +11:00
Peter Barker 9bc23d3f28 Copter: move try_send_message of nav_controller_output up 2019-02-19 10:08:00 +11:00
Peter Barker 0dce6172f2 Copter: use visual odometry singleton 2019-02-15 16:56:13 +11:00
Peter Barker 13db459f49 Copter: remove redundant home-setting sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker 5ae52038fa Copter: make setting of home boolean in preparation for sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker 270fa2dfb9 Copter: move handling of command-int MAV_CMD_DO_SET_HOME up 2019-02-13 09:42:26 +11:00
Peter Barker 3765bae5e0 Copter: remove checking for coordinate frames
This is very much NFC.  This change uncovers previous dead code in the
case that we are not ignoring yaw.
2019-02-12 09:07:50 +09:00
Peter Barker 243cf690da Copter: use altitude frame mapping function 2019-02-12 09:07:50 +09:00
Peter Barker 47a0796684 Copter: move handling of fence point handling up 2019-02-08 11:47:59 +09:00
Peter Barker 727d42be1c Copter: move handling of MAV_CMD_DO_SET_FENCE_ENABLED up
This has the effect of losing the statustext messages.  We should not be
sending statustext messages for things that complete successfully, and
this data is available in the fence_status mavlink message (and in
SYS_STATUS too)
2019-02-08 11:47:59 +09:00
Peter Barker 587e02e92e Copter: remove pv_ functions that duplicate Location functions 2019-02-06 11:02:50 +09:00
Peter Barker 609b4f87c5 Copter: move handling of RC_CHANNELS_OVERRIDE up 2019-02-05 13:59:21 +11:00
Peter Barker 7197cf9e5c Copter: move sending of sys_status message up 2019-02-05 11:07:39 +11:00
Randy Mackay 42c7f5ceb4 Copter: integrate WPNAV::set_speed_z split to set_speed_up and set_speed_down 2019-01-31 19:34:32 +09:00
Randy Mackay 717fb4d823 Copter: integrate AC_WPNav::get_speed rename to get_default_speed 2019-01-31 19:34:32 +09:00
Peter Barker 1412921561 Copter: move sending of fence_status message up 2019-01-31 13:44:29 +09: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
Peter Barker f48d757bd4 Copter: adjust for location flags being moved out of union 2019-01-16 11:45:29 +11:00
Michael du Breuil 6bb84bfcc5 Copter: Remove unneeded GCS rally override 2019-01-08 10:39:50 +11:00
Peter Barker 8626c9573a Copter: split SIMSTATE, AHRS2 and AHRS3 onto their own ap_message ids 2018-12-19 13:19:23 +11:00
Peter Barker 56ec2691ae Copter: split DISTANCE_SENSOR onto its own ap_message id 2018-12-19 07:24:37 +11:00
Peter Barker bfc82fb1d8 Copter: try_send_message caller checks telemetry_delayed 2018-12-18 14:25:56 +11:00
Peter Barker f8a05564e8 Copter: split SYS_STATUS and POWER_STATUS onto separate ap_messages 2018-12-18 14:05:20 +11:00
Peter Barker 0e6efd6de0 Copter: move accept_packet to GCS_MAVLink base class 2018-12-14 12:44:31 +11:00
Peter Barker 8ac5ee02ea Copter: GCS_MAVLink now uses Mission singleton 2018-12-13 10:52:52 +09:00
Peter Barker ca2a49c1c6 Copter: split MSG_SCALED_PRESSURE into three separate messages 2018-12-12 21:36:01 +11:00
Peter Barker ff89000e96 Copter: split MSG_RAW_IMU1 into per-IMU ap_messages 2018-12-10 12:52:41 +09:00
Peter Barker 3d8588a636 Copter: send both SYS_STATUS or POWER_STATUS or neither 2018-12-10 12:52:41 +09:00
Peter Barker 75fb9780f7 Copter: rename send_extended_status1 to send_sys_status 2018-12-10 12:52:41 +09:00
Peter Barker 05f2e51b4d Copter: adjust for new update entry points into GCS 2018-12-10 12:52:41 +09:00
Peter Barker 924b278120 Copter: add parameter stream to list-of-all-streams 2018-12-10 12:52:41 +09:00
Peter Barker 41ead10d22 Copter: rename MSG_EXTENDED_STATUS2 to MSG_MEMINFO 2018-12-04 18:01:38 +11:00
Peter Barker 7e76871b9e Copter: rename MSG_RAW_IMU2 and MSG_RAW_IMU3 to reflect what they send 2018-12-04 17:45:32 +11:00
Peter Barker ee5339f931 Copter: remove pointless wrappers around gcs functions 2018-11-23 10:56:17 +11:00
Peter Barker 33d40500ac Copter: move sending of optical flow status up to base class 2018-11-13 10:40:23 +11:00
Peter Barker 73940df48e Copter: move mission into mode_auto 2018-11-09 13:35:40 +09:00
Peter Barker 72440e2af3 Copter: allow VFR_HUD.alt to be relative-alt if DEV_OPTIONS has bit 2 set 2018-11-06 11:26:38 +09:00
Peter Barker 1d322046b0 Copter: tidy up send_pid_tuning 2018-11-06 08:19:15 +09:00
Peter Barker 7c86ce4d81 Copter: change default streamrate for ADSB from 5 to 0
No other stream has a default streamrate in Copter.

This causes us small amounts of overhead as it marks all channels as
streaming.
2018-11-05 14:57:55 +09:00
Peter Barker 859f4828a1 Copter: move handling of gimbal messages up
Copter: move handling of mav_cmd_do_mount_control up

Copter: move handling of deprecated mount messages up

Copter: move handling of command_do_set_roi up

Copter: move handling of command_do_set_roi up

Copter: mount no longer takes ahrs in constructor
2018-10-30 17:19:14 +11:00
Peter Barker 1a660cefae Copter: remove unused STREAM_RAW_CONTROLLER_msgs variable 2018-10-16 10:17:12 +11:00
Sam Bristow 823d09b212 Copter: Fix confusing indentation
Commit d94663d5 introducted a minor whitespace issue which made the
indentation of the nested if statements slightly confusing. We may as
well clean it up sooner rather than later :-)
2018-10-15 16:32:15 +11:00
chobitsfan d94663d5af Copter: support changing vertical speed in DO_CHANGE_SPEED 2018-10-13 13:16:26 +09:00
Raouf 46b669a056 Copter: send obstacle_distance messages to proximity lib 2018-10-02 10:37:13 +09:00
Peter Barker a30cdf6806 Copter: eliminate failsafe.rc_override_active
Use RC_Channels::has_active_overrides() instead
2018-09-05 11:54:32 +10:00
Peter Barker ec6c59faa3 Copter: move handling of disable-gcs-rc-overrides-channel-option up 2018-09-05 11:54:32 +10:00
Peter Barker f005ee4a4c Copter: use camera singleton to get camera rather than callback 2018-08-31 15:48:56 +10:00
Peter Barker ec52c22c7c Copter: GCS_MAVLink uses compass singleton, stop implementing get_compass 2018-08-31 15:48:56 +10:00
Randy Mackay 920300899e Copter: rename gcs_check_input to gcs_update
this makes the names consistent with Rover and Plane
2018-08-24 15:30:50 +09:00
Matt fd332287b2 COPTER: Add mavlink landing gear control
Add MAV_CMD_AIRFRAME_CONFIGURATION (# 2520), which is for landing gear
control.
Param 1 is not used in ArduPilot
Param 2 is deploy/retract. 0 is deploy, 1 is Retract
2018-08-03 10:59:15 +09:00
Peter Barker 819d892baf Copter: handle MAV_CMD_ACCELCAL_VEHICLE_POS in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker 7fc580921a Copter: handle command_long in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker aa4ee64af2 Copter: handle command_int in base class 2018-07-06 09:43:09 +10:00
Peter Barker df83cb034e Copter: use ArmingMethod enumeration 2018-07-03 15:16:38 +10:00
Peter Barker c84b102c1c Copter: move mavlink reboot code up to base class 2018-07-03 12:12:25 +10:00