Commit Graph

482 Commits

Author SHA1 Message Date
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
Peter Barker cff1969a29 Copter: make do_user_takeoff a member of Mode 2018-06-26 09:11:21 +09:00
Peter Barker 70d159cb38 Copter: raise EKF failure even if USB is connected
This will let EKF go bad if your PixHawk is connected to your laptop.
This doesn't seem to be a problem for the other vehicles.

This also allows the EKF to go bad in-flight if you happen to have
connected (against AP's recommendations) your companion computer to your
flight controller via USB.  Since people do this, it is better to have
the checks than not.
2018-06-26 10:07:55 +10:00
Pierre Kancir 2d5cbd2cf8 ArduCopter: report crosstrack_error 2018-06-26 08:42:14 +09:00
Andrew Tridgell b43316d743 Copter: added ESC_TELEMETRY to mavlink streams 2018-06-21 10:48:02 +10:00
Peter Barker ca8a1ae488 Copter: use magic force arm/disarm definitions 2018-06-20 11:43:38 +10:00
Peter Barker fd9ce90b8e Copter: option to force arm, bypassing checks 2018-06-20 11:43:38 +10:00
Peter Barker 4d6408857f Copter: return appropriate response to failed disarm 2018-06-20 11:43:38 +10:00
Peter Barker 485cafb343 Copter: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Peter Barker 955baa47c2 Copter: move handling of MAV_CMD_DO_GRIPPER up 2018-06-11 19:07:39 +01:00
Michael du Breuil 6c94811e00 Copter: Update to support new RC override conventions 2018-06-05 09:51:09 +10:00
Peter Barker 78d2c52a3f Copter: move try_send_message handling of EKF_STATUS_REPORT up 2018-06-01 16:12:45 +01:00
Peter Barker 7c98082389 Copter: create persist_streamrates() callback to indicate persistence 2018-05-29 13:08:29 +10:00
Peter Barker 5f2221fe74 Copter: move handling of VFR_HUD into GCS_MAVLink_Copter 2018-05-29 13:00:40 +10:00
Peter Barker 81e9edd80a Copter: move sending of sim state up 2018-05-23 18:36:50 +10:00
Peter Barker ec1539f9c8 Copter: add type-correctness for stream messages 2018-05-22 11:21:25 +10:00
Peter Barker de7a8e20e2 Copter: eliminate MSG_LIMITS_STATUS 2018-05-22 09:05:14 +09:00
Peter Barker 50ca76b6bd Copter: move try_send_message of servo-output-raw up 2018-05-21 19:08:08 +01:00
Peter Barker 7c8583d51d Copter: implement sending of position_target_global_int 2018-05-18 20:26:37 +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 e4a2b03488 Copter: move try_send_message sending of scaled_pressure up 2018-05-17 15:37:14 +10:00
Peter Barker 88883c7c7f Copter: move try_send_message sending of sensor offsets up 2018-05-17 15:37:14 +10:00
Peter Barker 93f1815d50 Copter: move try_send_message of RAW_IMU up to GCS_MAVLINK 2018-05-17 15:37:14 +10:00
Peter Barker 9dce133938 Copter: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Michael du Breuil fe8e1b4274 Copter: Move MAVLink rangefinder up to parent 2018-05-16 23:21:41 +01:00
Michael du Breuil 033a8ec4d5 Copter: Send all distance sensors 2018-05-16 23:21:41 +01:00
Peter Barker ec6fb0c612 Copter: move sending of battery data up 2018-05-09 11:40:31 -07:00
Peter Barker e90ce4ced9 Copter: move data stream send up 2018-05-09 16:15:38 +10: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
Peter Barker 75ad33ddcd Copter: move try_send_message of heartbeats up to GCS_MAVLINK 2018-05-07 11:30:13 -06:00
Peter Barker d7af5c0c44 Copter: move try_send_message handling of VIBRATION up 2018-05-07 11:23:28 -06:00
Dr.-Ing. Amilcar do Carmo Lucas c8d1dad493 Copter: document stream content 2018-04-27 19:54:00 +09:00
Peter Barker 4b5953734d Copter: use AP_ServoRelayEvents singleton 2018-04-18 20:31:55 +09:00
Peter Barker ba8b3e2415 Copter: create an AutoYaw helper object to hold auto-yaw state 2018-04-18 13:27:43 +09:00
Michael du Breuil d96919ed21 Copter: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil adb7ecef92 Copter: Check MANUAL_CONTROL target 2018-04-10 16:54:34 +01:00
Francisco Ferreira 8ff74f31e9
Copter: fix method shadowing 2018-04-03 16:29:33 +01: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
Peter Barker c80714b820 Copter: factor out preflight calibration function 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
Peter Barker ce0f0938ee Copter: make superclass handle command_ack packets 2018-03-28 09:28:23 +09:00
Michael du Breuil 291531e056 Copter: Support new battery failsafes 2018-03-27 22:12:21 +01:00
Peter Barker f8d5fe96d8 Copter: allow DataFlash to handle log sending 2018-03-26 09:22:47 +09:00
Peter Barker 41960704b0 Copter: move handling of visual odometry messages up 2018-03-23 09:28:07 +09:00
Peter Barker edcfa7ffd4 Copter: move handling of get_home_position up 2018-03-19 10:32:37 +09:00
Peter Barker 45f2312bfe Copter: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker d88bd52a53 Copter: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker 9bffeb4117 Copter: use AHRS singleton in GCS_MAVLink 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
Peter Barker 86b162e32f Copter: add option to disable BRAKE 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 b9ad2bc8db Copter: add option to disable AUTO mode
Saves ~12k of flash
2018-02-27 07:43:13 +09:00
Peter Barker eb9bbddcb7 Copter: add in_guided_mode mode callback 2018-02-27 07:43:13 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas def098bd8a Copter: obey ADSB_ENABLED == DISABLED 2018-02-21 22:11:34 +09:00
Peter Barker bfc373aeff Copter: move logging of PM messages to AP_Scheduler 2018-02-13 17:15:05 +11:00
Randy Mackay 9eda7f4e31 Copter: global-pos-int uses system time 2018-02-13 08:52:48 +09:00
murata 296ee7315b Copter: minor formatting fixes 2018-02-12 12:17:05 +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 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 1f76f69d80 Copter: implement per-motor compass compensation 2018-02-08 17:36:33 +11:00
Pierre Kancir 10e6fe43dd Copter: Add a switch option to enable/disable RC_Override 2018-01-24 21:37:41 +09:00
Randy Mackay 8d6f8e4d9c Copter: move pos-control pids to pos-control library 2018-01-23 12:00:43 +09:00
Alexey Bulatov 8accfb97f6 ArduCopter: Check for nullptr for motors class pointer
Because of added initialisation of UAVCAN send_heartbeat function
starts before motors initialisation. So we need check is object created.
2018-01-17 07:24:17 -08:00
Matt c0f0e3eca3 COPTER: Fix MOUNT_CONTROL yaw in guided
If the mount instance does not support yaw/pan, the copter needs to yaw in
response to MSG_MOUNT_CONTROL and MAV_COMMAND_DO_MOUNT_CONTROL commands from
a GCS or co-computer. There was no checking for mount pan in the GCS_Mavlink
logic.  As such, no yaw takes place when a mount control command calls for it.
This patch impliments copter yaw control for both MSG_MOUNT_CONTROL and
MAV_COMMAND_DO_MOUNT_CONTROL in copter GCS_Mavlink.
2017-12-23 10:57:31 +09:00
Peter Barker 6c82f7671d Copter: move all commands logic into AUTO flightmode 2017-12-14 14:08:01 +09:00
Randy Mackay 2d23e1f7c7 Copter: rename flightmode_ objects to mode_ 2017-12-12 10:39:26 +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 51cd143012 Copter: FlightMode - convert BRAKE 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 e2b70c3a0a Copter: FlightMode - convert AUTO flight mode 2017-12-06 08:24:24 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas ce3197e0ac Copter: use the return code of the guided_set_destination_posvel() function calls 2017-12-05 08:57:55 +09:00
Peter Barker 398d07a68a Copter: tighten return types of mavlink functions and variables 2017-12-01 17:01:10 +00:00
Randy Mackay 8d2db3218c Copter: minor comment fix to code handling SET_POSITION_TARGET msgs 2017-11-27 14:24:30 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas bde1aaa2f6 Copter: Rename variable to correct the meaning (NFC) 2017-11-27 14:17:21 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 8678d13e7b Copter: Update the result of a MavLink message, this is a NFC
The result variable is not used, but at least it gets documented :)
2017-11-27 14:17:21 +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
Peter Barker 8f48b3187e Copter: use gps singleton for GCS function 2017-11-15 13:43:03 +00:00
Randy Mackay 842eed5426 Copter: accept do-winch commands with max rate 2017-10-27 09:20:38 +09: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 f49ab44f25 Copter: support simple accel calibration 2017-10-10 10:57:38 +11:00
Lucas De Marchi 4ef5186733 ArduCopter: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Randy Mackay a8a5c1d332 Copter: command-long DO_SET_HOME check first param is zero
Also do not use current location just because lat,lon,alt are all zero
2017-09-20 12:14:38 +09:00
Randy Mackay d982cfed4a Copter: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Randy Mackay 70cf21a5ba Copter: accept more mav-frame types
accept mav frames whether or not they have _INT appended
2017-09-20 12:14:38 +09:00
Peter Barker 0afe1e7473 Copter: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay 1b3cc9289b Copter: support SET_GPS_GLOBAL_ORIGIN
also remove setting of origin from DO_SET_HOME command
initialise ekf_origin location when consuming SET_GPS_GLOBAL_ORIGIN
set_ekf_origin performs sanity check on location
2017-09-19 10:30:15 +09:00
Peter Barker 6b5fd5fbdd Copter: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
squilter 4b57a4a231 Copter: rename SafeRTL to SmartRTL 2017-09-09 14:05:41 +09:00
Randy Mackay 8df042f00c Copter: complete addition of SafeRTL flight mode 2017-09-09 14:05:41 +09:00
Peter Barker 3f67dfe4fe Copter: move handling of do_send_banner up 2017-08-30 15:54:47 +01:00
Peter Barker 3da70f19c1 Copter: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker e6ac68fd2a Copter: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00