Commit Graph

1622 Commits

Author SHA1 Message Date
Asif Khan 65be0bd1ba GCS_MAVLink: add MAV_CMD_IMAGE_STOP_CAPTURE support
Co-authored-by: Zachary Zalass <zachzalass@gmail.com>
2023-09-21 21:05:01 +10:00
Peter Barker b44682d1a6 GCS_MAVLink: handle CAN_FORWARD as both command_INT and COMMAND_LONG 2023-09-20 17:50:56 +10:00
Peter Barker 5b0393e280 GCS_MAVLink: handle MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN as INT or LONG 2023-09-19 11:16:10 +10:00
Peter Barker 273b9ea354 GCS_MAVLink: correct sensors when no baros found
GCSs will know we have no baros on-board, as will the RC telemetry library
2023-09-19 07:28:30 +10:00
Peter Barker 4f0b328674 GCS_MAVLink: support preflight calibration via command_int 2023-09-13 17:24:07 +10:00
Nick Exton d47b60b92a GCS_MAVLink: Fix CAMERA_SETTINGS payload size check 2023-09-08 15:31:33 +09:00
Peter Barker ed5da4ead2 GCS_MAVLink: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
Peter Barker 8473f05738 GCS_MAVLink: add defines for serial control, deviceop and servo_relay 2023-09-05 10:20:14 +10:00
Peter Barker fe512f7074 GCS_MAVLink: handle servo/relay events as both command_long and command_int 2023-08-29 11:15:14 +10:00
Peter Barker 92192a7510 GCS_MAVLink: add build options for deprecated messages MOUNT_CONTROL/MOUNT_CONFIGURE
these are repalced by the command equivalents
2023-08-29 11:06:13 +10:00
Asif Khan e3f0904616 GCS_MAVLink: move handling of all do-set-roi to AP_Mount library 2023-08-26 17:55:53 +10:00
Peter Barker a2d5244b10 GCS_MAVLink: accept mount commands as command_int 2023-08-24 22:07:12 +10:00
Nick Exton fad1f35d93 GCS_MAVLink: Remove unreachable return in handle_command_mount() 2023-08-24 11:57:55 +10:00
Tom Pittenger 732cd31f27 GCS_MAVLink: MSG_HOME_POSITION to use NaN for invalid 2023-08-23 08:53:29 -07:00
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 1dd5778956 GCS_MAVLink: correct placement of AP_MAVLINK_MISSION_SET_CURRENT_ENABLED 2023-08-22 09:09:54 +10:00
muramura 62aee72820 GCS_MAVLink: Change a number to a defined name 2023-08-15 08:36:59 +09:00
Peter Barker f2066d8e58 GCS_MAVLink: remove ap_message<->mavlinkid mappings for unused ids 2023-08-15 09:14:27 +10:00
Peter Barker 7764d1d904 GCS_MAVLink: add build_options.py option to remove rallypoint protocol 2023-08-15 08:37:17 +10:00
Peter Barker 808fcbda0e GCS_MAVLink: fix airspeed cal / format commands via non-USB telemetry 2023-08-15 08:13:32 +10:00
Andy Piper 9ac683a350 GCS_Common: report ARM CPUID on startup 2023-08-15 06:53:48 +10:00
Andy Piper cf9a3ada28 GCS_MAVLink: print out IOMCU mcuid on startup 2023-08-15 06:53:48 +10:00
Andrew Tridgell 0d97b308b2 GCS_MAVLink: fixed corruption of FTP reply component ID
this led to not being able to do FTP transfers with
support.ardupilot.org unless MissionPlanner used the same component ID
as the support engineer GCS
2023-08-14 22:25:23 +10:00
olliw42 2f58d082f0 GCS_Common: brackets missing in switch case 2023-08-11 12:11:43 -07:00
davidsastresas 6a9b457be3 GCS_Common: autopilot_state_for_gimbal_device sends angular_velocity_z 2023-08-10 14:37:30 +09:00
Ryan Friedman 578ba20df0 GCS_MAVLink: Use renamed visual odom function
* Now called pose instead of position

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-10 13:58:00 +09:00
Peter Barker 6097f1aa61 GCS_MAVLink: allow removal of preflight commands to fail the autopilot 2023-08-10 07:11:22 +10:00
Peter Barker 77b8c96eae GCS_MAVLink: add build_options.py option to remove fencepoint protocol
also gate more code on defines

Saves ~2kB
2023-08-09 17:53:54 +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 17ec5f7d3b GCS_MAVLink: use long-to-int conversion code for SET_ROI_SYSID
also remove more code based on the mount-enabled define
2023-08-01 10:16:14 +10:00
Peter Barker 274aedeaae GCS_MAVLink: rely on item conversion to run DO_SET_ROI_NONE when presented in COMMAND_LONG 2023-07-19 17:03:00 +09: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
Andy Piper 504fdb4ca3 GCS_MAVLink: squash bitwise | operator warnings 2023-07-13 11:02:40 +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 62b2fdb8f8 GCS_MAVLink: update to new read_locked() API 2023-07-12 17:06:02 +10:00
Max-001 afc019e1ea EFI: added efi MavLink class 2023-07-11 12:32:19 +10:00
Iampete1 352f721626 GCS_MAVLink: allow scripting to block commands 2023-07-04 10:20:42 +10:00
Andrew Tridgell 7fa0de37c3 GCS_MAVLink: added mutex deadlock test code 2023-06-27 10:11:46 +10:00
Peter Barker a2ecaf737d GCS_MAVLink: correct define around use of ins singleton 2023-06-21 22:28:48 +10:00
Peter Barker ed96bb6dd4 GCS_MAVLink: rely on HAL_LOGGING_ENABLED for sending logs 2023-06-21 22:28:48 +10:00
Peter Barker a6a691cce3 GCS_MAVLink: add and use AP_GPS_ENABLED 2023-06-21 22:28:48 +10:00
Peter Barker 61affcf4e4 GCS_MAVLink: add and use AP_BARO_ENABLED 2023-06-21 22:28:48 +10:00
Peter Barker fc55bf0bc4 GCS_MAVLink: add and use AP_COMPASS_ENABLED 2023-06-21 22:28:48 +10:00
Peter Barker 42e42dc991 GCS_MAVLink: add and use AP_AHRS_ENABLED 2023-06-21 22:28:48 +10:00
Peter Barker 07bf38d7f8 GCS_MAVLink: create and use AP_BATTERY_ENABLED
simply as a way to get HAL_PERIPH_ENABLE_BATTERY out of the main code
2023-06-21 22:28:48 +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
Peter Barker 86d09d9096 GCS_MAVLink: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
bugobliterator e30cc65f14 GCS_MAVLink: move sysid_my_gcs to be public 2023-06-17 14:49:22 +10:00
Randy Mackay 02fdb8272f GCS_MAVLink: support camera info and settings 2023-06-16 14:30:46 +10:00
davidsastresas e1e2d68815 GCS_Common: handle CMD_DO_SET_ROI_NONE for command int packets 2023-06-08 21:12:50 +10:00
Peter Barker 312254f761 GCS_MAVLink: correct detection of feature AP_FILESYSTEM_FORMAT_ENABLED 2023-06-08 08:55:26 +10:00
Andrew Tridgell 1ab278d127 GCS_MAVLink: support EXTERNAL_POSITION_ESTIMATE command_int 2023-06-06 15:19:12 +10:00
Peter Barker 4ee58c4496 GCS_MAVLink: remove more compass cal if it is not enabled 2023-05-30 23:05:29 +10:00
Peter Barker 92942137fa GCS_MAVLink: remove use of AP_Mount.h from headers 2023-05-29 09:08:55 +10:00
bugobliterator 9ce37e5f98 GCS_MAVLink: scripting sends mavlink messages directly 2023-05-24 19:03:28 +10:00
Michael du Breuil a934c90e69 GCS_MAVLink: Route MAVLink data to/from scripting 2023-05-24 19:03:28 +10:00
Asif Khan 9ef3241949 GCS_MAVLink: add GIMBAL_MANAGER_SET_PITCHYAW message support 2023-05-24 12:36:37 +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 29d6c51f43 SITL: stop using mavlink channels for packing messages
precedent was set in the mavlink rangefinder; we don't need to re-use SITL buffers for this
2023-05-16 10:17:56 +10:00
Randy Mackay 858a1e8b40 GCS_MAVLink: pass image tracking messages to AP_Camera 2023-05-08 21:26:35 +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 a657c6ea75 GCS_MAVLink: remove CANTester 2023-04-18 11:43:58 +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
Tom Pittenger 5ef4c8dd09 GCS_MAVLink: move AP_KDECAN to a first-class library 2023-04-17 11:52:52 +10:00
Peter Barker db15803017 GCS_MAVLink: send deprecated message received warning at INFO not WARN 2023-04-15 23:14:33 +10:00
Peter Barker af5f702c36 GCS_MAVLink: add and use defines for all Proximity backends 2023-04-13 07:07:18 +10:00
Andrew Tridgell 2119d6bfc9 GCS_MAVLink: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Nick Exton 8bd127d630 GCS_MAVLink: Use new Mount clear_roi_target() 2023-04-11 09:11:08 +10:00
Andrew Tridgell ee9b6bad7b GCS_MAVLink: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
Randy Mackay ae4d1ae0af GCS_MAVLink: pass camera-information messages to AP_Camera 2023-04-06 20:58:22 +10:00
Asif Khan 91935fc404 AP_Mount:Add GIMBAL_MANAGER_SET_ATTITUDE support 2023-04-04 09:48:40 +10:00
Peter Barker a649dff390 GCS_MAVLink: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Peter Barker 67bb7417ec GCS_MAVLink: routing: do not process our own packets locally
returning true from this method means we will process the packets locally.

If that message changes the vehicle state that could be bad.
2023-03-22 09:26:19 +11:00
Randy Mackay a3e3e5fd2d GCS_MAVLink: send mav-cmd-set-camera-zoom to AP_Camera
also send focus and image capture
2023-03-16 07:47:01 +09:00
Randy Mackay a8b9b2742d GCS_MAVLink: move camera command handling to AP_Camera 2023-03-16 07:47:01 +09:00
Peter Barker b55664034f GCS_MAVLink: use GCS_MAVLINK& when routing 2023-03-08 19:30:22 +11:00
Peter Barker f8c2ceced7 GCS_MAVLink: add support for MAV_CMD_DO_SET_ROI_NONE 2023-03-07 08:06:01 +09:00
Andrew Tridgell 6770982a98 GCS_MAVLink: support rename in FTP 2023-03-05 09:42:48 +11:00
Tom Pittenger f666d2ecb3 GCS_MAVLink: constrain battery % to 0-100 2023-03-02 18:07:30 +11: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
Tom Pittenger b5bbcffaac GCS_MAVLink: add GCS handling of DO_JUMP_TAG 2023-02-22 05:33:38 -08: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 ccb56e573a GCS_MAVLink: tidy valid-channel check in set_message_interval
rely on chan returning nullptr on invalid channel
2023-02-07 10:07:39 +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 74978ac577 GCS_MAVLink: add nullptr check in gcs_out_of_space_to_send
If a library were to send on a channel for which we have not allocated a GCS_MAVLINK this could lead to a nullptr dereference.  We do some odd things in uAvionix in terms of which channel to send on, so worth a check.
2023-02-07 10:07:39 +11:00