Commit Graph

1052 Commits

Author SHA1 Message Date
Michael du Breuil 75caad52c0 GCS_MAVLink: Always check the return value on get_velocity_NED 2019-03-19 11:42:54 +11:00
Andrew Tridgell 778b88cba2 GCS_MAVLink: disable reboot when armed
this prevents reboot on vehicles that have ARMING_REQUIRE=0, which
applies to some planes, but those vehicles tend to not use MAVLink
reboot anyway.
2019-03-19 10:53:37 +11:00
Peter Barker 3dc2db8d9a GCS_MAVLink: queue parameter request even if we can't fit a reply ATM 2019-03-19 10:37:09 +11:00
Peter Barker 4eba6d4fe2 GCS_MAVLink: exempt requested parameters from buffer space reservation
Fixes a problem where we reserve space to send replies but then do not
bypass the reserved-space checks when sending them.
2019-03-19 10:37:09 +11:00
Peter Barker f0200a4d9b GCS_MAVLink: GCS_Common: correct overflows in bandwidth and count calculations 2019-03-19 10:37:09 +11:00
Peter Barker 716b0fdc88 GCS_MAVLink: use enum class for AltFrame enumeration 2019-03-19 10:31:18 +11:00
Peter Barker bb1ae30594 GCS_MAVLink: move sending of RPM message up 2019-03-16 10:33:01 +09:00
Randy Mackay 27b50f125c GCS_MAVLink: send_set_position_target always sends alt-above-home 2019-03-15 14:51:35 +09:00
Randy Mackay 066a443e5f GCS_MAVLink: add send_set_position_target_global_int
this supports sending the position target to an offboard navigation controller
2019-03-15 14:51:35 +09:00
Peter Barker 34e09a55be GCS_MAVLink: support send_extended_sys_state 2019-03-12 09:16:13 +09:00
Michael du Breuil f7b34677df GCS_MAVLink: Don't send BATTERY_STATUS for empty instances 2019-03-11 22:42:59 +00:00
Peter Barker 74702b8688 GCS_MAVLink: make sending of send_pid_tuning up 2019-03-05 10:41:56 +11:00
IamPete1 20d79207d8 GCS_MAVLink: make send_global_position_int virtual 2019-03-01 20:57:54 +11:00
Peter Barker ace5192852 GCS_MAVLink: retry sending home/origin if it fails
Also grants us the ability to stream these messages
2019-02-26 14:01:41 +11:00
Peter Barker 9f27e91f33 GCS_MAVLink: add simple stats to dataflash 2019-02-26 11:23:57 +11:00
Peter Barker 138d93702a GCS_MAVLink: use Location to change alt frames 2019-02-26 10:35:39 +11:00
Peter Barker 49493676ea GCS_MAVLink: use MAV_PARAM_TYPE for sending parameter messages
... rather than mavlink_message_type_t
2019-02-26 08:20:25 +11:00
Peter Barker 8de4ee7348 GCS_MAVLink: move update_sensor_status_flags into GCS subclasses 2019-02-19 14:09:59 +11:00
Peter Barker cb33f290a7 GCS_MAVLink: move sensor flags to be a GCS thing rather than a GCS_MAVLINK thing
These are a per-vehicle thing, not a per-mavlink-backend thing.
2019-02-19 14:09:59 +11:00
Peter Barker 91c8d0b915 GCS_MAVLink: clarify packetReceive calling handlemessage checks
modules/libcanard/
2019-02-19 13:40:32 +11:00
Peter Barker bfb3f0d62e GCS_MAVLink: make capabilities comes from subclass, not HAL 2019-02-19 13:14:52 +11:00
Peter Barker de615ee11d GCS_MAVLink: move try_send_message of nav_controller_output up 2019-02-19 10:08:00 +11:00
Randy Mackay f8e49e5438 GCS_MAVLink: call send_esc_telemetry for AP_ToshibaCAN ESCs 2019-02-18 20:55:47 +09:00
Peter Barker 4a0887b807 GCS_MAVLink: measure stream slowdown in ms
This costs us a couple of extra bytes of RAM and gains us not doing a
whole heap of multiplies
2019-02-16 13:45:47 +11:00
Peter Barker 63427629e1 GCS_MAVLink: use visual odometry singleton 2019-02-15 16:56:13 +11:00
Peter Barker dffc5568fe GCS_MAVLink: remove redundant home validation checks 2019-02-15 08:28:45 +11:00
Peter Barker d8847a6192 GCS_MAVLink: move handling of command-int MAV_CMD_DO_SET_HOME up 2019-02-13 09:42:26 +11:00
Peter Barker 64b4e69e34 GCS_MAVLink: break out an altitude enumeration mapping function 2019-02-12 09:07:50 +09:00
Tom Pittenger 9f0e895c37 GCS_MAVLink: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07:00
Peter Barker be841d5d0a GCS_MAVLink: add sanity check for rally mavlink message handling 2019-02-08 11:47:59 +09:00
Peter Barker 0ef7c6af59 GCS_MAVLink: move handling of fence point manipulation up 2019-02-08 11:47:59 +09:00
Peter Barker 8d45a8ff53 GCS_MAVLink: move handling of MAV_CMD_DO_SET_FENCE_ENABLED up 2019-02-08 11:47:59 +09:00
Peter Barker ae68b58678 GCS_MAVLink: move handling of RC overrides up
Based on commit 8db5e5308731b6916d5da58a650cef015b887180 by dposea
2019-02-05 13:59:21 +11:00
Peter Barker 120f0822ae GCS_MAVLink: move sending of sys_status message up 2019-02-05 11:07:39 +11:00
Peter Barker f1907679e7 GCS_MAVLink: move sending of fence_status message up 2019-01-31 13:44:29 +09:00
Peter Barker 8b74ab32a3 GCS_MAVLink: support get_message_interval 2019-01-30 13:56:55 +09:00
Peter Barker c487d120e3 GCS_Common: stop passing mission to Write_EntireMission 2019-01-29 19:07:05 -08:00
Pavlo Kolomiiets 094505a76a GCS_MAVLink: add WHEEL_DISTANCE to ap_message enum 2019-01-28 19:35:18 +09:00
Michael du Breuil 753f360d06 GCS_Common: NACK a failed partial mission write 2019-01-23 00:06:07 -07:00
Peter Barker b19f760628 GCS_MAVLink: don't allow signing key to be set up when armed
Discussion is here:
https://github.com/ArduPilot/ardupilot/issues/10298
2019-01-23 17:39:10 +11:00
Peter Barker e4120c848c GCS_MAVLink: correct payload space check for mission requests 2019-01-22 09:01:57 +11:00
Peter Barker 8e19e805c6 GCS_Common: clarify enumeration item name MSG_NEXT_WAYPOINT 2019-01-22 09:01:57 +11:00
Peter Barker da1ded7cb9 GCS_MAVLink: rename queued_waypoint_send to queued_mission_request_send 2019-01-22 09:01:57 +11: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 33baae80b1 GCS_MAVLink: remove PX4-specific code that disables overrides on reboot 2019-01-18 17:32:02 +11:00
Francisco Ferreira ee13110ad0
GCS_MAVLink: send KDECAN ESC telemetry 2019-01-18 00:57:33 +00:00
Francisco Ferreira f68f83505c
GCS_MAVLink: add preflight CAN command 2019-01-18 00:57:33 +00:00
Andrew Tridgell ea2970bf26 GCS_MAVLink: adjust for new fields in DISTANCE_SENSOR 2019-01-17 08:43:13 +11:00
Peter Barker 8fd8ae660b GCS_MAVLink: send multiple async replies per call to send_queued_param 2019-01-15 10:11:21 +11:00
Peter Barker 99ea5d1a5e GCS_MAVLink: avoid initial rush of params into uart
bandwidth calculation is based on this.
2019-01-15 10:11:21 +11:00
Peter Barker 35f3906424 GCS_MAVLink: do not adjust parameter stream rate on MAV_DATA_STREAM_ALL 2019-01-14 13:27:55 +11:00
Michael du Breuil 27d461348e GCS_MAVLink: Use rally singleton 2019-01-08 10:39:50 +11:00
Andrew Tridgell 42283b2595 GCS_MAVLink: allow param send in delay callback
this is needed for startup sensor error handling
2019-01-04 19:17:31 +11:00
Peter Barker 701d8588cc GCS_MAVlink: correct use of stream_slowdown 2019-01-03 14:57:05 +11:00
Peter Barker 9577cb8b39 GCS_MAVLink: send text messages to notify even if no GCSs connected 2019-01-03 14:56:27 +11:00
Andrew Tridgell c99dd5f9e8 GCS_MAVLink: implement UART pass-thru 2018-12-29 15:58:22 +11:00
Peter Barker aa7844e4a7 GCS_MAVLink: split SIMSTATE, AHRS2 and AHRS3 onto their own ap_message ids 2018-12-19 13:19:23 +11:00
Peter Barker 979e5261d5 GCS_MAVLink: remove unused method 2018-12-19 10:55:38 +09:00
Peter Barker 77be393ad4 GCS_MAVLink: split DISTANCE_SENSOR onto its own ap_message id 2018-12-19 07:24:37 +11:00
Peter Barker 61e048a41b GCS_MAVLink: tidy queued_param_send a little 2018-12-18 21:51:31 +11:00
Peter Barker f8863971a2 GCS_MAVLink: move try_send_message telemetry_delayed call up to caller 2018-12-18 14:25:56 +11:00
Peter Barker 039ade421e GCS_MAVLink: split SYS_STATUS and POWER_STATUS onto separate ap_messages 2018-12-18 14:05:20 +11:00
Peter Barker 294be787f8 GCS_MAVLink: correct SYSID_ENFORCE for our own mavlink-connected components 2018-12-14 12:44:31 +11:00
Peter Barker 759a8e5553 GCS_MAVLink: move accept_packet to base class 2018-12-14 12:44:31 +11:00
Francisco Ferreira a50a9c65ad GCS_MAVLink: change order in removing message from bucket
A call to find_next_bucket_to_send would change sending_bucket_id so the if would have a wrong meaning
The call also changes the bucket_message_ids_to_send so currently there is no bug, but it can change
2018-12-14 09:17:02 +09:00
Peter Barker dfd0ecd2bd GCS_MAVLink: use mission singleton 2018-12-13 10:52:52 +09:00
Peter Barker cf5dd7cdd7 GCS_MAVLink: emit pressure data for separate airspeed instances 2018-12-12 21:36:01 +11:00
Peter Barker cc5ad393e7 GCS_MAVLink: split MSG_SCALED_PRESSURE into three separate messages 2018-12-12 21:36:01 +11:00
Peter Barker eb2ef9fd2d GCS_MAVLink: use dataflash singleton rather than storing pointer 2018-12-11 08:43:47 +09:00
Peter Barker 1c6af7d777 GCS_Common: don't attempt to shove timesync message into a full channel 2018-12-10 15:25:10 +11:00
Peter Barker 6e7b9aa727 GCS_MAVLink: remove dead code 2018-12-10 12:52:41 +09:00
Peter Barker 160c29e01f GCS_MAVLink: change number of buckets to 10 2018-12-10 12:52:41 +09:00
Peter Barker 17c82999d0 GCS_MAVLink: use panic() call for what it is good for 2018-12-10 12:52:41 +09:00
Peter Barker a9c5affe8a GCS_MAVLink: be consistent about calling count() or first_set 2018-12-10 12:52:41 +09:00
Peter Barker 8d970c13c0 GCS_MAVLink: avoid considering no_message_to_send equal to -1 2018-12-10 12:52:41 +09:00
Peter Barker 57fee7e8ef GCS_MAVLink: remove redundant check in find_next_bucket_to_send 2018-12-10 12:52:41 +09:00
Peter Barker e91ee3e54a GCS_MAVLink: rename confusingly-named method 2018-12-10 12:52:41 +09:00
Peter Barker b696986de6 GCS_MAVLink: clarify extra code in do_try_send_message is debug code 2018-12-10 12:52:41 +09:00
Peter Barker f9399a708c GCS_MAVLink: use defined no_message_to_send constant for what it's good for 2018-12-10 12:52:41 +09:00
Peter Barker 0dfe5b64bf GCS_MAVLink: clarify comment on sending requests 2018-12-10 12:52:41 +09:00
Peter Barker 54d9e74f17 GCS_MAVLink add description for special messages 2018-12-10 12:52:41 +09:00
Peter Barker 5a0e0e7a87 GCS_MAVLink: rename DEBUG_SEND_MESSAGE_TIMINGS to GCS_DEBUG_SEND_MESSAGE_TIMINGS 2018-12-10 12:52:41 +09:00
Peter Barker b6ac20ce32 GCS_MAVLink: use correct type for streamrate values 2018-12-10 12:52:41 +09:00
Peter Barker c70fec305c GCS_MAVLink: avoid squashing close-together intervals into same bucket 2018-12-10 12:52:41 +09:00
Peter Barker e4bc874083 GCS_MAVLink: cap the minimum message interval to 80% of the main loop rate 2018-12-10 12:52:41 +09:00
Peter Barker e08a8d03d2 GCS_MAVLink: initialise last_sent_ms when reusing bucket 2018-12-10 12:52:41 +09:00
Peter Barker 09905bb2f2 GCS_MAVLink: send data for sensors even if no data for other sensors
This is notable when you have a lot of compasses, for example
2018-12-10 12:52:41 +09:00
Peter Barker c15de72095 GCS_MAVLink: split MSG_RAW_IMU1 into per-IMU ap_messages
Also allows for sending SCALED_IMU for the first IMU rather than RAW_IMU
2018-12-10 12:52:41 +09:00
Peter Barker ef46acda71 GCS_MAVLink: support MAV_CMD_SET_MESSAGE_INTERVAL 2018-12-10 12:52:41 +09:00
Peter Barker f0a95182be GCS_MAVLink: add is_active and is_streaming methods 2018-12-10 12:52:41 +09:00
Peter Barker 75e63db366 GCS_MAVLink: rename MSG_EXTENDED_STATUS2 to MSG_MEMINFO 2018-12-04 18:01:38 +11:00
Peter Barker d5322633ed GCS_MAVLink: rename MSG_RAW_IMU2 and MSG_RAW_IMU3 to reflect what they send 2018-12-04 17:45:32 +11:00
Andrew Tridgell 259723eb26 GCS_MAVLink: use JitterCorrection class 2018-12-04 11:37:38 +11:00
Randy Mackay 70817bb6a7 GCS_Common: optical flow comp fields should include flow 2018-11-28 20:38:58 +09:00
Matt adf78ab8d3 MAVLINK: Forward to private channels if sysid and compid match
If the target system ID and target component ID match a private channel,
it is ok to forward that mavlink traffic.  Any traffic without a
matching sysid or compid will not be forwarded on the channel
2018-11-28 11:33:23 +11:00
Peter Barker 686abb5e61 GCS_MAVLink: warn user via text message of mission upload failure 2018-11-26 14:31:41 -08:00
Andrew Tridgell 1e354d53c9 GCS_MAVLink: added private channel mask
this allows a channel to be marked "private". A private channel gets
heartbeats, but doesn't get forwarded packets or broadcast messages

This is used by solo gimbal driver
2018-11-24 11:00:37 +11:00
Peter Barker f4cf4c7fa2 GCS_MAVLink: remove unused variable 2018-11-23 14:25:20 +09:00
Peter Barker 38fdcb02a4 GCS_MAVLINK: move sending of optical flow status up to base class 2018-11-13 10:40:23 +11:00
Peter Barker 3749cfd764 GCS_MAVLink: allow vehicles to override VFR_HUD.alt 2018-11-06 11:26:38 +09:00
Peter Barker 1eac03a257 GCS_MAVLink: scale parameter send rate according to link bandwidth 2018-10-30 19:31:37 +11:00
Peter Barker 890a62fc51 GCS_MAVLink: move handling of gimbal messages up
GCS_MAVLink: move handling of mav_cmd_do_mount_control up

GCS_MAVLink: move handling of deprecated mount messages up

GCS_MAVLink: move handling of command_do_set_roi up

GCS_MAVLink: move handling of command_do_set_roi up

GCS_MAVLink: handle MAV_CMD_DO_MOUNT_CONFIGURE

GCS_MAVLink: call renamed AP_Mount send_mount_status msg

GCS_MAVLink: add support for MAV_CMD_DO_SET_ROI_LOCATION
2018-10-30 17:19:14 +11:00
chobits ed12c6719d GCS_MAVLink: log vision data pitch/roll/yaw in degree 2018-10-30 11:39:47 +09:00
Peter Barker 96b5be0e7d GCS_MAVLink: account for snprintf now null-terminating strings 2018-10-21 07:54:30 +11:00
Peter Barker 26e7abe6c4 GCS_MAVLink: use camera singleton to get camera rather than callback 2018-08-31 15:48:56 +10:00
Peter Barker d5f6911db7 GCS_MAVLink: use compass singleton instead of subclass callback 2018-08-31 15:48:56 +10:00
Pierre Kancir 2661ad2ed3 GCS_Common: remove status text for gripper 2018-08-27 14:39:49 +10:00
Dr.-Ing. Amilcar do Carmo Lucas b9df513705 GCS_MAVLink: remove redundant ret = true statements (NFC) 2018-08-26 18:21:45 +10:00
Andrew Tridgell 5988c3258f GCS_MAVLink: use Semaphore.h 2018-08-16 12:40:10 +10:00
Andrew Tridgell a26e534654 GCS_MAVLink: use WITH_SEMAPHORE()
this is a suggestion from Peter, will need some discussion
2018-08-16 12:40:10 +10:00
Andrew Tridgell 048a52ebc0 GCS_MAVLink: make mavlink send from multiple threads safe
this takes a lock to prevent interleaving of mavlink msgs from
multiple threads
2018-08-16 12:40:10 +10:00
Andrew Tridgell 5de49aa5aa GCS_MAVLink: flush parameters on reboot 2018-08-16 12:40:10 +10:00
Michael du Breuil 83d01c8b7d GCS_MAVLink: Use ARRAY_SIZE to avoid a magic value 2018-08-09 11:53:05 +10:00
Michael du Breuil 21dfe02c6e GCS_MAVLink: always send an idea of battery voltage as part of
BATTERY_STATUS
2018-08-07 09:52:45 +10:00
Andrew Tridgell df643d8499 GCS_MAVLink: allow uninstall of alt protocol handler 2018-08-04 19:29:13 +10:00
Peter Barker dbccd6a399 GCS_MAVLink: use rc() method to get rc singleton 2018-08-01 12:11:30 +09:00
Peter Barker d698960728 GCS_MAVLink: correct bad fall-through 2018-07-06 10:43:17 +10:00
Peter Barker 3710c50c4e GCS_MAVLink: handle MAV_CMD_ACCELCAL_VEHICLE_POS in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker 4775a67ea0 GCS_Common: handle command_long in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker 4ad065de99 GCS_MAVLink: handle command_int in base class 2018-07-06 09:43:09 +10:00
Peter Barker e7b409924c GCS_Common: send 0 rather than 1 in servo zero-rc-outputs 2018-07-03 12:12:25 +10:00
Peter Barker f7daf1c676 GCS_MAVLink: rearrange code for clarity 2018-07-03 12:12:25 +10:00
Peter Barker 11df6debd0 GCS_MAVLink: move mavlink reboot code up to base class 2018-07-03 12:12:25 +10:00
Peter Barker 73bbe8b84e GCS_MAVLink: send ack before board reboot
Based on https://github.com/ArduPilot/ardupilot/pull/6640
2018-07-03 12:12:25 +10:00
Andrew Tridgell 94d8010a16 GCS_MAVLink: expose HUD throttle accessor 2018-07-03 07:29:43 +10:00
Andrew Tridgell a3e44b3249 GCS_MAVLink: fix from review comment
thanks Pierre
2018-06-28 11:35:13 +10:00
Peter Barker 4a8614fbbd GCS_MAVLink: handle MAV_CMD_FLASH_BOOTLOADER 2018-06-28 11:35:13 +10:00
Peter Barker a44c1378f7 GCS_MAVLink: add send_textv functions 2018-06-23 15:33:19 +10:00
Andrew Tridgell f401dc1a77 GCS_MAVLink: fixed error in SITL for ESC_TELEMETRY 2018-06-21 10:48:02 +10:00
Peter Barker 27cd972331 GCS_MAVLink: add magic number definitions 2018-06-20 11:43:38 +10:00
Andrew Tridgell 5495e98483 GCS_MAVLink: build fixes
needed for new mavlink2 extensions in battery monitor message
2018-06-19 09:36:03 +10:00
Andrew Tridgell 4e4e5a2feb GCS_MAVLink: send ESC telemetry messages 2018-06-19 09:36:03 +10:00
Peter Barker cad7f9d9c0 GCS_MAVLink: tidy waypoint receiving part of update
This is NFC.  The early-return here is confusing, and there were
redundant checks going on.
2018-06-18 19:54:21 +01:00
Peter Barker c333a905df GCS_MAVLink: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Peter Barker 721feaf40f GCS_MAVLink: use AP_RTC
GCS_MAVLINK: Add SYSTEM_TIME handle (Patrick José Pereira)
2018-06-15 08:01:22 +10:00
chobits 0d2b70e607 GCS_MAVLink: fix ATT_POS_MOCAP timestamp handle 2018-06-13 09:43:42 +09:00
Peter Barker b0aeec4b6a GCS_MAVLink: move handling of MAV_CMD_DO_GRIPPER up 2018-06-11 19:07:39 +01:00
Michael du Breuil b331ddd49b GCS_MAVLink: Remove some common wrappers, fix excessive FALLTHROUGH 2018-06-05 03:25:42 +01:00
Peter Barker e50a817150 GCS_MAVLink: make VFR_HUD always return height above MSL 2018-06-05 09:38:20 +10:00
Peter Barker 69db7b040a GCS_MAVLink: move try_send_message handling of EKF_STATUS_REPORT up 2018-06-01 16:12:45 +01:00
Peter Barker 0baee6f82b GCS_MAVLINK: avoid pushing partial RC_CHANNEL message into uart
In the case we do not send RC_CHANNELS_RAW, we will not check to see if
RC_CHANNELS will fit.  RC_CHANNELS is larger than RC_CHANNELS_RAW, so the
check in the caller is insufficient.
2018-05-30 17:05:13 +01:00
Peter Barker 1aaf7e96af GCS_MAVLink: remove intermediate functions
GCS_MAVLink: remove comm_receive_ch

This is a lot of sanity checking in a static function which has been
called from a place where things are guaranteed

GCS_MAVLink: remove unused comm_is_idle

GCS_MAVLink: remove unused comm_send_ch

GCS_MAVLink: remove unused hal reference

GCS_MAVLink: remove unused #includes
2018-05-29 14:42:02 +10:00
Peter Barker d8871078ff GCS_MAVLink: create persist_streamrates() callback to indicate persistence
Removes the catching of the message in each vehicle separately.
2018-05-29 13:08:29 +10:00
Peter Barker 879f250fac GCS_Common: return airspeed sensor value in vfr_hud_airspeed 2018-05-29 13:00:40 +10:00
Peter Barker d1174bcf70 GCS_MAVLINK: move try_send_message handling of vfr_hud up 2018-05-29 13:00:40 +10:00
Pierre Kancir 053f124492 GCS_MAVLink: fix FALLTHROUGH warning 2018-05-26 09:13:29 +09:00
Randy Mackay 938dc2e47d GCS_MAVLink: resolve compiler warnings correct_offboard_timestamp
applies only to SITL
2018-05-25 14:00:00 +09:00
Peter Barker f668d0dc57 GCS_MAVLink: enhance TIMESYNC handling
GCS_MAVLink: use de-jittered timestamp for our timesync responses

GCS_MAVLink: periodically send timesync request packets

Currently no use is made of the result of these requests, however,
having the result present in telemetry logs will be useful data.
2018-05-25 11:36:17 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 8427b569b6 GCS_MAVLink: replace /* fall through */ with FALLTHROUGH; 2018-05-25 08:41:07 +09:00