Commit Graph

1711 Commits

Author SHA1 Message Date
koehlert 7092cb4717 GCS_MAVLink: support HIGHRES_IMU
HIGHRES_IMU MAVLink message. Built in to 2MB boards or not by default.
2024-06-18 09:29:04 +10:00
Peter Barker 9c42a5d9dd GCS_MAVLink: warn on use of old fence point / rally point protocols 2024-06-11 09:39:56 +10:00
Peter Barker 4fb8408e80 GCS_MAVLink: clarify timeline on removal of HIL_GPS and BATTERY2
try to move to a standard greppable pattern for code to be removed
2024-06-11 09:37:56 +10:00
Peter Barker d250d9cb2b GCS_MAVLink: remove MOUNT_CONFIGURE/MOUNT_CONTROL handling by default 2024-06-11 09:37:56 +10:00
Peter Barker fc560e8219 GCS_MAVLink: avoid casting DroneCAN backend to incorrect type
- split get_type into allocated_type and configured_type
 - check allocated type rather than configured type when looking at backends

Prevents overwrite of random memory when backends are changed at runtime.
2024-06-11 09:31:46 +10:00
Brad Bosch 3b150d2e4c GCS_MAVLink: Add support for parity to Serial passthrough
Add code to reflect USB ACM parity setting to the passthrough port alongside existing support for ACM baud rate changes.  Some use cases for serial passthrough require specific parity settings.

For example, even parity is used and required by the USART protocol used in the STM32 system bootloader. This enhancement allows the use of standard flash programming tools such as STM32CubeProgrammer to flash connected STM based peripherals such as Receivers and Telemetry radios via serial passthrough.  Some examples of such peripherals include the FrSky R9 receivers as well as various other STM based LoRa modules used by the mLRS project.
2024-06-11 09:24:32 +10:00
Peter Barker 78fcf7057c GCS_MAVLink: move switch for sending camera messages into AP_Camera
neatens GCS_Common a bit, reduces repetitive code
2024-06-05 10:29:01 +10:00
Andrew Tridgell 9b046f5a12 GCS_MAVLink: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Peter Barker a669249416 GCS_MAVLink: default support for BATTERY2 sending to off
replaced by BATTERY_STATUS
2024-05-28 10:11:37 +10:00
Iampete1 50fd01af97 GCS_MAVLink: use new `flow_control_enabled` helper 2024-05-28 09:48:19 +10:00
Peter Barker b7cf418d1e GCS_MAVLink: allow handling of AP_MAVLINK_MSG_HIL_GPS_ENABLED to be compiled out 2024-05-23 09:16:32 +10:00
Peter Barker 9f0e191505 GCS_MAVLink: deny attempt to do partial upload while mission transfer in progress
fixes an internal error where we make sure resources are not allocated before allocating upload resources.

The user may receive a DENIED message if they move a waypoint before an item has been transfered to the vehicle.
2024-05-15 12:26:34 +10:00
Peter Barker bd3e58c413 GCS_MAVLink: mark as not receiving when too many items in MISSION_COUNT.count
we left things in the "receiving" state, which would eventually lead to a timeout, rather than just failing instanenously with the correct code.
2024-05-14 09:21:53 +10:00
Peter Barker 549411133b GCS_MAVLink: move handling of AP_Radio RC input down into AP_RCProtocol 2024-05-01 17:51:49 +10:00
Brad Bosch e8d2097ec4 GCS_MAVLink: Avoid serial passthrough buffer exhausted/lost data
Just don't read more than we can write.
2024-04-29 20:06:43 +10:00
Peter Barker ee038cdf1f GCS_MAVLink: adjust for AP_SCHEDULER_ENABLED being false 2024-04-18 08:25:15 +10:00
Peter Barker 7d10b0fc4d GCS_MAVLink: add and use AP_HOME_ENABLED 2024-04-17 18:09:25 +10:00
Brad Bosch 6538e8c9ae GCS_MAVLink: Cleanup and Reduce chance of GCS FTP timeout
Delete unneeded orphan comment
replace get_last_txbuf() with a predicate
Make txbuf flow control threashold consistent between Parameter download and FTP and keep it in range where we are also slowing down normal streams
Delay sending text banner until after first FTP response to reduce latency on slow links
Don't let flow control delay setting ftp.last_send_ms so as to slow down normal streams as soon as possible to improve FTP response time
2024-04-16 09:16:52 +10:00
Brad Bosch bbfb0ed001 GCS_MAVLink: Make get_last_txbuf() safer
Add check for stale radio_status to get_last_txbuf()
Move last_txbuf into last_radio_status struct
2024-04-16 09:16:52 +10:00
Brad Bosch 0e47599bb1 GCS_MAVLink: respect txbuf flow control for FTP messages
This gives slow radio links a fighting chance of getting FTP bulk download working even when they use a baud rate which is much higher than their current bandwidth.

This should eliminate the need to disable FTP for parameter download on slow to moderate speed radio links like mLRS and ELRS.  It allows removal of a hack in mLRS which results in a decrease in parameter download time for 19 Hz mLRS from 45-60 seconds to 11-17 seconds.  This should also be good news for the ELRS rc-mavlink branch.
2024-04-16 09:16:52 +10:00
Peter Barker f83cde7760 GCS_MAVLink: correct spelling of dereferecing 2024-04-10 21:56:52 +10:00
Peter Barker 420f80db75 GCS_MAVLink: move handling of DO_SET_HOME up to GCS_MAVLink base class 2024-04-09 09:35:16 +10:00
Clyde McQueen 10f39c3d28 GCS_Common: defer to AP_AHRS::set_origin to write logs 2024-04-02 11:00:22 +11:00
Randy Mackay ff7486e3cc GCS_MAVLink: forward set-camera-source to AP_Camera 2024-03-25 09:19:18 +09:00
Peter Barker abd5d0e3e9 GCS_MAVLink: cope with AHRS not being available 2024-03-19 07:00:10 +11:00
Stephen Dade faf2ae3a9c GCS_MAVLink: filter out additional messages for High Latency link 2024-03-12 21:13:47 +11:00
Iampete1 fdfdbe8d13 GCS_MAVLink: Routing: forward ADSB if local ADSB parsing is disabled 2024-03-12 09:36:15 +11:00
Peter Barker ceb45a9c3b GCS_Fence: cope with avoidance not being compiled in 2024-03-11 18:07:18 +11:00
Peter Barker a79569ccf3 GCS_Common: add missing include for AP_RCProtocol
we directly use this library's singleton, so include the header
2024-03-09 18:42:57 +11:00
olliw42 0bb98c3db5 GCS_MAVLink: handle RADIO_RC_CHANNELS 2024-03-09 10:47:39 +11:00
Peter Barker 9fc068d704 GCS_MAVLink: send set_position_target_global_int with non _INT frame
deprecating and hopefully removing the _INT frames.

This method is only called by Rover, so thankfully the altitude is not that important...
2024-03-08 13:28:14 +11:00
Marek S. Lukasiewicz baf0da74ed GCS_MAVLink: Match handling of MAV_CMD_EXTERNAL_POSITION_ESTIMATE to common MAVLink dialect 2024-03-07 18:13:51 +11:00
Andrew Tridgell 0aba1ce939 GCS_MAVLink: pass channel number to AP_GPS on RTCM injection 2024-03-06 19:38:06 +11:00
Peter Barker d6df142eaa GCS_MAVLink: allow FTP to be compiled out with build_options.py 2024-03-03 08:38:22 +11:00
Randy Mackay 442c90ff1b GCS_MAVLink: send Odometry quality to VisualOdom 2024-02-28 18:52:37 +11:00
Peter Barker 0fe9027b23 GCS_MAVLink: handle MAV_CMD_DO_SET_SAFETY_SWITCH_STATE 2024-02-27 21:10:39 +11:00
Peter Barker 5cc48a12e2 GCS_MAVLink: remove code based on ENABLE parameters 2024-02-27 11:02:48 +11:00
Andrew Tridgell 632bb71c87 GCS_MAVLink: use can_printf_severity() for AP_Periph 2024-02-22 15:03:01 +11:00
Iampete1 a9eadd9f01 GCS_MAVLink: FTP: strip trailing `/` in dir list request 2024-02-22 07:43:16 +11:00
Peter Barker 362867415f GCS_MAVLink: move gripper up to AP_Vehicle
also make the singleton return a reference rather than a pointer
2024-02-21 21:05:12 +11:00
bugobliterator 402c8a5e4d GCS_MAVLink: fix version setting in CheckFirmware app descriptor 2024-02-21 18:54:17 +11:00
Patrick José Pereira 3f2c82df12 GCS_MAVLink: Remove wrong usage of COMMAND_ACK message
SET_MODE message does not exist inside the MAV_CMD enum
as described in the mavlink specification.
The system that is using SET_MODE to communicate with the
vehicle should rely on HEARTBEAT message to detect if
the mode was set correctly.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-02-20 10:08:06 +11:00
Peter Barker e787fc5dfd GCS_MAVLink: allow AP_Periph to use mavlink library 2024-02-15 12:17:07 +11:00
Peter Barker 43adaf3714 GCS_MAVLink: make guided-mode-change-alt and guided-mode-wp dependant on AP_MISSION_ENABLED
We really should not be using Mission_Command to transfer information between the base-class GCS_MAVLink and subclasses like GCS_MAVLink_Plane.  But until we fix that we can exclude the code if Mission is not available (like on peripherals...)
2024-02-14 14:47:03 +11:00
Peter Barker c23ba04638 GCS_MAVLink: move RC bits in mavlink to common code
Plane's semantics change to be like Copter. Rover, Sub and Tracker will start reporting the bits
2024-02-10 11:46:44 +11:00
Peter Barker 4a1adc69da GCS_MAVLink: make compass.mag_cal_fixed_yaw return boolean
this method could be used from a transmitter without GCS enabled, for example
2024-02-06 11:11:27 +11:00
Peter Barker f1457034e2 GCS_MAVLink: provide and use base-method implementation for guided mode request 2024-02-06 11:07:48 +11:00
Peter Barker c33d665906 GCS_MAVLink: make rally/fence item conversion methods public 2024-01-24 19:14:41 +11:00
Peter Barker 5e5bca2bba GCS_MAVLink: handle RADIO_STATUS is GCS base class 2024-01-24 18:43:15 +11:00
Peter Barker f18e196fa9 GCS_MAVLink: use virtual method for GCS_MAVLink::handle_message
use more appropriate naming for the method.
2024-01-24 09:07:41 +11:00