Commit Graph

1088 Commits

Author SHA1 Message Date
Andrew Tridgell
64c723fd31 GCS_MAVLink: record mavlink msg IDs for watchdog 2019-05-15 15:33:48 +10:00
Andrew Tridgell
3772f58be9 GCS_MAVLink: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Tom Pittenger
1f3c3c853f GCS_MAVLink: move heartbeat sending to gcs instead of by vehicles 2019-05-14 10:54:45 -06:00
Tom Pittenger
4c641c6e2b GCS_MAVLink: comply with mavlink spec to ignore rc_override UINT16_MAX 2019-05-10 15:30:54 -07:00
Jaaaky
971e3af826 GCS_MAVLink: prgama away address-of-packed-member only for g++ >= 9 2019-05-03 01:57:26 +10:00
Peter Barker
9273ac3631 GCS_MAVLink: pragma away address-of-packed-member
g++-9 throws a lot of warnings for taking addresses of packed members.
We can have this warning for our ArduPilot code, but there's way too
many issues within MAVLink to put up with.
2019-05-01 19:36:49 -07:00
Peter Barker
a0c80a0b3b GCS_MAVLink: make send_text and send_textv const 2019-05-01 10:18:46 +10:00
Peter Barker
e6653f42dd GCS_MAVLink: correct examples with override keyword 2019-04-30 09:29:59 +10:00
Pierre Kancir
e3057b40f3 GCS_MAVLINK: remove mavlink send_buf usage 2019-04-23 09:41:00 +10:00
Pierre Kancir
cc14885913 GCS_MAVLINK: remove mavlink send_buf usage 2019-04-23 09:41:00 +10:00
Andrew Tridgell
2313970eaf GCS_MAVLink: added method to lockup autopilot
used for watchdog testing
2019-04-22 16:53:35 +10:00
Peter Barker
c143ec47da GCS_MAVLink: Bitmask is now a template 2019-04-16 15:12:07 +10:00
Peter Barker
efb98437e6 GCS_MAVLink: move setting of compass sys_status bits up 2019-04-16 09:48:23 +10:00
Peter Barker
08cbf18958 GCS_MAVLink: header include fixes for RSSI changes 2019-04-09 09:33:13 +10:00
Pierre Kancir
5a7081b457 GCS_MAVLink: move check_latlng to Location 2019-04-08 12:56:01 -07:00
Andrew Tridgell
f998a74adf GCS_MAVLink: don't report SCALED_PRESSURE2 with a non-existant airspeed sensor 2019-04-08 12:52:19 +10:00
Randy Mackay
bbd051b246 GCS_MAVLink: send OPTICAL_FLOW messages to optical flow driver 2019-04-08 11:26:59 +09:00
Peter Barker
31daaf9933 GCS_MAVLink: add floating-point-constant designators 2019-04-05 23:04:17 -07:00
Peter Barker
5c4983ffcd GCS_MAVLink: stop converting compass cal floats to ints before saving 2019-04-05 06:09:25 -07:00
Michael du Breuil
8cafbe394f GCS_MAVLink: Fix includes 2019-04-05 20:12:53 +11:00
Rajat Singhal
b7a40f2bfe GCS_Mavlink: Add function for sending POSITION_TARGET_LOCAL_NED message 2019-03-29 09:11:14 +11:00
Tom Pittenger
8845cc2053 GCS_MAVLink: rename dataflash to logger 2019-03-28 16:40:58 +11:00
Peter Barker
30a66d9f13 GCS_MAVLink: implement a convenience manual_override method 2019-03-27 22:33:47 -07:00
Randy Mackay
b496af411e GCS_MAVLink: fix typo 2019-03-28 13:54:19 +09:00
Peter Barker
778bff966c GCS_MAVLink: stop passing dataflash into handle_radio_status
It can use the singleton instead
2019-03-27 10:38:39 +11:00
Peter Barker
0ef26a6950 GCS_MAVLink: add support for request_message 2019-03-26 16:20:50 +11:00
Peter Barker
2796beac8d GCS_MAVLink: move various sensor status flag updates up 2019-03-26 11:03:21 +11:00
Peter Barker
b3203601f3 GCS_MAVLink: send internal errors as bitmask in sys_status 2019-03-21 21:34:33 +11:00
Peter Barker
236056ffbd GCS_MAVLink: take 0,0 as meaning set-home-to-current-location
This isn't in spec, but is what Sub used to do, and what other vehicles
also used to do.

We treat 0,0 as "current location" in various other places, so it kind
of makes sense here too.
2019-03-19 19:56:13 +11:00
Peter Barker
95745f0d31 GCS_MAVLink: move command-long DO_SET_HOME up 2019-03-19 19:56:13 +11:00
Peter Barker
bc2080cea2 GCS_MAVLink: move devo telemetry handling to GCS 2019-03-19 14:39:14 +11:00
Peter Barker
3100c8edad GCS_MAVLink: GCS can report simple/supersimple input modes 2019-03-19 14:39:14 +11:00
Peter Barker
cf264a7d5e GCS_MAVLink: move vehicle_initialised to be on GCS not GCS_MAVLink 2019-03-19 14:39:14 +11:00
Peter Barker
b12d20d86c GCS_MAVLink: add support for frame_string 2019-03-19 14:39:14 +11:00
Peter Barker
ab1c42696c GCS_MAVLink: move FRsky telemetry up into common GCS telemetry class 2019-03-19 14:39:14 +11:00
Peter Barker
5eb9622105 GCS_MAVLink: correct compilation for ALT_FRAME issue 2019-03-19 12:06:03 +11:00
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