-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
FTP plugin #128
Comments
I've been bogged down by finishing up a big QGroundControl RC Calibration pull. That went in yesterday. Now I move back to FTP. First work item will be improving download speed, with that work I"ll likely switch to the new mavlink message. Implementing missing file operations will come last and may take a while to get to. Hoping for first work item complete in a week. It may take longer since my concept for streaming messages to client without Acks may or may not work. |
Already uses |
I've started to write plugin. @DonLakeFlyer i have few questions:
|
|
Talked with Lorenz. Inner CRC is not needed. I'll remove it at some point. Once I get past download streaming I'll also implement full create/delete on files and directories. Commands for that are not fully in there yet. |
_3. I've see in FTP, size transmitted as text in dir list, so at least file size can be cached in fuse driver. |
But i don't see reasons why dir list return absolute path, not relative as readdir() do it. |
List command returned paths are relative |
I messed up a code piece which is taken stat(). |
Also i don't like that client don't know what command return ACK/NACK (from message). |
Based on QGroundContol QGCUASFileManager.h/cc. Issue #128.
FTP:List works! TODO: timeout handling.
|
Sometimes kCmdReset can restore normal operation, but it might be dangerous. Issue #128.
Now it works (list & read)! New script |
@vooon if I want to download a file what's the procedure? |
@TSC21 Start mavros, then use mavftp tool to list files: rosrun mavros mavftp list /
rosrun mavros mavftp cat /etc/init.d/rc.usb > /tmp/file Upd: FW has session leak bug, so after each 2 cat to one reset. |
Check file size using list. But i not recommend use plugin for large files (>10K) now. rosrun mavros mavftp cat /file | pv -rb -s <file size> > /tmp/file |
It took some time but I was able to download a 2.9MB file :) so it seems to be working. It is slow though.
Can you include |
Maybe later, but mavftp goal is testing ftp plugin, not for general use. Also cat require mavros read all file content and then return it via service, not fast on big files. $ rosrun mavros mavftp cat /fs/microsd/log/2014-08-26/15_37_25.bin | pv -rab -s 298820 > /tmp/file.bin
292kB [ 24kB/s] [ 24kB/s] If pv is not wrong with the calculation speed, it is not that bad, with QGC like speed was 8 kB/s. |
See: PX4/PX4-Autopilot#1345 for significant updates to FTP firmware. You'll have the update to the new opcodes and error codes. |
Waiting PX4/PX4-Autopilot#1357 . Also maybe better to add file permissions on list operation. |
Found error in kCmdListDirectory. |
I'm done. Diagnostics will be later in #154. Now i only waits merge PX4/PX4-Autopilot#1363. |
I think i can close issue now, so as not to slow down release. |
Adding optional enum attribute to fields that represent an enum
I want to add FTP plugin when it support will stabilize.
Wait when:
Also i need reference client implementation, so wait QGC update.
Note: we start discussion in #41, but FTP is offtopic there.
Implement file operations:
TODO:
Protocol TODO:
The text was updated successfully, but these errors were encountered: