Commit Graph

1475 Commits

Author SHA1 Message Date
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