Commit Graph

515 Commits

Author SHA1 Message Date
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
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
Michael du Breuil
753f360d06 GCS_Common: NACK a failed partial mission write 2019-01-23 00:06:07 -07: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
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
77be393ad4 GCS_MAVLink: split DISTANCE_SENSOR onto its own ap_message id 2018-12-19 07:24:37 +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
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
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
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
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
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
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
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
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
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
Peter Barker
e9d2be143a GCS_MAVLink: moving sending of sim state up 2018-05-23 18:36:50 +10:00
Peter Barker
fe2d8f853b GCS_MAVLink: add type-correctness for stream entries 2018-05-22 11:21:25 +10:00
Eugene Shamaev
b260a6ca7c GCS_Mavlink: HAL_RCINPUT_WITH_AP_RADIO definition 2018-05-22 08:35:01 +09:00
Peter Barker
92927cd848 GCS_MAVLink: move try_send_message of servo-output-raw up 2018-05-21 19:08:08 +01:00
Peter Barker
0ca888d52a GCS_MAVLink: move sending of POSITION_TARGET_GLOBAL_INT up 2018-05-18 20:26:37 +10:00
Peter Barker
da40ebaf70 GCS_MAVLink: use relative altitide from ahrs.get_relative_position_D_home()
This will return a barometer height if the EKF is not available.
2018-05-17 15:48:06 +01:00
Peter Barker
4440f7ec4a GCS_MAVLink: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK 2018-05-17 15:48:06 +01:00
Peter Barker
217fd73100 GCS_MAVLink: remove arguments to send_home and send_ekf_origin 2018-05-17 20:42:36 +10:00
Peter Barker
514bc5c21d GCS_MAVLink: move send_attitude up to GCS_MAVLINK 2018-05-17 18:28:43 +10:00
Peter Barker
695c52be05 GCS_MAVLink: allow sub to override sending of scaled_pressure3 2018-05-17 15:37:14 +10:00
Peter Barker
c887a5c188 GCS_MAVLink: move try_send_message sending of scaled_pressure up 2018-05-17 15:37:14 +10:00
Peter Barker
8cb2b5809f GCS_MAVLink: move try_send_message sending of sensor offsets up 2018-05-17 15:37:14 +10:00
Peter Barker
b51ec1d346 GCS_MAVLink: move try_send_message of RAW_IMU up to GCS_MAVLINK 2018-05-17 15:37:14 +10:00
Peter Barker
fc1775df75 GCS_MAVLink: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Michael du Breuil
1b05a18b84 GCS_MAVLink: Wrap sending named float values 2018-05-17 00:59:45 +01:00
Michael du Breuil
805e9519d1 GCS_MAVLink: Send rangefinder data 2018-05-16 23:21:41 +01:00
Michael du Breuil
03fc653e62 GCS_MAVLink: Don't rely on instance data from rangefinders 2018-05-16 23:21:41 +01:00
Andrew Tridgell
f4f62ececa GCS_MAVLink: take account of transport lag in vision timestamps 2018-05-16 18:49:22 +10:00
Andrew Tridgell
ab9ef01889 GCS_MAVLink: added function for correcting offboard timestamps 2018-05-15 10:42:52 +09:00
Randy Mackay
e04de34014 GCS_MAVLink: add local time to VISP message
Adding both local and remote time is useful for providing support for this message because misaligned clocks lead to our EKF discarding the message
2018-05-10 08:29:30 +09:00
Peter Barker
347ab96bf0 GCS_MAVLink: move sending of battery data up
Also, use singleton to get battery object
2018-05-09 11:40:31 -07:00
Peter Barker
417e9e9aaf GCS_MAVLink: move data stream send up 2018-05-09 16:15:38 +10:00
Peter Barker
8d7fadfdfc GCS_MAVLink: set _initialised as last thing 2018-05-09 16:15:38 +10:00
Peter Barker
b76fa57108 GCS_MAVLink: move try_send_message handling of RC_CHANNELS_RAW up 2018-05-08 12:33:32 +01:00
Peter Barker
eecdcacf3e GCS_MAVLink: move sending of heartbeats up to GCS_MAVLINK 2018-05-07 11:30:13 -06:00
Peter Barker
e4b4a746e6 GCS_MAVLink: move try_send_message handling of VIBRATION up
Also, use singleton to get ins
2018-05-07 11:23:28 -06:00
Randy Mackay
e5c0b1814a GCS_MAVLink: remove underscore from method names 2018-04-19 13:38:22 +09:00
Vince Kurtz
2f81747112 GCS_MAVLink: fix VISP logging
log VISP messages for the ATT_POS_MOCAP mavlink message as well
2018-04-19 13:34:49 +09:00
Tom Pittenger
63e42e194f GCS_MAVLink: send correct mission_ack result type
has no effect since the two typedef enums equated to same value
2018-04-18 12:02:43 +09:00
Michael du Breuil
6e9e9dcdfa GCS_MAVlink: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Andrew Tridgell
fd3037bbb7 GCS_MAVLink: add support for alternative protocol
this allows an alternative to MAVLink to be installed on a GCS
port. This is used for BLHeli passthru support
2018-04-07 09:10:29 +10:00
Randy Mackay
64be134f7b GCS_MAVLink: add VISP logging 2018-04-06 11:13:28 +09:00
Francisco Ferreira
ac73fa9681
GCS_MAVLink: fix method shadowing 2018-04-03 16:29:33 +01:00
Peter Barker
4fd2ec1cef GCS_MAVLink: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Peter Barker
d2ab76b2c6 GCS_MAVLink: calibrate airspeed sensor if it is present 2018-04-02 23:25:05 +01:00
Peter Barker
c6d7f5151a GCS_MAVLink: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Peter Barker
d878690d00 GCS_MAVLink: move common calibration functions up 2018-04-02 23:25:05 +01:00
Peter Barker
09d4e36970 GCS_MAVLink: handle preflight calibrations 2018-04-02 23:25:05 +01:00