Commit Graph

518 Commits

Author SHA1 Message Date
Peter Barker b141cca3d5 GCS_MAVLink: pass mavlink_message_t to handle_command_*_packet
the "special case" blocks are getting longer and longer.  Merge the switch statements for the command type to be handled by passing around the message.
2023-08-22 10:11:33 +10:00
Peter Barker 808fcbda0e GCS_MAVLink: fix airspeed cal / format commands via non-USB telemetry 2023-08-15 08:13:32 +10:00
Peter Barker 13c83ee9f8 GCS_MAVLink: enable sending of RELAY_STATUS message 2023-08-09 07:44:07 +10:00
Peter Barker d6979e62f0 GCS_MAVLink: handle mag cal as both COMMAND_LONG and COMMAND_INT 2023-08-08 10:06:13 +10:00
Peter Barker 8d30f84e73 GCS_MAVLink: move definition of HAL_HIGH_LATENCY2_ENABLED into config 2023-08-03 13:09:23 +10:00
Peter Barker ae8d3724cd GCS_MAVLink: convert to COMMAND_INT to handle MAV_CMD_DO_SET_HOME 2023-07-18 09:10:26 +10:00
Peter Barker f3e5e28364 GCS_MAVLink: zero structured passed in to convert_COMMAND_LONG_to_COMMAND_INT 2023-07-12 18:51:07 +10:00
Peter Barker 527f3d5728 GCS_MAVLink: add infrastructure to handle command longs as command ints 2023-07-12 18:51:07 +10:00
Andrew Tridgell 7fa0de37c3 GCS_MAVLink: added mutex deadlock test code 2023-06-27 10:11:46 +10:00
Peter Barker e3c4d9fd23 GCS_MAVLink: allocate mavlink status and send buffers dynamically
This makes ArduPilot responsible for supplying buffers to the mavlink layer, rather than that layer allocating them based on MAVLINK_COMM_NUM_BUFFERS.

We will want to rename MAVLINK_COMM_NUM_BUFFERS to AP_GCS_MAX_BACKENDS at some stage.
2023-06-21 17:50:31 +10:00
Andrew Tridgell fc904011fb GCS_MAVLink: moved MAV_CMD_AIRFRAME_CONFIGURATION from copter 2023-06-21 17:38:28 +10:00
Andrew Tridgell 1ab278d127 GCS_MAVLink: support EXTERNAL_POSITION_ESTIMATE command_int 2023-06-06 15:19:12 +10:00
Peter Barker 92942137fa GCS_MAVLink: remove use of AP_Mount.h from headers 2023-05-29 09:08:55 +10:00
davidsastresas e4428f538d GCS_MAVLink: support gimbal_manager_status and do_gimbal_manager_configure
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-05-17 12:38:49 +10:00
Peter Barker d46d2189ec GCS_MAVLink: replace HAVE_FILESYSTEM_SUPPORT with backend defines 2023-05-17 09:40:39 +10:00
Peter Barker feaed97601 GCS_MAVLink: deprecate handling of MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES
AUTOPILOT_VERSION - the message this returns - can be requested with MAV_CMD_REQUEST_MESSAGE
2023-04-26 20:34:42 +10:00
Peter Barker d0b96d4cd9 GCS_MAVLink: deprecate handling of AUTOPILOT_VERSION_REQUEST
This can be done equivalently with MAV_CMD_REQUEST_MESSAGE
2023-04-26 20:34:42 +10:00
Randy Mackay bdb3618de7 GCS_MAVLink: support requests for gimbal-manager-information 2023-04-25 15:07:35 +10:00
Michael du Breuil a9d696752d GCS_MAVLink: Factor accel cal work out to INS library 2023-04-21 21:33:16 +10:00
Peter Barker 15ec9f6f82 GCS_MAVLink: allow Copter to emit MISSION_STATE_PAUSED when paused in auto 2023-04-21 09:49:55 +10:00
Peter Barker 510ed4cf2f GCS_MAVLink: add support for more MISSION_CURRENT fields
- a state so someone can see if the mission is complete
 - total number of waypoints
2023-04-21 09:49:55 +10:00
Peter Barker 068443718e GCS_MAVLink: deprecate use of MISSION_SET_CURRENT message
The mavlink command MAV_CMD_DO_SET_MISSION_CURRENT has been in place since January 2019 and is superior to this.
2023-04-18 10:24:26 +10:00
Tom Pittenger a443fd97a6 GCS_MAVLink: remove preflight_can
It was only using CANTester to test KDECAN enumeration which was removed
2023-04-17 11:52:52 +10:00
Peter Barker f8c2ceced7 GCS_MAVLink: add support for MAV_CMD_DO_SET_ROI_NONE 2023-03-07 08:06:01 +09:00
Peter Barker adb364cd98 GCS_MAVLink: have GCS_MAVLINK::send_message(id, buffer) check size 2023-02-25 17:41:44 +11:00
Peter Barker 035f49c248 GCS_MAVLink: add method to get link (not just channel number) for mavtype and compid 2023-02-24 09:21:09 +11:00
Stephen Dade a39a933cbd GCS_Mavlink: Move high_latency_link_enabled to GCS 2023-02-21 22:32:32 +11:00
Peter Barker 8b38cc671a GCS_MAVLink: add in-progress to formatsdcard process 2023-02-21 17:07:41 +11:00
Peter Barker 11ec22900b GCS_MAVLink: add support for mavlink in-progress message 2023-02-21 17:07:41 +11:00
Peter Barker 8259f3f870 GCS_MAVLink: add and use AP_ADVANCEDFAILSAFE_ENABLED 2023-02-08 19:00:13 +11:00
Peter Barker 80b781634d GCS_MAVLink: tidy check of valid channel in get_vfr_hud_throttle
do a nullptr check rather than checking against num_gcs
2023-02-07 10:07:39 +11:00
Peter Barker 14d1a075db GCS_MAVLink: remove internal error from chan(), correct bounds check
It's been argued that callers should always be checking for nullptr anyway.  This is the method which is best qualified to work out whether the channel actually corresponds to a link, so it makes sense for the check to be here
2023-02-07 10:07:39 +11:00
Peter Barker c871aaefb7 GCS_MAVLink: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Peter Barker 263216669d GCS_MAVLink: add warning about providing full-sized buffer to send_parameter_value 2023-02-02 11:42:29 +11:00
Peter Barker 1224cde392 GCS_MAVLink: add documentation for logged MAV stats Flags 2023-01-25 19:50:34 +11:00
Andrew Tridgell 57ee3a4e02 GCS_MAVLink: send FTP replies directly from the FTP thread
this saves over 700 bytes of memory while also making ftp faster
2023-01-08 15:11:32 +11:00
Andrew Tridgell b80dca38ff GCS_MAVLINK: added check_payload_size() method
this saves flash by moving common code to cpp
2023-01-06 22:50:42 +11:00
Peter Barker 70a5d8be76 GCS_MAVLink: remove unnecessary include of OpticalFlow header in GCS.h
introduces unnecessary dependencies
2022-12-15 21:07:31 +11:00
Peter Barker 4e61de7083 GCS_MAVLink: code-generate chan-fetching methods
A recent PR had to change every single one of these methods, which was kind of unfortunate.

So generate the methods using a #define so the duplication happens at preprocessor-time.
2022-12-15 08:31:54 +11:00
Peter Barker 3bd62c0e68 GCS_MAVLink: factor out handle_manual_control_axes 2022-11-23 19:33:46 +11:00
Peter Barker 850d47752f GCS_MAVLink: allow FRSky to be compiled out 2022-11-15 18:44:45 +11:00
Peter Barker 06d90b1a1e GCS_MAVLink: include cleanups 2022-11-08 09:49:19 +11:00
Peter Barker 65a92a481a GCS_MAVLink: tidy AP_SerialManager.h includes 2022-11-08 09:49:19 +11:00
Peter Barker 4f0d301edb GCS_MAVLink: move defaulting of HAL_HIGH_LATENCY2_ENABLED to minimize_features.inc 2022-10-25 10:10:44 +11:00
Andrew Tridgell 0858eb0dba GCS_MAVLink: send HYGROMETER_SENSOR message if data available 2022-10-19 13:17:30 +11:00
Peter Barker f75f68c2f1 GCS_MAVLink: add AP_MAVLINK_BATTERY2_ENABLED define
on by default but can be turned off in next stable
2022-10-18 11:12:49 +11:00
Peter Barker 6c3f9f9778 GCS_MAVLink: fix set-default-rate of a message we don't send by default
this fixes a problem where a GCS must know that a message isn't sent by default if they want to set it back to its default rate
2022-10-18 10:11:00 +11:00
Peter Barker 0f359c6a4e GCS_MAVLink: remove individual static members for fence, mission and rally 2022-10-04 11:17:35 +11:00
Peter Barker 3b3497eba0 GCS_MAVLink: move definition of HAL_GCS_ENABLED to GCS_config.h 2022-09-27 09:26:45 +10:00
Peter Barker 805b2921ed GCS_MAVLink: fold AP_Filesystem_Available.h into AP_Filesystem_config.h 2022-09-15 10:53:02 +10:00