Hello,
I have a pixhawk that is connected to my laptop using usb, and I want to download ulog log files from the pixhawk to the laptop.
I started to make a script that uses mavlink to download pixhawk ulogs by firstusing the LOG_REQUEST_LIST to first fetch the list of all logs, and for each LOG_ENTRY, I send a LOG_REQUEST_DATA message to fetch the data synchronously for all logs. I noticed that the max download speed that I get for downloading the logs using mavlink through my script is ~450kbps while QGroundControl is able to reach ~800kbps when downloading logs.
How is QGroundControl able to attain these speeds, and why cannot it be attained through mavlink directly? Is there any way to make these speeds faster?
I have tested 3 different methods for downloading a 10.3mb log file from pixhawk to laptop and here are my results:
Qgroundcontrol - ~880kb/s took 12.78 seconds
Script using Mavlink - 435 kb/s took 24.81 seconds
Script using MavFTP- 376.49 kb/s took ~28 seconds
So im not entirely sure how QGroundControl is able to achieve those speeds.