Commit Graph

1739 Commits

Author SHA1 Message Date
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
Peter Barker
4f0d301edb GCS_MAVLink: move defaulting of HAL_HIGH_LATENCY2_ENABLED to minimize_features.inc 2022-10-25 10:10:44 +11:00
Pierre Kancir
64774a2f92 GCS_MAVLink: fix always 0 division.
7/8 into array range bracket will be integral type, therefore 7/8 is reported as always 0.
2022-10-22 11:11:52 +11:00
Peter Barker
725b7b30ae GCS_MAVLink: remove more methods based on HAL_VISUSALODOM_ENABLED
Many of these mthods are calling another method which has no body when HAL_VISUALODOM is false
2022-10-21 15:03:35 +11:00
Peter Barker
342a5a71a9 GCS_MAVLink: move setting of MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW sensors flags up 2022-10-19 21:00:48 +11:00
Andrew Tridgell
3ef1b1031a GCS_MAVLink: prevent segv in ftp
if the user disables ftp by changing BRD_OPTIONS after ftp has started
then we could dereference a nullptr
2022-10-19 19:09:24 +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
Andrew Tridgell
9f5f7e018e GCS_MAVLINK: fixed warning in ftp build with gcc 11.3 2022-10-06 10:45:49 +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
9c7c29b2a7 GCS_MAVLink: add AP_GRIPPER_ENABLED 2022-10-04 10:58:34 +11:00
Peter Barker
2da23a218a GCS_MAVLink: correct compilation with rally disabled 2022-09-27 10:16:47 +10:00
Peter Barker
22d8d0a0fd AP_FileSystem: correct compilation when fence disabled 2022-09-27 10:16:47 +10:00
Peter Barker
63cb9eb07e GCS_MAVlink: correct compilation when fence disabled 2022-09-27 10:16:47 +10:00
Peter Barker
3b3497eba0 GCS_MAVLink: move definition of HAL_GCS_ENABLED to GCS_config.h 2022-09-27 09:26:45 +10:00
Yuri
e165063324 GCS_MAVLink: increase short board names to 23 chars 2022-09-21 17:56:42 +10:00
m
652b361bc0 GCS_MAVLink: Send local ned home location to GCS 2022-09-21 15:58:25 +10:00
Peter Barker
589bae7d66 GCS_MAVLink: add and use AP_CAMERA_ENABLED 2022-09-21 11:58:38 +10:00
Peter Barker
81adafa97c GCS_MAVLink: add and use AP_RPM_ENABLED
... and backend-specific equivalents
2022-09-20 09:28:27 +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
Peter Barker
c8a1fff8ae GCS_MAVLink: populate sysid/compid in reboot ACK 2022-09-14 20:16:38 +10:00
Peter Barker
65b5e0455b GCS_MAVLink: warn if GCS send MISSION_ITEM rather than MISSION_ITEM_INT 2022-09-13 11:50:54 +10:00
Peter Barker
406c94cdbf GCS_MAVLink: satisfy TODO; rename packet to mission_item_int 2022-09-13 11:50:54 +10:00
Peter Barker
e065f6c629 GCS_MAVLink: remove incorrect and superfluous comment 2022-09-13 11:50:54 +10:00
Peter Barker
8cdb304871 GCS_MAVLink: warn if MISSION_REQUEST is used 2022-09-13 11:50:54 +10:00
olliw42
c034f8a099 GCS_MAVLink: add find_by_mavtype_and_compid 2022-09-12 08:44:38 +09:00
Michael du Breuil
5282dba42a GCS_MAVLink: Rate limit blocking accel calibrations
This allows us to drop any queued commands that may have arrived while
we were calibrating. Rather then entering a second and unexpected
calibration.
2022-09-09 08:52:14 +10:00
Michael du Breuil
ff94ef1c60 GCS_MAVLink: Check for mission space before sending items 2022-09-07 17:52:23 +10:00
Andrew Tridgell
b79f3caf86 GCS_MAVLINK: report on unsigned bootloader flash attempt 2022-09-05 12:35:37 +10:00
Andrew Tridgell
611f26f16c GCS_MAVLink: support SECURE_COMMAND 2022-09-05 12:35:37 +10:00
Andrew Tridgell
a06d163ef0 GCS_MAVLink: refuse DFU for secure firmware 2022-08-30 10:51:06 +10:00
bugobliterator
f31d915e14 GCS_MAVLink: add support for booting into dfu 2022-08-30 10:51:06 +10:00
Randy Mackay
ff1624d4a0 GCS_MAVLink: MOUNT_CONFIGURE and MOUNT_CONTROL send deprecation warnings 2022-08-25 20:28:06 -04:00
Randy Mackay
3941598a10 GCS_MAVlink: integrate proximity-distance-array scope change 2022-08-24 18:26:27 +10:00
Peter Barker
cd98fcec87 GCS_MAVLink: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Randy Mackay
1a54236862 GCS_MAVLink: forward mav-cmd-do-gimbal-manager-pitchyaw to AP_Mount 2022-08-15 20:29:25 -04:00
Randy Mackay
c8996c04e1 GCS_MAVLink: replace send-mount-status with send-gimbal-device-attitude-status 2022-08-15 20:29:25 -04:00
Peter Barker
35c2653a87 GCS_MAVLink: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Andrew Tridgell
2a95ced697 GCS_MAVLINK: pass OPEN_DRONE_ID_SYSTEM_UPDATE to library 2022-08-14 22:02:43 +10:00
Peter Barker
26d3ffc27d GCS_MAVLink: correct INS_generic example
segfaults due to lack of singletoin objects in examples
2022-08-13 20:53:29 +10:00
Roel Schiphorst
3bd792295c GCS_MAVLINK: add OpenDroneID messages 2022-08-09 14:37:08 +10:00
Iampete1
31bc6d9ec4 GCS_MAVLink: change AC_FENCE to AP_FENCE_ENABLED 2022-07-27 19:04:56 +10:00
Iampete1
5fa29eb01a GCS_MAVLink: fix complation without fence 2022-07-27 19:04:56 +10:00
Peter Barker
cf915a0f35 GCS_MAVLink: ensure payload space for ACK before sending
Attempting to fix instance of the ACK not arriving on SITL reboot.  We already have a lot of code around trying to get this out, but there's been at least once instance it hasn't.
2022-07-26 21:23:23 +10:00
Peter Barker
cbd591f2ba GCS_MAVLink: save some bytes by removing empty methods based on #ifs 2022-07-22 13:49:51 +10:00
Peter Barker
34f2599479 GCS_MAVLink: remove transitive include dependencies 2022-07-20 17:32:24 +10:00
Peter Barker
ba2b7b8014 GCS_MAVLink: remove mavlink-specific methods from AP_SerialManager 2022-07-13 18:32:35 +10:00
Peter Barker
d768bcc904 GCS_MAVLink: eliminate get_mavlink_channel
there's no dependence on any SerialManager stuff when determining this.  The protocol passed through was always mavlink...
2022-07-12 11:32:57 +10:00
Peter Barker
38119e17c7 GCS_MAVLink: correct gcs_out_of_space_to_send methodname
the "_count" is incorrect given the method which this calles on the link object
2022-07-12 11:10:53 +10:00
Iampete1
e8607c09f1 GCS_MAVLink: send ais message 2022-07-12 09:39:54 +10:00
Andrew Tridgell
a92161cd18 GCS_MAVLink: improved start battery cell monitoring
this fixes two issues:

 1) we are not reporting the sag corrected voltage to GCS when we are
    sending individual cells

 2) we don't cope with having more than AP_BATT_MONITOR_CELLS_MAX
    cells (or 12 for low flash boards, 14 for 2M boards)

it fixes this by distributing the extra voltage over the calls.

This change is particularly important for high cell count DroneCAN
smart batteries, where we currently would not handle more than 14
cells and the GCS would display the wrong voltage

the PR also cleans up the use of volts vs mVolts for the local
variables
2022-07-11 14:21:41 +10:00
Peter Barker
5f095304cf GCS_MAVLink: add AP_LTM_TELEM_ENABLED 2022-06-28 20:19:41 +10:00
Randy Mackay
1fca72a831 GCS_MAVLink: add comment re sending locations to mounts 2022-06-15 09:07:14 +09:00
Randy Mackay
f83b4cdb40 GCS_MAVLink: support sending AUTOPILOT_STATE_FOR_GIMBAL_DEVICE 2022-06-15 09:07:14 +09:00
bugobliterator
4dd66fed4b GCS_MAVLink: forward gimbal-device-information to AP_Mount
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>

also forward gimbal_device_attitude_status
2022-06-15 09:07:14 +09:00
Randy Mackay
85b9e6e57c GCS_MAVLink: remove ToshibaCAN support 2022-06-10 12:08:05 +09:00
Randy Mackay
3ac5ad8e33 GCS_MAVLink: remove unused send_gimbal_report 2022-06-07 09:27:47 +10:00
Randy Mackay
8c19af72e0 GCS_MAVLink: learn routes even on private channels
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2022-06-06 15:50:13 +10:00
Peter Barker
be21091619 GCS_MAVLink: pass mavlink_command_ack_t to accelcal library
The library needs to look at the content of the packet.  Given that GCS_MAVLink is already within handle_command_ack, decoding it there makes sense.
2022-05-25 17:55:55 +10:00
Ruffalo-sunghwan
51451d29e1 GCS_MAVLink : correct comment spelling 2022-05-24 20:27:45 +09:00
Iampete1
7d3368fa33 GCS_MAVLink: send servo raw 17-32 using port 1 2022-05-22 12:07:37 +10:00
murata
970af16251 GCS_MAVLink: Console output can be disabled 2022-05-17 09:53:06 +10:00
Andrew Tridgell
ab4772c9b7 GCS_MAVLink: support symlinks as files
this allows for use of symlinks with ftp and scripts
2022-05-04 17:48:45 +10:00
Peter Barker
17ad710866 GCS_MAVLink: tidy includes 2022-05-03 09:14:58 +10:00
Andrew Tridgell
973befa5d8 GCS_MAVLink: prevent devop larger than buffer 2022-04-16 19:24:16 +10:00
Peter Barker
f023f0443d GCS_MAVLink: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Andrew Tridgell
73eabb1fd0 GCS_MAVLink: send GCS voltage to GCS
may be resting voltage of option enabled
2022-03-22 11:12:54 +11:00
Peter Barker
f1ec657c41 GCS_MAVLink: correct compilation with HAL_INS_ACCELCAL_ENABLED false 2022-03-22 10:39:44 +11:00
Peter Barker
e0561b0ca1 GCS_MAVLink: split AP_HAL_SITL and HAL_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Andrew Tridgell
d28cecf25b GCS_MAVLink: support CANFD_FRAME messages 2022-03-11 18:13:54 +11:00
bugobliterator
e996392671 GCS_MAVLink: disable CANTester by default 2022-03-11 18:13:54 +11:00
Stephen Dade
1344a0f41a GCS_MAVLink: Add support for High Latency MAVLink protocol 2022-03-03 14:56:15 +11:00
Peter Barker
7638cbf001 GCS_MAVLink: include cleanups 2022-03-01 11:21:33 +11:00
Peter Barker
2d96842490 GCS_MAVLink: correct out-of-space-to-send count 2022-02-23 18:43:34 +11:00
Peter Barker
87439eec80 GCS_MAVLink: stop taking semaphore aorund statustext queue loop
we're taking it in the loop
2022-02-22 12:56:38 +11:00
Andrew Tridgell
890ef5679c GCS_MAVLink: handle CAN_FILTER_MODIFY call 2022-02-19 18:24:56 +11:00
Andrew Tridgell
cce89099c5 GCS_MAVLink: fixed mavlink packet corruption with multiple threads
this ensures we don't try to send more data to a uart than is
available in the tx buffer
2022-02-19 18:24:56 +11:00
Andrew Tridgell
44d9d410a1 GCS_MAVLink: fixed mavlink packet corruption with multiple threads
this ensures we don't try to send more data to a uart than is
available in the tx buffer
2022-02-19 17:20:17 +11:00
Andrew Tridgell
ba502b462f GCS_MAVLINK: support CAN_FRAME and MAV_CMD_CAN_FORWARD 2022-02-12 16:36:05 +11:00
Peter Barker
29a469432e GCS_MAVLink: send deprecated message warning for MAVLINK_MSG_ID_SET_HOME_POSITION 2022-02-10 12:13:43 +11:00
Peter Barker
f25755a05f GCS_MAVLink: mark MAV_CMD_DO_REPOSITION as having a location 2022-02-09 09:15:11 +11:00
Peter Barker
2e804bb0d5 GCS_MAVLink: mark MAV_CMD_DO_SET_ROI_LOCATION as having a location 2022-02-09 09:15:11 +11:00
Peter Barker
dffec9325e GCS_MAVLink: create and use location_from_command_t 2022-02-09 09:15:11 +11:00
Andrew Tridgell
a32ecfbf29 mavlink: added read size limits on FTP read
thanks to Michael Oborne for spotting this:

https://github.com/ArduPilot/MissionPlanner/issues/2784
2022-02-08 12:11:57 +11:00
Peter Barker
a6713f8368 GCS_MAVLink: build ArduPilot against all.xml not ardupilotmega.xml 2022-02-08 11:00:41 +11:00
Peter Barker
e9358ff491 GCS_MAVLink: provide default implemenation of handle_change_alt_request
The TODO items to actually implement these are almost 6 years old.
Since then these methods have been burning space.

This doesn't even make sense for several vehicles, so a default
implementation which does nothing seems OK.
2022-02-08 10:59:13 +11:00
Andrew Tridgell
ab8c40d9bc GCS_MAVLink: report airspeed unhealthy when being rejected
this gives the pilot feedback on airspeed failing EKF innnovation
checks and switching to synthetic airspeed
2022-02-07 14:13:49 +11:00
Joshua Henderson
f3cac9e1aa GCS_MAVLink: add send_attitude_target 2022-02-07 08:24:35 +09:00
Peter Barker
21caa8c686 GCS_MAVLink: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
Josh Henderson
fa9a852ef7 GCS_MAVLINK: move AP_Airspeed to AP_Vehicle 2022-01-19 18:21:32 +11:00
Josh Henderson
1200f25e05 GCS_MAVLINK: move high_latency_air_temperature up 2022-01-19 18:21:32 +11:00
Jaaaky
20b3add9fb GCS_Common: Fix issue #19599 Failed to build Pixhawk1 with O3 2022-01-17 08:33:27 +11:00
Andrew Tridgell
06dcd5a16f GCS_MAVLink: don't use avoidance on plane 2022-01-11 09:51:47 +11:00
Peter Barker
948e00a072 GCS_MAVLink: make send_system_time const
needed when sending from const functions
2022-01-06 09:14:33 +11:00
Peter Barker
d2693e4276 GCS_MAVLink: create and use AP_OPTICALFLOW_ENABLED
Including a define for each backend.
2021-12-29 18:12:03 +11:00
Andrew Tridgell
f8e4d7facd GCS_MAVLink: support formatting of SD card 2021-12-28 16:04:57 +11:00
Peter Barker
6936a8eb6e GCS_MAVLink: adjust for rename of OpticalFlow.h to AP_OpticalFlow.h 2021-12-28 10:16:20 +11:00
Andrew Tridgell
20dd667fdc GCS_MAVLink: support ODOMETRY message for VIO
used by VOXL
2021-12-27 12:32:41 +11:00
Stephen Dade
038ae432ab GCS_MAVLink: Add UART option to not override streamrates 2021-12-15 14:14:07 +11:00
Stephen Dade
c49fd7e908 GCS_MAVLink: Don't start with MAVLink1 messages on a MAVLink2 connection 2021-12-14 12:20:07 +09:00
Peter Barker
f461605d88 GCS_MAVLink: make logging dependent on HAL_LOGGING_ENABLED not HAL_BUILD_AP_PERIPH 2021-12-14 10:34:06 +11:00
Randy Mackay
d0747c5f20 GCS_MAVLink: battery status reports fault bitmask 2021-12-07 02:12:06 -08:00
Shiv Tyagi
339a07b8d3 AP_Devo_Telem: compile out devo telemetry
Devo telemetry is one of the most rarely used features (almost never used since added) we should compile it out from our code
2021-12-01 19:16:44 +11:00
Peter Barker
ba63e9a17b GCS_MAVLink: correct send_scaled_imu gyro-count check 2021-11-29 15:08:23 +11:00
m
c729fc7796 AP_Mission: Decode MAV_CMD_DO_PAUSE_CONTINUE commands 2021-11-25 08:18:27 +09:00
Peter Barker
ca232bb510 GCS_MAVLink: signal quality reporting 2021-11-23 18:20:58 +11:00
Peter Barker
514368537b GCS_MAVLink: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker
fd128066ad GCS_MAVLink: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Andrew Tridgell
61cc86b911 GCS_MAVLINK: fixed build of boards with APJ_BOARD_ID>32768
this impacts modalai_fc_v1
2021-11-10 08:46:52 +11:00
Peter Barker
f7d42a3f3b GCS_MAVLink: add board ID to AUTOPILOT_VERSION mavlink msg
Co-authored-by: durka
2021-11-05 14:10:46 +11:00
bugobliterator
85284d1bc0 GCS_MAVLink: remove use of AP_BattMonitor if AP_Periph and Battery disabled 2021-11-05 07:38:43 +11:00
Iampete1
a45e7608f2 GCS_MAVLink: set RC is_calibrating from command_preflight_calibration param4 2021-11-02 10:05:07 +11:00
Buzz
3ecfdd5f88 GCS_MAVLink: esp target is not STM32, so don't do stm32 specific magic
see libraries/AP_HAL_ESP32/README.md for more.

Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
nicholas-inocencio
9ca681c76d GCS_MAVLink: integrate new ADSB Ping200X/MissionPlanner new mavlink config and status commands 2021-10-26 16:53:00 -07:00
Andy Piper
008c61215c GCS_MAVLINK: convert APM_BUILD_COPTER_OR_HELI() to APM_BUILD_COPTER_OR_HELI 2021-10-26 11:42:12 +11:00
Sebastian Quilter
0276c165ed GCS_MAVLink: make rangefinder ranges m rather than cm 2021-10-21 21:28:53 +11:00
Peter Barker
d7ef63deaf GCS_MAVLink: use USB VID and PID in AUTOPILOT_VERSION mavlink msg 2021-10-20 22:47:03 +11:00
Iampete1
05219ca5c4 GCS_Common: return true result for scripting set_message_interval 2021-10-20 18:35:09 +11:00
Tom Pittenger
12192f60e3 GCS_MAVLink: move ADSB mavlink handling from vehicles to common library 2021-10-14 19:55:27 -07:00
李孟晓
54b68ffae3 GCS_MAVLink: Provide the time remaining 2021-10-13 18:44:05 +11:00
Tom Pittenger
e9ce1886c8 GCS_MAVLink: unify DO_SET_CAM_TRIG_DIST for missions and cmd_long 2021-10-12 15:04:00 -07:00
Josh Henderson
1e0ae4b998 GCS_MAVLINK: Common capacity_remaining_pct checks healthy status and has_current 2021-10-07 22:16:02 +11:00
Peter Barker
e4ebea9e26 GCS_MAVLink: use AHRS position for location
This is our canonical source of position.
2021-10-05 10:20:44 +11:00
Peter Barker
07aa00f2b4 GCS_MAVLink: tidy sending of high-latency message 2021-10-05 10:20:44 +11:00
Shiv Tyagi
5cca39e50a GCS_Common : send water depth for each rangefinder instance
This sends depth message for each downward facing rangefinder instance which has data.

Co-Authored-By: Josh Henderson <69225461+hendjoshsr71@users.noreply.github.com>
2021-10-03 09:21:31 -04:00
Peter Barker
4aeb85d080 GCS_MAVLINK: correct mavlink return code when wiping storage header 2021-10-01 11:39:25 +10:00
Peter Barker
3f37a21aaf GCS_MAVLink: set message intervals from config files 2021-09-30 10:31:03 +10:00
Gone4Dirt
a0245a2640 GCS_MAVLink: Add APM_BUILD_Heli 2021-09-29 19:55:48 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
52c39bc382 GCS_MAVLink: add ESC_TELEMETRY_1_TO_4 to the mavlink_id_to_ap_message_id table 2021-09-28 10:01:16 +10:00
Shiv Tyagi
5f94986af1 GCS_Common : Mavlink wrap when battery percentage is above 100
When calculated battery percentage is above 100 we wrap it to INT8_MAX
2021-09-28 09:54:55 +10:00
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