Commit Graph

1520 Commits

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