Andrew Tridgell
9b046f5a12
GCS_MAVLink: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +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
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
d6df142eaa
GCS_MAVLink: allow FTP to be compiled out with build_options.py
2024-03-03 08:38:22 +11:00
Iampete1
a9eadd9f01
GCS_MAVLink: FTP: strip trailing `/` in dir list request
2024-02-22 07:43:16 +11:00
Iampete1
423a218643
GCS_MAVLink: use new filesystem crc32 method
2023-12-05 11:03:58 +11:00
Peter Barker
ed5da4ead2
GCS_MAVLink: allow more libraries to compile with no HAL_GCS_ENABLED
2023-09-05 22:23:51 +10:00
muramura
62aee72820
GCS_MAVLink: Change a number to a defined name
2023-08-15 08:36:59 +09:00
Andrew Tridgell
0d97b308b2
GCS_MAVLink: fixed corruption of FTP reply component ID
...
this led to not being able to do FTP transfers with
support.ardupilot.org unless MissionPlanner used the same component ID
as the support engineer GCS
2023-08-14 22:25:23 +10:00
Andrew Tridgell
6770982a98
GCS_MAVLink: support rename in FTP
2023-03-05 09:42:48 +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
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
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
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
9f5f7e018e
GCS_MAVLINK: fixed warning in ftp build with gcc 11.3
2022-10-06 10:45:49 +11: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
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
bugobliterator
e9faab288c
GCS_MAVLink: allow mavftp on AP_Periph
2021-08-19 14:20:58 +10:00
Andrew Tridgell
02ca6b67a2
GCS_MAVLINK: fixed macos snprintf error
2021-08-05 09:43:35 +10:00
Mark Whitehorn
bb15c18cc3
GCS_MAVLink: send message when MAVFTP init fails
2021-02-10 23:06:36 +11:00
Andrew Tridgell
882d9c4e23
GCS_MAVLink: adjust stack sizes
2021-01-10 08:28:55 +11:00
Hwurzburg
6eca18c08b
GCS_MAVLink: add Board option to disable MAVftp in low mem bds/apps
2020-11-17 10:41:59 +11:00
Andrew Tridgell
90232fa6c0
GCS_MAVLink: fixed alignment errors in FTP server
2020-07-07 10:23:00 +10:00
Peter Barker
06012cbc56
GCS_MAVLink: cope with RingBuffer rename if empty() to is_empty()
2020-06-09 10:21:48 +10:00
Peter Barker
c1de346150
GCS_MAVLink: avoid copying data twice in ftp transfers
2020-06-07 08:51:09 +10:00
Andrew Tridgell
fc28cd4fa2
GCS_MAVLink: fixed a ftp duplicate reply
...
this fixes a bug in burst replies where the duplicate reply may have
the wrong offset. This causes the "paramftp bad type" error
2020-05-14 09:53:42 +10:00
Andrew Tridgell
87c2858bde
GCS_MAVLink: give banner on param download with ftp
...
thanks to Peter for noticing
2020-05-10 15:10:21 +10:00
Andrew Tridgell
7571e616de
GCS_MAVLink: handle session timeout due to lost packets
...
and fixed handling of losing last pkt in a burst
2020-04-29 07:36:55 +10:00
Andrew Tridgell
7cd901fa5b
GCS_MAVLink: enable ftp without filesystem
...
allows for @PARAM and @SYS
2020-04-29 07:36:55 +10:00
Peter Barker
668e0d0e65
GCS_MAVLink: check for empty replies queue first thing in send_ftp_replies
...
Will save us a little time on average
2020-04-27 15:30:30 +10:00
Peter Barker
7028f1adba
GCS_MAVLink: GCS_FTP: remove redundant more_pending variable
...
This is taken care of by the "break" statements
2020-03-31 10:38:13 +11:00
Andrew Tridgell
e7fdf8fad1
GCS_MAVLink: reduced delay between ftp packets
2020-03-28 15:28:03 +11:00
Andrew Tridgell
5c9ae33151
GCS_MAVLink: support variable sized packets in burst read
...
this allows packet size to be tailored to the transport
2020-03-28 15:28:03 +11:00
Andrew Tridgell
8a84dbc19e
GCS_MAVLink: slow down telemetry during ftp
2020-03-28 15:28:03 +11:00
Andrew Tridgell
c1d4a5bd35
GCS_MAVLINK: prevent closedir() with nullptr
2020-03-28 15:28:03 +11:00
Andrew Tridgell
28082774b6
GCS_MAVLink: use new DirHandle for directory listings
2020-03-28 15:28:03 +11:00
Andrew Tridgell
f7eba43cb8
GCS_MAVLink: raise ftp stack size to 3072 from 1024
...
this prevents memory corruption on directory listing
2020-02-11 13:32:17 +11:00
Andrew Tridgell
43da68ae59
GCS_MAVLink: added ftp_push_replies()
2019-11-02 22:52:06 +11:00
Andrew Tridgell
10ed848dd7
GCS_MAVLink: fixed comment
2019-11-02 22:52:06 +11:00
Andrew Tridgell
15fc3f3d75
GCS_MAVLink: fixed session handling for ftp
2019-11-02 22:52:06 +11:00
Andrew Tridgell
00549d13fa
GCS_MAVLink: rename emit_dir_entry to gen_dir_entry
...
comment from Sid
2019-11-02 22:52:06 +11:00
Andrew Tridgell
e5321b6201
GCS_MAVLink: fixes from my review
2019-11-02 22:52:06 +11:00
Michael du Breuil
6f538dd45a
GCS_MAVLink: Initial FTP support
2019-11-02 22:52:06 +11:00