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
Peter Barker
26d714e9a9
GCS_MAVLink: tidy valid-channel check in install_alternative_protocol
...
- stop getting link multiple times
- rely on chan() returning nullptr rather than explicitly checking 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
Stephen Dade
55f31d628a
GCS_MAVLink: Ensure serial tunnel avoids nullptr
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
olliw42
d570f67420
GCS_MAVLink: use bw_in_bytes_per-scond()
...
avoid division by zero in FTP, and correct wrong calculus in Param which made it ineffective
2023-01-31 17:58:04 +11:00
Peter Barker
1224cde392
GCS_MAVLink: add documentation for logged MAV stats Flags
2023-01-25 19:50:34 +11:00
Andrew Tridgell
dfdecc52c4
GCS_MAVLink: fixed FTP terminate session error
...
this caused ftp downloads to intermittently fail. The cause is the FTP
client may ask for a session terminate and then immediately afterwards
a ftp open. The open would fail as the ftp session was considered
active
2023-01-15 21:57:15 +11:00
Randy Mackay
0d18ee71fa
GCS_MAVlink: send_autopilot_state_for_gimbal_device sends ef z-axis rate target
2023-01-09 10:34:34 +09:00
Andrew Tridgell
f39f4e35c2
GCS_MAVLink: optimise FTP for available bandwidth
...
when we don't have hardware flow control don't use more than 1/3 of
available bandwidth for ftp outgoing transfers. This makes parameter
download faster on radios without flow control
2023-01-08 15:11:32 +11:00
Andrew Tridgell
41de8286ef
GCS_MAVLink: check for alloc failure of ObjectBuffer
2023-01-08 15:11:32 +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
54a4b7a98b
GCS_MAVLink: use chibios_hwdef.py to disable fence on AP_Periph
2023-01-06 12:39:06 +11:00
Peter Barker
959b3049c0
GCS_MAVLink: rename HAL_INS_ENABLED to AP_INERTIALSENSOR_ENABLED
2023-01-03 10:28: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
fbeb9aa3fd
GCS_MAVLink: allow forcing reboot via mavlink with parameter
2022-12-06 11:20:08 +11:00
Chobits Tai
a73e63b457
GCS_Common: refactor try_send_mission_message
2022-12-01 14:02:58 +11:00
chobits
590d2fcf77
GCS_MAVLink: upload fence when auto mode not complied
2022-11-30 15:14:59 +11:00
Peter Barker
33a319aaf3
GCS_MAVLink: do not run all commands received on private channel
...
Co-authored-by: dawid.kopec.spectalight@gmail.com
returning true from this function means that we should run the command locally. We really don't want to do that unless the command (or other targetted message) was actually sent at us!
2022-11-29 10:32:02 +11:00
Randy Mackay
906e8aced3
GCS_MAVLink: correct consumption of ODOMETRY velocity
2022-11-28 17:21:23 +11:00
Randy Mackay
a5aa25ef91
GCS_MAVLink: minor format fix
2022-11-28 17:21:23 +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
db2736c297
GCS_MAVLink: correct potential uint underflow in stream slowdown
2022-10-27 08:40:21 +11:00
Peter Barker
77abaef092
GCS_MAVLink: use AP_NOTIFY_MAVLINK_LED_CONTROL_SUPPORT_ENABLED
2022-10-26 21:22:39 +11:00
Peter Barker
9ca19c25a9
GCS_MAVLink: process mavlink play_tune in frontend
2022-10-26 21:22:39 +11:00