Commit Graph

1662 Commits

Author SHA1 Message Date
Peter Barker 341379c5bd GCS_MAVLink: rename GENERATOR_ENABLED to HAL_GENERATOR_ENABLED 2021-09-26 19:24:09 +10:00
Tom Pittenger 6ac1b7daf2 GCS_MAVLink: fix periph-heavy compile errors with different things enabled 2021-09-24 10:47:13 -05:00
Peter Barker 9f6b9c7519 GCS_MAVLink: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Andrew Tridgell 5dcfa95444 GCS_Mavlink: allow setting of AHRS_TRIM_Z 2021-09-17 14:07:14 +10:00
Willian Galvani 018ff3d11c GCS_MAVLink: update to use capacity_remaining_pct() as a bool 2021-09-08 17:17:41 +10:00
Peter Barker fd144ccc59 GCS_MAVLink: log source sysid/compid in MAVC
For field length purposed had tor remove Current and autocontinue which we don't care about
anyway.
2021-09-07 11:06:08 +10:00
Peter Barker a292fe13d6 GCS_MAVLink: add option to create internal error via preflight-reboot
useful for testing our handling of internal errors
2021-09-01 18:58:15 +10:00
Andrew Tridgell ae615de4ce GCS_MAVLink: added logging of NAMED_VALUE_FLOAT
this is useful when running sensors on a companion computer and
wanting values logged in main ArduPilot log.
2021-09-01 17:52:48 +10:00
Andrew Tridgell dc252aa8f5 GCS_MAVLink: check for null comm_port before writing
this was found when adding debug code to write to a specific channel
2021-08-31 07:55:27 +10:00
olliw42 617024bdfa GCS_Mavlink: scale across full valid range 2021-08-26 09:44:59 +10:00
olliw42 bacfe82c66 GCS_MAVLINK: add receiver_rssi() method, and use it 2021-08-26 09:44:59 +10:00
Andrew Tridgell 5c3056e50d GCS_MAVLink: added MCU_STATUS message 2021-08-25 07:11:31 +10:00
Tom Pittenger 896dd49c96 GCS_MAVLink: add MAV_CMD_ADSB_IDENT cmd 2021-08-19 17:49:27 +10:00
bugobliterator e9faab288c GCS_MAVLink: allow mavftp on AP_Periph 2021-08-19 14:20:58 +10:00
Randy Mackay 2fba31332b GCS_MAVLink: support MAV_CMD_SET_EKF_SOURCE_SET command
this allows external systems to set the active EKF source set
2021-08-19 12:11:08 +10:00
Andrew Tridgell d92c5589a9 GCS_MAVLink: added fields for new mavlink2 extensions 2021-08-19 12:08:54 +10:00
Peter Barker a91d30369e GCS_MAVLink: stop sending SENSOR_OFFSETS
Only works for first compass instance.

We have all of these in parameters anyway.
2021-08-18 18:06:24 +10:00
Peter Barker 784c56f6d0 GCS_MVALink: remove virtual from send_simstate
No longer overridden by anyone
2021-08-10 09:48:34 +10:00
Peter Hall 60db4c1a62 GCS_Mavlink: add AIS msg 2021-08-10 08:11:18 +09:00
Andrew Tridgell 02ca6b67a2 GCS_MAVLINK: fixed macos snprintf error 2021-08-05 09:43:35 +10:00
bugobliterator 0d34a78701 GCS_MAVLink: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Peter Barker 76c4af6aef GCS_MAVLink: cope with MAV_CMD_ACCELCAL_VEHICLE_POS outside accelcal 2021-08-03 10:54:52 +10:00
Peter Barker 431c186306 GCS_MAVLink: use AP::compass().available in place of enabled() 2021-07-30 12:19:42 +10:00
Peter Barker ad89e9777c GCS_MAVLink: send primary quat in ATTITUDE_QUATERNION 2021-07-28 17:20:28 +10:00
bugobliterator 3d03979b16 GCS_MAVLink: add support for mavlink out on AP_Periph 2021-07-26 13:45:43 +10:00
Peter Barker e1b839f739 GCS_MAVLink: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker ec17abce2e GCS_MAVLink: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
bugobliterator f3bc75c538 GCS_MAVLink: add support for passthrough with baud changes 2021-07-21 17:06:41 +10:00
Stephen Dade 035f65fe03 GCS_MAVLink: Add support for HIGH_LATENCY2 messages 2021-07-07 17:10:05 +10:00
Siddharth Purohit 9a19a86a81 GCS_MAVLink: omit code that breaks build for herepro 2021-07-02 08:50:16 +10:00
Randy Mackay 3900a4f14a GCS_MAVLink: send water depth and temp 2021-06-30 12:05:09 +09:00
Siddharth Purohit 02c74a8fa1 GCS_MAVLink: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
Peter Barker 84603e2c85 GCS_MAVLink: add support for MAV_CMD_RUN_PREARM_CHECKS 2021-06-21 09:41:17 +10:00
Peter Barker a23999d0f0 GCS_MAVLink: remove HIL support 2021-06-15 09:47:31 +10:00
Peter Barker c43965f32e GCS_MAVLink: correct decimation of SENSOR_STATUS message
static infers shared between all backends
2021-06-15 07:07:39 +10:00
Andrew Tridgell 6c24a030a6 GCS_MAVLink: use HAL_EFI_ENABLED 2021-06-09 18:07:00 +10:00
Josh Henderson 518666b5f0 GCS_MAVLink: Add battery_charge_state to Battery_Status message 2021-06-08 09:27:13 +10:00
Andrew Tridgell 96577b47f0 GCS_MAVLink: removed perf counters 2021-06-07 14:29:27 +10:00
Peter Barker aaae7bda6b GCS_MAVLink: provide compatability with bad integer-stored radii 2021-06-06 11:41:30 +10:00
Peter Barker 09f4961a63 GCS_MAVLink: increase statustext queue size to 7 on low-mem boards
... and SITL....

Copter currently spits out so many messages on a banner-send (e.g what
we do when parameters are fetched) that it puses the first sent message
straight out of the queue before it gets a chance to be sent from the
queue.
2021-05-27 12:39:04 +10:00
giacomo892 f486d7170c GCS_MAVLink: Fix build for builds with GPS_MAX_RECEIVERS = 1 2021-05-18 10:26:55 +10:00
Andrew Tridgell 45daff9f47 GCS_MAVLINK: mag health reported in SYS_STATUS should not depend on AHRS use
When using external yaw, EKF3 always reports use_compass as false,
which causes the GCS to get a bad compass health message.

thanks to Argosdyne for reporting
2021-05-14 08:05:08 +09:00
Andy Piper fca6925129 GCS_MAVLink: use generic send_esc_telemetry_mavlink() from AP_ESC_Telem 2021-05-12 17:01:11 +10:00
Peter Barker bd76d15df4 GCS_MAVLink: log auxillary function invocations 2021-04-29 13:00:40 +10:00
Andrew Tridgell c53c112691 GCS_MAVLink: expose functions to convert fence and rally to mavlink
this allows for the @MISSION filesystem to download data in the
current mavlink format
2021-04-21 07:12:55 +10:00
Andrew Tridgell 8444a3310d GCS_MAVLink: added handle_command_landing_target()
used to allow vehicle handling of time corrected LANDING_TARGET msgs
2021-04-13 17:30:19 +10:00
Peter Barker 9471d8069c GCS_MAVLink: move handling of last-seen-SYSID_MYGCS up to GCS base class 2021-04-07 17:54:21 +10:00
Peter Barker 1a2b960b0d GCS_MAVLink: prune old statustexts from queue 2021-04-06 09:10:43 +10:00
Peter Barker 4027ed6070 GCS_MAVLink: make servicing statustext more efficient
We should only need to do a single PAYLOAD_SIZE check for each mavlink
backend now.

 - stop iterating over all channels, only do instantiated mavlink
backends
 - if we don't have space for a statustext on a channel, break
immediately and don't do remaining texts
 - resposibility is now on the GCS_MAVLINK backend for sending texts
   - that's a timing change

 - only iterate over entries actually in the queue rather than maximum
queue size
   - it's likely to be the full length anyway as we don't expire things
from the queue and most setups will have full channels
2021-04-06 09:10:43 +10:00
Iampete1 0fe38da522 GCS_MAVLink: rename battery reset function 2021-03-31 19:21:59 +11:00
Peter Barker 115e895c82 GCS_MAVLink: return MAV_RESULT_FAILED from do_aux_function if invalid function 2021-03-31 11:36:09 +11:00
Peter Barker 2d61ded1f3 GCS_MAVLink: add option to execute auxillary functions via mavlink 2021-03-31 11:36:09 +11:00
Randy Mackay b8f9c3b9c0 GCS_MAVLink: use of AP_Proximity checks HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Peter Barker 5123b05b2b GCS_MAVLink: add support for ATTITUDE_QUATERNION 2021-03-13 09:44:12 +11:00
James O'Shannessy f028747399 GCS_MAVLink: Remove todo since plane now supports MAV Protocol Capability Mission Fence 2021-03-05 16:48:57 +11:00
James O'Shannessy c2abf27d78 GCS_MAVLink: Add reporting of fence floor breaches to GCS_MAVLink
GCS_MAVLink: Add disabling of fence floor only, per mavlink spec

GCS_MAVLink: Cannot enable a fence if the fence is not present
2021-03-05 14:52:46 +11:00
Peter Barker e3de88d1d4 GCS_MAVLink: handle MAV_CMD_DO_SET_MISSION_CURRENT 2021-03-04 11:59:33 +11:00
Peter Barker 7480a2a00b GCS_MAVLink: correct output of AHRS2 mavlink message
The || here was causing short-circuiting
2021-03-02 20:48:36 +11:00
Peter Barker 9932aa99f7 GCS_MAVlink: return identical seq in MISSION_CURRENT if possible after set
// because MISSION_SET_CURRENT is a message not a command,
        // there is not ACK associated with us successfully changing
        // our waypoint.  Some GCSs use the fact we return exactly the
        // same mission sequence number in this packet as an ACK - so
        // if they send a MISSION_SET_CURRENT with seq number of 4
        // then they expect to receive a MISSION_CURRENT message with
        // exactly that sequence number in it, even if ArduPilot never
        // actually holds that as a sequence number (e.g. packet.seq==0).
2021-02-24 19:00:34 +11:00
Peter Barker cfe9dc32d1 GCS_MAVLink: only send distance_sensor messages if valid data seen
In the case you only have a forward-pointing LIDAR we'd send messages
for each of the other orientations from proximty's horizontal-distances
array, chewing up bandwidth and processing time.
2021-02-23 10:02:47 +09:00
Peter Barker c5e62eb6e4 GCS_MAVLink: schedule current waypoint rather than immediate send
This message may not fit in our outgoing buffer
2021-02-23 11:27:22 +11:00
Patrick José Pereira ba2adac869 GCS_MAVLink: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Peter Barker 1afa0a7ff2 GCS_MAVLink: remove unused member
and a bogus comment
2021-02-20 21:48:25 +11:00
Peter Barker eefcc92f24 GCS_MAVLink: take MAV_CMD_DO_SPRAYER as a mavlink command 2021-02-16 22:36:43 +11:00
Peter Hall c1a831bbf4 GCS_MAVLink: sensor flags, only mark AHRS as enabled once initialised 2021-02-16 12:54:28 +11:00
Andrew Tridgell 6d1511f3eb GCS_MAVLink: added method to force save calibration
useful after reloading parameters
2021-02-15 07:24:40 +11:00
Mark Whitehorn bb15c18cc3 GCS_MAVLink: send message when MAVFTP init fails 2021-02-10 23:06:36 +11:00
murata 698f967b63 GCS_MAVLink: Notify the maximum number of missions
Update libraries/GCS_MAVLink/MissionItemProtocol.cpp

Co-authored-by: WickedShell <Wicked.Shell.Scripts@gmail.com>

GCS_MAVLink: Notify the maximum number of missions
2021-02-03 20:31:50 +11:00
Patrick José Pereira e8e41c512e GCS_MAVLINK: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Rishabh a5fafe57d8 GCS_MAVLink: Add support for OBSTACLE_DISTANCE_3D 2021-02-01 14:34:13 +09:00
Andrew Tridgell 1716fcf995 GCS_MAVLink: fixed valgrind errors with AP_Param::ParamToken 2021-01-26 10:43:09 +11:00
Peter Barker e32ca819fc GCS_MAVLink: mark results as unused 2021-01-21 20:41:17 +11:00
Peter Barker e58d2ecf2f GCS_MAVLink: add mavlink command option to create a 250ms long loop 2021-01-21 11:35:57 +11:00
yaapu 1c3b7d5ecd GCS_MAVLink: added support for passthrough telemetry over crossfire 2021-01-20 18:06:24 +11:00
Pierre Kancir 30a4747898 GCS_MAVLink: send sim_state msg 2021-01-19 10:40:43 +11:00
Andrew Tridgell ed8d86e5e6 GCS_MAVLINK: support deliberate parameter corruption 2021-01-16 06:47:10 +11:00
Peter Barker 3d577d94e8 GCS_MAVLink: 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
Peter Barker 0052500d67 GCS_MAVLink: split out a handle_command_component_arm_disarm 2021-01-12 08:48:44 +09:00
Brad Bosch a2192eda5e GCS_MAVLink: use RADIO_STATUS message txbuf field
this avoids overrunning radio buffer in queued_param_send()
2021-01-12 10:46:15 +11:00
Andrew Tridgell 882d9c4e23 GCS_MAVLink: adjust stack sizes 2021-01-10 08:28:55 +11:00
Peter Barker d24e569b20 GCS_MAVLink: add option to panic the autopilot 2021-01-05 10:04:25 +11:00
Peter Barker b8827e6486 GCS_MAVLink: allow control to be return to radio for higher-numbered RC_CHANNELS_OVERRIDE 2020-12-29 15:03:34 +11:00
Peter Barker 6f4bbd3f57 GCS_MAVLink: for high RC_CHANNELS_OVERRIDE channels zero means ignore the field 2020-12-29 15:03:34 +11:00
Andrew Tridgell e6c5382a28 GCS_MAVLINK: fixed FPE in DO_SET_ROI
this prevents a floating point exception when MissionPlanner sends an
invalid DO_SET_ROI

See https://github.com/ArduPilot/MissionPlanner/issues/2528
2020-12-28 11:53:03 +11:00
Dr.-Ing. Amilcar do Carmo Lucas d76825feeb GCS_MAVLink: adapt to upstream changes in the distance_sensor mavlink message 2020-12-19 19:54:03 +11:00
Andrew Tridgell 6df118e7b4 GCS_MAVLink: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 1d0e7d2974 GCS_MAVLink: Added cells 11...14 voltage information (13 and 14 are 0 for now) 2020-12-11 06:37:32 +11:00
Andrew Tridgell 5e3bf0a703 GCS_MAVLink: implement BRD_OPTIONS bit for setting of internal parameters 2020-12-08 13:22:17 +11:00
Andrew Tridgell 8b5ff1a6de GCS_MAVLink: enable GCS_SEND_TEXT() to send as CAN LogMessage messages 2020-12-04 15:16:21 +11:00
Peter Barker 88895f9b13 GCS_MAVLink: stop using one backend's signing structure for all backends 2020-11-30 14:11:08 +11:00
Gone4Dirt caf1ad28d5 GCS_Common: AP_Generator_Richenpower is now AP_Generator 2020-11-24 12:54:52 +11:00
Peter Barker f0c22244a5 GCS_MAVLink: correct response codes when mode change fails
Was "UNSUPPORTED", which is supposed to mean, "Command is not supported"

Now is either "DENIED" (Command is invalid (is supported but has invalid
parameters)) or "FAILED" (Command is valid, but execution has failed.)

We should probably returned DENIED if we try to change to a mode which
doesn't exist, but that would require another callback on AP_Vehicle.
It would also lead to questions around what a valid mode is - so
QSTABILIZE if quadplane is disabled in Plane, for example.
2020-11-24 10:09:37 +11:00
Hwurzburg 6eca18c08b GCS_MAVLink: add Board option to disable MAVftp in low mem bds/apps 2020-11-17 10:41:59 +11:00
Andrew Tridgell 9c74474196 GCS_MAVLink: setup baudrates for passthru serial ports 2020-11-17 10:26:14 +11:00
Peter Barker 41943f5fda GCS_MAVLink: correct use of uninitialised value in Rally upload 2020-11-11 18:22:58 +11:00
Andy Piper 4d1c660ebc GCS_MAVLink: enable OSD parameters on parameter enablement 2020-11-11 18:13:11 +11:00
Andrew Tridgell 147df12eb8 GCS_MAVLink: allow replay to use GCS_Dummy 2020-11-10 16:15:45 +11:00
Tatsuya Yamaguchi e1126d4fd6 GCS_MAVLink: use micro64 instead of micros for time_usec 2020-10-27 15:37:29 +11:00
Iampete1 73594cb19b GCS_MAVLink: send airspeed temp in scaled_pressure 2020-10-27 11:24:49 +11:00
Peter Barker 74f75dcd31 GCS_MAVLink: fill AUTOPILOT_VERSION.uid2 from get_system_id_unformatted 2020-10-21 18:26:12 +11:00
Peter Barker 7c8df47ac9 GCS_MAVLink: process messages sent to broadcast system
.... even if we've forwarded them to someone else.
2020-10-21 18:22:48 +11:00
Peter Barker d3ba7a8409 GCS_MAVLink: don't learn a route to the broadcast component
Using a component ID of 0 for your source is invalid according to
common.xml

However, some clients do use it.

This stops us learning a route to that client for the broadcast client
for our own system ID.
2020-10-21 18:22:48 +11:00
murata 6304ade668 GCS_MAVLink: Change to leave the lower 16 bits. 2020-10-13 12:06:18 +11:00
Andrew Tridgell e346cd3c80 GCS_MAVLink: fixed use of incorrect millis16() values 2020-10-12 13:48:15 +11:00
Peter Barker 45f7322af6 GCS_MAVLink: avoid catching up on sending messages when sending disrupted
The code here was never meant to maintain an "average" streamrate.  It
was designed so that we would maintain a consistent clock in the face of
minor scheduling anomalies (like an EKF fusion step).

The way this is written, however, makes us spit out a message for each
of the intervals we missed - clearly not intended behaviour.

This was tested by inserting the following code:

 void GCS_MAVLINK::update_send()
 {
+    const uint32_t xnow = AP_HAL::millis();
+    if (xnow > 10000 &&
+        xnow < 20000) {
+        return;
+    }
+
2020-10-12 13:48:15 +11:00
Patrick José Pereira 8701e3626d GCS_MAVLink: Update GCS_Dummy to use new AP_FWVersionDefine header
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-07 19:32:12 +11:00
Peter Barker 7cb8cde417 GCS_MAVLink: move orderly rebooting code from GCS into AP_Vehicle
Several places we reboot the vehicle we should probably do several of
the things done in this code - flushing parameters, forcing safety on
etc.
2020-09-29 18:07:59 +10:00
yaapu e7a49dd624 GCS_Mavlink: refactor zero_rc_outputs() out of GCS_Mavlink 2020-09-29 18:07:59 +10:00
Peter Barker 0c88af99da GCS_MAVLink: revert removal of private channel check when forwarding
This reverts 6dc77c97ce

The commit caused a regression on Solo as the gimbal is "nodding",
indicating traffic from the autopilot is getting through to the gimbal.
2020-09-25 09:42:27 +10:00
Andy Piper 5d487be242 GCS_MAVLink: squash enum type error 2020-09-22 09:37:02 +10:00
Andy Piper 8b766efb0a GCS_MAVLink: add support for updating OSD parameters over mavlink 2020-09-09 20:36:42 +10:00
Andrew Tridgell 74686f8dc4 GCS_MAVLink: fixed locking of mavlink in serial control
this fixes takeover of mavlink ports for high serial numbers
2020-09-08 09:01:16 +10:00
Sharvashish Das 80e2dbc9f2 GCS_Common: send_local_position uses offset from origin 2020-09-01 10:27:18 +10:00
Andrew Tridgell 30f9fd9d2a GCS_MAVLink: fixed overrun of text passed to other libraries
this caused corruption in log files, and was passing a
non-nul-terminated string to notify and other libraries
2020-08-28 17:35:17 +10:00
Siddharth Purohit 42f5f986d8 GCS_MAVLink: use AP_CANManager library
also add support for handling enumeration cmd by KDETest
2020-08-19 17:31:09 +10:00
Peter Barker 0e284b95b0 GCS_MAVLink: move battery type enumeration out of parameters object 2020-08-11 13:21:52 +10:00
Michael du Breuil 6dc77c97ce GCS_MAVLink: Remove redundant check for private channels
We can't learn the route for sending to a private channel, so we
shouldn't need to actually check it when iterating the routes.
2020-08-11 09:49:42 +10:00
Randy Mackay 1a3ef62b84 GCS_MAVLink: add virtual send_winch_status 2020-08-07 21:55:07 +09:00
Siddharth Purohit 1a08252504 GCS_MAVLink: add support for bank selection on SPI DEVICE_OPs 2020-08-06 12:41:35 +10:00
elhayra 9b3a574775 GCS_MAVLink: sending UAVCAN MAVlink ESC messages 2020-08-06 09:28:35 +10:00
Andy Piper e91ae19544 GCS_MAVLink: make mount/gimbal configurable on a per-board basis 2020-08-04 09:18:14 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 7067cbdafd GCS_Mavlink: Adapt to upstream mavlink changes to the SCALED_PRESSURE message 2020-07-29 14:34:22 +10:00
Michael du Breuil 6773821b3b GCS_MAVLink: Don't forward MAVLink data on channels marked private, make private channels more private 2020-07-22 07:17:49 +10:00
Andy Piper 05416daef3 GCS_Mavlink: output fast sampling startup messages 2020-07-10 16:45:29 +10:00
Andrew Tridgell 5a18b16f69 GCS_MAVLink: use strncpy_noterm 2020-07-10 13:32:24 +10:00
Andrew Tridgell 9466e7e71e GCS_MAVLink: make correct_offboard_timestamp_usec_to_ms protected
for use by vehicle code
2020-07-10 13:28:38 +10:00
Andrew Tridgell 91aaa7876d GCS_MAVLink: reserve another mavlink channel
for SimShip
2020-07-10 13:28:38 +10:00
Peter Barker 741520d598 GCS_MAVLink: find next bucket to send when sending-ids emptied on msg removal
We need to find the next bucket of messages to send when we've removed
the last message id from the current set of IDs we're sending out - not
just when we've empted the bucket the messages came from in the first
place.

An internal check caught this bug - the
'next_deferred_bucket_message_to_send called on empty bucket' error
2020-07-07 10:49:31 +10:00
Andrew Tridgell 90232fa6c0 GCS_MAVLink: fixed alignment errors in FTP server 2020-07-07 10:23:00 +10:00
Peter Barker e2056f56e3 GCS_MAVLink: support for sending generator message 2020-07-03 08:21:42 +09:00
Randy Mackay 03ea646e50 GCS_MAVLink: send_battery_status uses memcpy for cell voltages
Co-authored-by: WickedShell <Wicked.Shell.Scripts@gmail.com>
2020-06-24 10:19:15 +09:00
Randy Mackay 65aea0e9c1 GCS_MAVLink: send_battery_status sends min of cell 10 11 and 12 2020-06-24 10:19:15 +09:00
Michael du Breuil 7fae084793 GCS_MAVLink: Only send a single battery status per call 2020-06-23 09:18:56 +10:00
Peter Barker e4621e6921 GCS_MAVLink: do not process commands after we have decided to reboot 2020-06-17 11:54:03 +10:00
chobits 991387dbfb GCS_MAVLink: support covariance field in vis pose msg 2020-06-09 13:31:21 +09:00
Peter Barker f158533fe9 GCS_MAVLink: allow private channels to also be active
This will allow for logging of private channels.
2020-06-09 10:37:32 +10:00
Peter Barker 06012cbc56 GCS_MAVLink: cope with RingBuffer rename if empty() to is_empty() 2020-06-09 10:21:48 +10:00
Peter Barker b428f12913 GCS_MAVLink: add and use accessor for last-RADIO_STATUS.remrssi-ms 2020-06-09 10:20:29 +10:00
Peter Barker 07e3f1d48f GCS_MAVLink: add RADIO_STATUS.rssi as an AP_RSSI telemetry source 2020-06-09 10:20:29 +10:00
Peter Barker c1de346150 GCS_MAVLink: avoid copying data twice in ftp transfers 2020-06-07 08:51:09 +10:00
chobits ff6e4c4f9a GCS_MAVLink: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
Andrew Tridgell fc28cd4fa2 GCS_MAVLink: fixed a ftp duplicate reply
this fixes a bug in burst replies where the duplicate reply may have
the wrong offset. This causes the "paramftp bad type" error
2020-05-14 09:53:42 +10:00
Peter Barker 5100c9fb8c GCS_Common: whitelist AUTOPILOT_VERSION for in_delay_callback sending
GCSs may request this very early on in the boot process, particularly
for SITL.

If we try to send it during a delay callback then we end up dropping it
at the moment - but we'd already sent the ack in response to the
request.
2020-05-11 15:22:38 +10:00
Andrew Tridgell 87c2858bde GCS_MAVLink: give banner on param download with ftp
thanks to Peter for noticing
2020-05-10 15:10:21 +10:00
Andy Piper da166b256d GCS_MAVLink: add messages to Spektrum telemetry if it is enabled 2020-05-05 09:23:15 +10:00
Peter Barker 81454c7a40 GCS_MAVLink: create and use INTERNAL_ERROR macro so we get line numbers 2020-04-30 13:21:36 +10:00
Andrew Tridgell 7571e616de GCS_MAVLink: handle session timeout due to lost packets
and fixed handling of losing last pkt in a burst
2020-04-29 07:36:55 +10:00
Andrew Tridgell 65e790a48c GCS_MAVLink: invalidate param count on set of ENABLE param 2020-04-29 07:36:55 +10:00
Andrew Tridgell 7cd901fa5b GCS_MAVLink: enable ftp without filesystem
allows for @PARAM and @SYS
2020-04-29 07:36:55 +10:00
Andrew Tridgell 6811d79b6f GCS_MAVLink: define GCS_SEND_TEXT() globally
used to avoid linking GCS in AP_Periph
2020-04-29 07:36:55 +10:00
Peter Barker 26b88823f4 GCS_MAVLink: correct out-of-space-to-send call in HAVE_PAYLOAD_SPACE 2020-04-27 15:30:30 +10:00
Peter Barker 8b0b644c11 GCS_MAVLink: correct check for payload space for COMMAND_ACK 2020-04-27 15:30:30 +10:00
Peter Barker 668e0d0e65 GCS_MAVLink: check for empty replies queue first thing in send_ftp_replies
Will save us a little time on average
2020-04-27 15:30:30 +10:00
Randy Mackay 6f8176c71e GCS_MAVLink: remove ahrs3 2020-04-22 14:11:17 +09:00
Peter Barker 8b9281eaa1 GCS_MAVLink: log number of times message not sent due to no space 2020-04-17 22:21:14 +10:00
Peter Barker 41ada7f8f4 GCS_MAVLink: document the payload-space macros 2020-04-17 10:20:49 +10:00
Randy Mackay c39fef6c56 GCS_MAVLink: pass vision-position-estimate reset_counter to AP_VisualOdom handler 2020-04-14 10:28:03 +10:00
Randy Mackay 9769f08fd9 GCS_MAVLink: visual odometry build fixes 2020-04-09 19:41:08 +09:00
Randy Mackay a9c1eb5af4 GCS_MAVLink: fill in sys_status vision position bits 2020-04-09 19:41:08 +09:00
Randy Mackay a1ddd55ea5 GCS_MAVlink: AP_integrate of rename to handle_vision_position_delta_msg 2020-04-09 19:41:08 +09:00
Randy Mackay 728e8b45a9 GCS_MAVLink: use AP_VisualOdom to handle vision-position-estimate messages 2020-04-09 19:41:08 +09:00
Siddharth Purohit b0cbbb4bea GCS_Common: fix unannotated fall-through between switch labels 2020-04-01 17:10:36 +11:00
Andrew Tridgell 21e93dae34 GCS_MAVLink: send only old value for readonly param set
this prevents a condition where the GCS can display the wrong value if
the 2nd PARAM_VALUE is lost

Note that groundstations can tell the set failed due to readonly in
the following ways:

 1) look for the statustext: Param write denied (PARAMNAME)

 2) see that the value came back with the old value, with index of
   65535

 3) can repeat the send, looking for (1) and (2)

Michael has proposed we add a PARAM_VALUE mavlink2 flags
extension. That would be nice, but we should still make this change to
fix the issue with mavlink 1.0
2020-03-31 11:19:58 +11:00
Peter Barker 55d37e5d0e GCS_MAVLink: correct slowing down of waypoint re-requests
These re-requests shouldn't be slowed down by a factor of 20.

This was a left-over from when we did these in terms of 20ms intervals
(50Hz loop rate)
2020-03-31 11:15:04 +11:00
Peter Barker ca7fcc093c GCS_MAVLink: correct return type on get_stream_slowdown_ms
Only used in one place.  On slow links may have caused us to re-request
a waypoint too often.  "Too often" is still >1s intervals.
2020-03-31 11:15:04 +11:00
Peter Barker 0b756547be GCS_MAVLink: add stream_slowdown to MAV message 2020-03-31 11:13:11 +11:00
Peter Barker 7028f1adba GCS_MAVLink: GCS_FTP: remove redundant more_pending variable
This is taken care of by the "break" statements
2020-03-31 10:38:13 +11:00
Peter Barker a09ac895e9 GCS_MAVLink: remove dead assignment
This value is never used
2020-03-31 10:38:13 +11:00
Michael du Breuil 18baf18041 GCS_MAVLink: Remove redundant assignment to the command
This is done internally by the conversion to mission_item_int_t
2020-03-31 10:35:49 +11:00
Randy Mackay ecf5abc1f2 GCS_MAVLink: minor format fix 2020-03-30 20:20:08 +09:00
Andrew Tridgell e7fdf8fad1 GCS_MAVLink: reduced delay between ftp packets 2020-03-28 15:28:03 +11:00
Andrew Tridgell 5c9ae33151 GCS_MAVLink: support variable sized packets in burst read
this allows packet size to be tailored to the transport
2020-03-28 15:28:03 +11:00
Andrew Tridgell 8a84dbc19e GCS_MAVLink: slow down telemetry during ftp 2020-03-28 15:28:03 +11:00
Andrew Tridgell c1d4a5bd35 GCS_MAVLINK: prevent closedir() with nullptr 2020-03-28 15:28:03 +11:00
Andrew Tridgell 28082774b6 GCS_MAVLink: use new DirHandle for directory listings 2020-03-28 15:28:03 +11:00
Peter Barker 97b07d9c84 GCS_MAVLink: add option to get the autopilot to hard-fault itself 2020-03-19 16:03:58 +11:00
Andrew Tridgell 39fc324854 GCS_MAVLink: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Andrew Tridgell aaf828c9d4 GCS_MAVLink: consider NO_CHANGE as success for bootloader flash
this prevents GCS users from seeing "update failed"
2020-03-11 16:30:06 +11:00
Peter Barker ebfa910774 GCS_MAVLink: GCS_Dummy: add missing CR to console output of statustexts
send_text and friends don't expect the caller to add the CR; the GCS
will add one.  Since we're jsut emitting to console, add one ourselves.
2020-03-10 19:07:08 +11:00
Rishabh f3e66055e5 GCS_MAVLink: Alert GCS if user tries calibration while vehicle is armed 2020-03-03 11:37:19 +11:00
Peter Barker fbe2e75b9f GCS_MAVLink: divide time allowed to send messages fairly 2020-02-27 08:49:59 +11:00
Peter Barker 727c12c388 GCS_MAVLink: move initialisation of serial and gcs to AP_Vehicle 2020-02-25 11:50:55 +11:00
Peter Barker e2c9f6a8a1 GCS_MAVLink: add flags to MAV dataflash log
holds various pieces of simple information about a link
2020-02-25 10:59:22 +11:00
Peter Barker f8f4ed7ee0 GCS_MAVLink: log disarm method 2020-02-22 12:16:29 +11:00
Andrew Tridgell 20ea1a3dc7 GCS_MAVLink: don't send statustext from other than main thread
This fixes high stack usage in the RCIN thread when it notifies the
GCS of a new RCIN protocol. The problem is severe when signing is
enabled, as signing adds over 500 bytes to stack cost of sending a
mavlink msg

fixes issue #13615
2020-02-20 10:39:29 +11:00
Michael du Breuil 1f8c030eba GCS_MAVLink: Allow scripting to start/stop the REPL 2020-02-18 17:23:22 -07:00
Michael du Breuil 296c014d14 GCS_MAVLink: Fix excess trimming of autopilot version 2020-02-19 09:10:02 +11:00
Andrew Tridgell 32ecd904bd GCS_MAVLink: use MAV_SYS_STATUS_PREARM_CHECK
this allows GCS to continually display prearm check status
2020-02-18 15:16:02 +11:00
Matt Lawrence c84dcd9bf8 GCS_Mavlink: Add routing for GoPro heartbeat 2020-02-18 11:13:27 +11:00
Peter Barker 87a31c6409 GCS_MAVLink: don't recalculate max parameter count if not streaming params 2020-02-18 10:33:41 +11:00
Peter Hall b1742b4e19 GCS_Mavlink: constrain battery current to avoid wrap 2020-02-12 08:04:39 +11:00
Andrew Tridgell f7eba43cb8 GCS_MAVLink: raise ftp stack size to 3072 from 1024
this prevents memory corruption on directory listing
2020-02-11 13:32:17 +11:00
Peter Hall ba811052f8 GCS_Mavlink: report on fence limiting 2020-02-04 10:24:33 +09:00
Randy Mackay 7a5f57f940 GCS_MAVLink: send rc output mode banner to GCS 2020-02-04 12:23:33 +11:00
Peter Barker 1650979a2b GCS_MAVLink: add support for MAV_CMD_DEBUG_TRAP 2020-01-29 10:27:01 +11:00
Andrew Tridgell 0e7ddebd15 GCS_MAVLink: fix for updated mavlink extensions 2020-01-29 08:16:59 +11:00
Peter Barker e248bdfb16 GCS_MAVLink: split statustexts into 50-byte chunks using mav2 extensions 2020-01-28 19:56:38 +11:00
Peter Barker 8fc64ccbe9 GCS_MAVLink: allow NavEKFs to be compiled out 2020-01-21 11:53:18 +11:00
Peter Barker a9f62f196e GCS_MAVLink: consolidate places we snprintf statustexts 2020-01-14 10:38:43 +11:00
Andrew Tridgell 8ae5dffd31 GCS_MAVLink: fixed valgrind error in mission upload
affects DO_JUMP
2020-01-11 08:29:34 +11:00
Randy Mackay 188fdfb1b8 GCS_MAVLink: send optflow message even if no height estimate 2020-01-06 11:36:43 +09:00
Andrew Tridgell 1b528137f7 GCS_MAVLINK: cope with AP_Frsky_Telem being created after init
may be created by the FPort backend
2020-01-02 09:52:57 +11:00
murata 91e09338ea GCS_MAVLInk: Judgment of non-existence value by PARAM_SET 2019-12-31 10:12:01 +11:00
Andrew Tridgell c6322c7c98 GCS_MAVLink: send abs throttle in VFR_HUD 2019-12-24 15:14:03 +11:00
Peter Barker 01710c035e GCS_MAVLink: handle proximity and rangefinder messages 2019-12-24 12:08:54 +11:00
Oliver Walters 5fa54f3986 GCS_MAVLink: added support for Piccolo CAN ESCs 2019-12-22 09:48:40 +11:00
Peter Barker d1bbe4f03b GCS_MAVLink: correct output when ROUTING_DEBUG is set
This is a define in the code itself, so rarely a problem
2019-12-20 10:00:07 +11:00
Andrew Tridgell dd73eac08c GCS_MAVLink: support MAV_CMD_FIXED_MAG_CAL_YAW 2019-12-18 17:20:37 +11:00
Peter Barker ebbcd00873 GCS_MAVLink: send statustext to all GCSs until update_send is called
until update_send it called we don't mark channels as streaming, so
send_statustext won't send to that channel.

Calculating the streaming mask could have been done as part of the init
call, but this fix may allow for information getting to the user in the
case that the streaming parameters are all zero, too.
2019-12-18 14:36:58 +11:00
Andrew Tridgell f8f591c7db GCS_MAVLink: fixed critical error on prefight cal ops 2019-12-13 09:30:48 +11:00
Randy Mackay 6d94d2b62f GCS_MAVLink: remove send-text re allocating for fence 2019-12-10 08:51:19 +11:00
Peter Barker b48da34c61 GCS_MAVLink: move setting of GPS SYS_STATUS bits up to base class 2019-12-05 13:02:19 +11:00
Andrew Tridgell 1eebae2346 GCS_MAVLink: use new SERIAL_CONTROL_SERIALn enums 2019-12-01 12:48:23 +11:00
Peter Barker 314ea32ede GCS_MAVLink: any internal error means MAV_STATE_CRITICAL 2019-11-27 14:27:53 +11:00
Marian Soban 6e961b55eb GCS_MAVLink: LTM telemetry support 2019-11-26 12:14:13 +11:00
Peter Barker a96a4c0510 GCS_MAVLink: correct encoding used for send_to_components
These have to be packed onto the channel - otherwise they may ge
tencoded as mavlink1 instead of mavlink2 (or vice-versa)
2019-11-26 12:10:12 +11:00
Michael du Breuil 7582a5b4a4 GCS_MAVLink: Send GPS logging as part of the logging status bits 2019-11-20 11:06:16 -07:00
Andrew Tridgell 2b27cd2ce9 Plane: Add EFI Support 2019-11-17 20:10:54 +11:00
Andrew Tridgell 00e3344321 GCS_MAVLink: add EFI_STATUS message 2019-11-17 20:10:54 +11:00
Peter Barker 7d2557b316 GCS_MAVLink: correct txspace return value issues
- checking of space in send_to_active_channels was incorrect - did not
take into account locked status of the channel

 - corrected return value on comm_get_txspace - took a uint32_t, cast it
to int16_t, checked it for zero, then cast it to uint16_t on return.
That's just... odd.
2019-11-12 16:33:12 +11:00
Peter Barker a893a5483c GCS_MAVLink: support sysid targetting 2019-11-12 07:52:22 +08:00
Peter Barker ac7111f1d1 GCS_MAVLink: adjust for renaming of RangeFinder files 2019-11-12 07:14:37 +08:00
Mark Whitehorn a25846b8a2 GCS_MAVLink: change in_sensor_config_error to in_config_error 2019-11-08 10:14:34 +11:00
Peter Barker 402f3ec09c GCS_MAVLink: honour coordinate altitude frames for DO_SET_ROI
Also use {} to construct the location.

Note the assumption that the frame is relative-to-home when we receive
the command via COMMAND (as opposed to COMMAND_LONG)

Note that this is a behavioural change as
2019-11-05 19:55:45 +11:00
Peter Barker 66d460c19b GCS_MAVLink: correct format in short-write panic message 2019-11-05 11:29:08 +11:00
Peter Barker b9dbfff0d0 GCS_MAVLink: announce capabilities compass-cal and param float for all vehicles 2019-11-05 11:26:23 +11:00
Andrew Tridgell 43da68ae59 GCS_MAVLink: added ftp_push_replies() 2019-11-02 22:52:06 +11:00
Andrew Tridgell 10ed848dd7 GCS_MAVLink: fixed comment 2019-11-02 22:52:06 +11:00
Andrew Tridgell 15fc3f3d75 GCS_MAVLink: fixed session handling for ftp 2019-11-02 22:52:06 +11:00
Andrew Tridgell 00549d13fa GCS_MAVLink: rename emit_dir_entry to gen_dir_entry
comment from Sid
2019-11-02 22:52:06 +11:00
Andrew Tridgell e5321b6201 GCS_MAVLink: fixes from my review 2019-11-02 22:52:06 +11:00
Michael du Breuil 6f538dd45a GCS_MAVLink: Initial FTP support 2019-11-02 22:52:06 +11:00
Peter Barker 4838ee6f58 GCS_MAVLink: check reply channel for space rather than current channel 2019-11-02 10:34:03 +11:00
Peter Barker 34eff6d1c6 GCS_MAVLink: adjust for proximity status namespace change 2019-10-31 11:58:15 +08:00
Peter Barker 5c3a0926a1 GCS_MAVLink: adjust for proximity rangefinder types changing namespacing 2019-10-31 11:58:15 +08:00
Randy Mackay 96616343ce GCS_MAVLink: mission item support more mav frames 2019-10-30 18:27:07 +08:00
Andrew Tridgell 4593697634 GCS_MAVLink: use new flash_bootloader() API 2019-10-25 21:36:55 +11:00
Michael du Breuil cb1b236439 GCS_MAVLink: Use the vehicle singleton to directly set the flight mode 2019-10-25 08:48:22 +08:00
Andrew Tridgell c03796d7de GCS_MAVLink: fixed uninitialised bytes in send_named_float()
this fixes an issue with mavproxy with python3
2019-10-17 13:50:35 +11:00
Randy Mackay 7ce2fb8783 GCS_Mavlink: handle_preflight_reboot made virtual 2019-10-15 07:41:44 +09:00
Andrew Tridgell 29e65a7294 GCS_MAVLink: supply IMU temperature in mavlink extensions 2019-10-10 13:23:03 +11:00
Do Carmo Lucas dc4ad26e96 GCS_MAVLink: updates to support the latest stable mavlink changes (IMU temperature extension) 2019-10-10 13:23:03 +11:00
Randy Mackay 8686197c59 GCS_MAVLink: add comment above set-message-interval 2019-10-02 16:17:09 +09:00
Randy Mackay 3a113a31bb GCS_MAVLink: minor fix to set_message_interval 2019-10-02 16:09:44 +09:00
Tatsuya Yamaguchi 9a99d9bff5 GCS_MAVLink: add set_message_interval functions 2019-10-02 16:09:44 +09:00
Andrew Tridgell 0deef76875 GCS_MAVLink: use HAL_MEM_CLASS for status sizes 2019-10-01 09:29:55 +10:00
Peter Barker 6d0c5da84a GCS_MAVLink: allow upload of fence using mission item protocol
GCS_MAVLink: add support for fence inclusion circles

GCS_MAVLink: factor out a transfer_is_complete; start commenting properly
2019-09-28 07:58:48 +09:00
Peter Barker 74aed5aef8 GCS_MAVLink: cope with polyfence holding boundary points 2019-09-28 07:58:48 +09:00
Peter Barker bc8e56966f GCS_MAVLink: squelched rally-points-received message 2019-09-28 07:58:48 +09:00
Randy Mackay 5e3c6b4d3a GCS_MAVLink: allow proximity to send only upward facing distances
this removes the requirement that a horizontal proximity sensor be enabled
2019-09-25 15:22:13 +09:00
Michael du Breuil 5000891a76 GCS_MAVLink: remove some unused includes 2019-09-19 10:48:25 +09:00
Peter Barker 2f60b230cd GCS_MAVLink: use singleton to get AP_AdvancedFailsafe pointer 2019-09-17 09:13:43 +10:00
Peter Barker 8da978b913 GCS_MAVLink: use sending_mavlink1 method in send_rc_channels_raw 2019-09-12 16:10:23 +10:00
Andrew Tridgell 8bb6a67b36 GCS_MAVLink: refuse set of read-only parameters 2019-09-12 10:50:30 +10:00
Andrew Tridgell 98c2606c0a GCS_MAVLink: fixed assumption on return of snprintf 2019-09-12 08:43:31 +10:00
Peter Barker 8fc55b9678 GCS_MAVLink: remove comm_get_available
available returns an unsigned integer, so this was just weird
2019-09-10 15:45:27 +10:00
Peter Barker df5921a87c GCS_MAVLink: gate AP_DEVO_Telem behind !HAL_MINIMIZE_FEATURES 2019-09-04 17:47:33 +10:00
Michael du Breuil e5eeb6181d GCS_MAVLink: Remove the usage of force_safety_no_wait 2019-09-04 07:14:50 +10:00
Michael du Breuil a74f00d045 GCS_MAVLink: Remove single use method 2019-09-03 14:35:17 +10:00
Peter Barker 9da0efaaef GCS_MAVLink: fill SYS_STATUS bits from AC_Fence 2019-09-03 09:12:24 +10:00
Michael du Breuil c85c9faa6d GCS_MAVLink: Directly include needed headers 2019-08-28 13:13:03 +10:00
Peter Barker 5d9b332bcb GCS_MAVLink: log exectuted COMMAND_LONG and COMMAND_INT packets 2019-08-27 09:32:00 +10:00
Andrew Tridgell cfc37f2089 GCS_MAVLink: log corrected timestamp for vision data
this allows for debugging of link lag issues
2019-08-26 12:27:31 +10:00
Peter Barker 2acc53ec17 GCS_MAVLink: break out of loop statement once we have a result 2019-08-24 15:33:50 +10:00
Peter Barker 052e721622 GCS_MAVLink: tweak timings debug messages 2019-08-24 15:33:50 +10:00
Peter Barker 4f9d1ada33 GCS_MAVLink: deny setting MIS_TOTAL parameter
Closes #11413

GCS_MAVLink: conform to parameter protocol requirements while ignoring sets

GCS_MAVLink: use internal-use-only param bit
2019-08-22 09:23:56 +10:00
Peter Barker 03c439f9ab GCS_MAVLink: make update_sensor_status_flags private 2019-08-17 17:45:03 +10:00
Peter Barker 74670a77be GCS_MAVLink: avoid allocating a GCS_MAVLINK per mavlink channel 2019-08-14 18:25:43 +10:00
Peter Barker 67bf00c1c3 GCS_MAVLink: ensure payload space before sending message ack
Also add comment about how we shouldn't be sending this message at all.
2019-08-13 16:48:17 +10:00
Peter Barker bb542ca39a GCS_MAVLink: queue AUTOPILOT_VERSION for sending instead of direct-send
Also allows the message to be requested for streaming or with
REQUEST_MESSAGE

We weren't checking for buffer space before sending this out, so it was
a possible source of corruption.
2019-08-13 16:29:45 +10:00
Peter Barker 57528b94cf GCS_MAVLink: allow complete() call on subclasses to fail
Also terminate uploads if any error occurs fetching items
2019-08-07 12:07:59 +10:00
Peter Barker 4b012ab62b GCS_MAVLink: deny upload of non-MISSION items if not doing mavlink2 2019-08-06 13:58:44 +10:00
Peter Barker 4e95832433 GCS_MAVLink: send mission acks for bad MISSION_ITEM requests 2019-08-06 13:58:44 +10:00
Peter Barker afd623a6fa GCS_MAVLink: use send_message to send mission items
It is less error-prone to use this new send_message function.

In particular, one of the parameters to these functions was using the
wrong constant when sending a mission item message.
2019-08-06 13:58:44 +10:00
Peter Barker 8fc6e16a4a GCS_MAVLink: fill missing seq and type fields in MISSION_ITEM
GCS_MAVLink: fill mission type in return MISSION_ITEM packets

GCS_MAVLink: fill in return sequence number for MISSION_ITEM messages
2019-08-06 13:58:44 +10:00
Peter Barker cf0b7cf016 GCS_MAVLink: pass link object in place of channel to compass cal
Also eliminate intermediate function as just adding noise
2019-08-05 09:23:10 +10:00
Peter Barker 71533c7c5c GCS_MAVLink: correct frame on rally mission items 2019-08-02 09:17:04 +10:00
Peter Barker 880e96448b GCS_MAVLink: tighten type on mavlink_coordinate_frame_to_location_alt_frame 2019-08-01 17:45:30 +10:00
Peter Barker 979a9fb679 GCS_MAVLink: ensure item being converted is a rally point 2019-08-01 17:44:37 +10:00
Randy Mackay 767408ffe9 GCS_MAVLink: resolve gcs::send_text compiler warning 2019-07-30 09:02:39 +09:00
Peter Barker 5e55aedd20 GCS_MAVLink: add printf-format attribute to send_text methods 2019-07-26 10:54:41 +10:00
Peter Barker 0bbe049477 GCS_MAVLink: assert max length of statustexts we send to the GCS 2019-07-22 23:05:15 -07:00
Andrew Tridgell 58b739db18 GCS_MAVLink: allow non-register device access with devop
useful for i2c devices such as LW20 lidar
2019-07-19 17:05:23 +10:00
Peter Barker 93ca243987 GCS_MAVLink: rearrange mission item handling code
This splits the missionitemprotocol handling entirely into separate
header files and separate compilation units.
2019-07-18 10:48:57 +09:00
Peter Barker 210c2070a1 GCS_MAVLink: remove include of AP_Param.h in GCS_MAVLink.h
This will help break include loops.
2019-07-17 18:05:29 +10:00
Pierre Kancir b1506ca652 GCS_MAVLink: pass mavlink_message_t by const reference 2019-07-16 20:51:42 +10:00
Peter Barker 459680e7c8 GCS_MAVLink: make Avoidance responsible for sending collision message 2019-07-16 09:52:54 +10:00
Peter Barker c0993509f7 GCS_MAVLink: declare GCS_MAVLINK as a class as it hasn't been defined yet 2019-07-16 09:29:48 +10:00
Michael du Breuil b3c6d3d75a GCS_MAVLink: Refactor battery current interface 2019-07-14 00:28:00 -07:00
Peter Barker 6cb8fcc466 GCS_MAVLink: move use of AP_AHRS_NAVEKF_AVAILABLE into cpp file
This is defined in AP_AHRS which we only get transitively in the header
2019-07-09 22:32:57 +10:00
Peter Barker 1ebbe45fe1 GCS_MAVLink: split sending of RC_CHANNELS and RC_CHANNELS_RAW
Before this patch is applied we may never send the second message
because there's not room for it in the buffer and we can't return
failure-to-send (always interpreted as "retry") as we're in a void function.

Further, if you are on a mavlink2 connection we will not send out the
RC_CHANNELS_RAW message, depriving the user of any RC_CHANNELS messages.

This patch does have the drawback of doing more work on a mavlink1
connection - it has to fetch the data twice.  On the other hand, it also
allows the GCS to set the message rates independently for both
RC_CHANNELS and RC_CHANNELS_RAW so one or the other can be squelched.
That could be handy for reducing bandwidth if you know you're not using
more than 8 input channels.
2019-07-09 13:08:45 +10:00
Peter Barker c8353c1c13 GCS_MAVLink: fill target system and target component in MISSION_ITEM responses 2019-07-09 09:25:06 +10:00
Peter Barker c6533723de GCS_Param: correct sending of parameters of length 16 2019-07-06 18:06:17 +10:00
Peter Barker ebd8170a15 GCS_MAVLink: add missing include for AP_RTC 2019-07-04 13:57:40 +10:00
Peter Barker f31b7b5772 GCS_MAVLink: remove stray undef of undefined macro 2019-07-02 10:02:55 +10:00
Michael du Breuil 18e979fd4f GCS_MAVLink: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil f955a4e4d5 GCS_MAVLink: Don't retain a FrSky instance if we aren't using it
Saves 96 bytes of RAM
2019-06-26 11:59:41 +10:00
Peter Barker 278ac5e6ed GCS_MAVLink: correct deferred body timing debug 2019-06-25 19:59:49 +10:00
Peter Barker feddaabc42 GCS_MAVLink: handle out-of-time to send messages in parent class 2019-06-25 10:29:40 +10:00
Andrew Tridgell f28df4dff1 GCS_MAVLink: support MAV_CMD_BATTERY_RESET command 2019-06-25 09:56:25 +10:00
Peter Barker a55c40949b GCS_MAVLink: remove pointless protocol parameter to setup_uart 2019-06-25 09:47:08 +10:00
Peter Barker ca449cd979 GCS_MAVLink: stop pointlessly passing serial manager around 2019-06-25 09:47:08 +10:00
Peter Barker 45fab82345 GCS_MAVLink: eliminate redundant static pointer to serialmanager 2019-06-25 09:47:08 +10:00
Andrew Tridgell b6dbb8f464 GCS_MAVLink: always show AHRS healthy with EKF type 10
this fixes an issue noticed by Marco with xplane
2019-06-25 00:28:45 +08:00
Peter Barker c11da6a85d GCS_MAVLink: routing example: use GCS_Dummy in place of custom GCS 2019-06-20 11:41:19 +10:00
Peter Barker 0963957b31 GCS_MAVLink: correct GCS_Dummy firmware version 2019-06-18 10:54:01 +10:00
Peter Barker c39a622653 GCS_MAVLink: take sw_version from AP_FWVersion struct 2019-06-18 10:54:01 +10:00
Peter Barker a2c4bfea0c GCS_MAVLink: use send_to_active_channels for parameters 2019-06-18 10:27:56 +10:00
Michael du Breuil be7afe346b GCS_MAVLink: Fix AP_GPS include 2019-06-18 10:02:05 +10:00
Michael du Breuil 8c00102259 GCS_MAVLink: Reduce scoping on AP_BattMonitor include 2019-06-18 10:02:05 +10:00
Peter Barker ae85994c59 GCS_MAVLink: include internal error count as errors4 in SYS_STATUS 2019-06-12 10:05:59 +10:00
Peter Barker f385a4a329 GCS_Common: fix compiler warnings on missing parentheses 2019-06-11 21:50:53 +10:00
Randy Mackay 6ed09d83f3 GCS_MAVLink: send_home_position uses const Location reference 2019-06-11 13:13:22 +09:00
Rajat Singhal bc22aeb4da GCS_Mavlink: Correct format specifier in UART panic message 2019-06-11 13:36:03 +10:00
Peter Barker a025794bae GCS_MAVLink: correct is_streaming check and update of is-streaming mask 2019-06-11 09:26:10 +10:00
Peter Barker 264a757095 GCS_MAVLink: add send_to_active_channels method 2019-06-06 12:41:48 +10:00
Peter Barker 4d46c801f2 GCS_MAVLink: panic in SITL if we fail to write to uart 2019-06-06 12:41:48 +10:00
Peter Barker 99c56c1770 GCS_MAVLink: fix MAV.txp log field
This was being promoted to an unsigned.
2019-06-04 09:05:37 +10:00
Peter Barker 75ae6b59b0 GCS_MAVLink: allow Copter to disallow mavlink disarm 2019-05-30 07:37:30 +09:00
Peter Barker e340873d88 GCS_MAVLink: canonicalise on success on commanded-to-arm-when-armed
This means the mavlink return value indicates the current arm status of
the vehicle rather than success/failure of transitioning to the armed or
disarmed state (where trying to arm when armed is considered a failure).

MAVLink is a lossy communication mechanism.  It would not be
unreasonable for a GCS to issue a disarm command multiple times to
increase the chances of the command getting through.
2019-05-30 07:37:30 +09:00
Peter Barker b857d2c1af GCS_MAVLink: handle MAV_CMD_COMPONENT_ARM_DISARM 2019-05-30 07:37:30 +09:00
Peter Barker 1b90643751 GCS_MAVLink: report more internal errors in SYS_STATUS 2019-05-23 07:29:29 +10:00
Peter Barker d0105c8fa7 GCS_MAVLink: factor mission handling, use for Rally
GCS_MAVLink: allow all mission types to be cleared

GCS_MAVLink: remove unused parameters from handle-mission-count
2019-05-22 08:53:45 +10:00
Andrew Tridgell e2d863498b GCS_MAVLink: clear last msgs when done
this makes MON and WDOG logs clearer
2019-05-17 08:56:06 +10:00
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