Commit Graph

1739 Commits

Author SHA1 Message Date
Peter Barker 96bc2f5e57 GCS_MAVLink: use set_alt_m 2024-11-06 18:12:48 +11:00
Andrew Tridgell b34417f683 GCS_MAVLink: raise number of MAVLink ports
with CAN serial ports and network serial ports sometimes need more
2024-10-15 13:13:54 +11:00
Stephen Dade 9a563e222f GCS_MAVLink: Check if set_message_interval is too fast 2024-10-02 09:22:43 +10:00
Iampete1 d7599f225c GCS_MAVLink: Common: Allow scripting to receive messages which fail CRC check 2024-10-01 10:25:22 +10:00
Peter Barker 423daaa71f GCS_MAVLink: split sending terrain report from terrain request 2024-10-01 10:13:06 +10:00
Nick Exton 67642867e3 GCS_MAVLink: Add handler for VIDEO_STREAM_INFORMATION request 2024-10-01 08:18:54 +09:00
muramura c0d14ec397 GCS_MAVLink: Add conditions and delete the same processing 2024-09-19 11:44:57 +10:00
Iampete1 c19e5713ae GCS_MAVLink: Fix Airspeed without AHRS 2024-09-17 22:11:06 +10:00
Iampete1 8318109546 GCS_MAVLink: add support for AIRSPEED message 2024-09-17 09:10:17 +10:00
koehlert 9beca76f44 GCS_MAVLink: fix includes to ap_message
"GSC_config.h" is needed for HIGHRES_IMU_ENABLED flag.
2024-09-11 08:57:24 +09:00
Randy Mackay 2db7a9520a GCS_MAVLink: support camera-thermal-range 2024-09-10 20:59:49 +09:00
Peter Barker 78f0175e20 GCS_MAVLink: reject SET_MESSAGE_INTERVAL commands with p3 set
this is going to be used for changing the rate of a specific instance of a message at some stage

we have to reject it for now so that when the index is used the GCS is told that their message is invalid in this older version of the autopilot
2024-09-10 11:43:52 +10:00
Tatsuya Yamaguchi a7f9abcff9 GCS_MAVLink: use SourceSetSelection enum class 2024-09-08 10:02:29 +10:00
Andrew Tridgell 3dd44dd8e0 GCS_MAVLink: zero signing key structure for valgrind
the signing key structure is not marked as packed, which means it has
a 4 byte padding between the uint32_t magic and the uint64_t
timestamp. This gets written to the database and valgrind warns about
a write of uninitialised bytes. It is harmless as when the structure
is read the field is not used
2024-09-07 19:23:01 +10:00
Andrii Fil e74afdfcea GCS_MAVLink: support MAV_CMD_EXTERNAL_WIND_ESTIMATE 2024-09-04 10:14:45 +10:00
Peter Barker ebc8a71c36 GCS_MAVLink: allow cancelling of mission upload by sending MISSION_CLEAR_ALL 2024-08-20 20:46:41 +10:00
Peter Barker c0735d136c GCS_MAVLink: factor out a check_receiving_cancel method
allow reuse of this logic
2024-08-20 20:46:41 +10:00
Peter Barker 127e634589 GCS_MAVLink: add and use Battery backend internal-use-only flag
sometimes the information from a backend is very useful for logging, but not via telemetry.

Add an option bit to signify this
2024-08-08 09:12:08 +10:00
Peter Barker 4dac24796d GCS_MAVLink: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Thomas Watson abae008250 GCS_MAVLink: remove vestigial SERIAL_CONTROL_DEV_SHELL support
The HAL always returns nullptr so the function always returns, which is
handled already by the default.
2024-08-06 09:08:04 +10:00
Peter Barker 9049aeaff6 GCS_MAVLink: accept mavlink standard force arm/disarm value for forced arming
the mavlink standard specifies just one value to do either arm or disarm.  Conform to that standard
2024-08-02 16:29:13 +10:00
Peter Barker be377da6a4 GCS_MAVLink: add build option to not send RC_CHANNELS_RAW
we keep this around in case we break old OSD setups
2024-07-30 10:29:58 +10:00
Andy Piper f73154349b GCS_MAVLink: use bitmask based enablement for fences 2024-07-24 08:24:06 +10:00
Andrew Tridgell 0179dc0a68 GCS_MAVLink: default MAVLink HAGL support off on low flash boards 2024-07-17 08:03:18 +10:00
Andrew Tridgell 64ed86a82e GCS_MAVLINK: cope with dirent not having dtype 2024-07-11 09:25:05 +10:00
Oleksiy Protas 6d27f69c96 GCS_MAVLink: correct a debugging message
Probably changed from a pointer to reference at some point and forgot to update a normally disabled block
2024-07-09 10:10:52 +10:00
Andrew Tridgell 0116e1e80d GCS_MAVLink: added lua_command_int_packet()
for lua access to MAV_CMD_xxx
2024-07-01 20:08:29 +10:00
Peter Barker 5911b87ae3 GCS_MAVLink: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
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