Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File upload over wifi to the printer slow #144

Closed
bubnikv opened this issue Jan 13, 2017 · 13 comments
Closed

File upload over wifi to the printer slow #144

bubnikv opened this issue Jan 13, 2017 · 13 comments

Comments

@bubnikv
Copy link

bubnikv commented Jan 13, 2017

I just installed the ESP3D on a NodeMCU board. It seems to be working. I tried uploading a file into the printer (no printer attached, just a blind test, the printer serial interface set to 250kbits per second) and the upload seems to be very slow, in the ballpark of 230kB / min. What file upload speeds can we expect with the ESP3D?

@luc-github
Copy link
Owner

Hi - did you ever try file transfert using the M28/M29 command ?
this transfert using serial is slow like hell - and if you use repetier host / repetier fw it is even slower as every line is interpreted and converted to binary before being saved

unfortunatly the wifi is not the limitation the transfert protocol (M28/M29) is the limitation, the only solution are:

  • to use another protocol but there is none supported by Marlin/repetier
  • to connected SD card board to ESP but this is hardware rework in addition of firmware modification

File transfert on SD is not good unfortunatly

@bubnikv
Copy link
Author

bubnikv commented Jan 15, 2017 via email

@luc-github
Copy link
Owner

luc-github commented Jan 15, 2017

there is no really way to improve speed by serial on ESP side - as each command is checked one by one by main board and we need to get ack before going sending next one.

@bubnikv
Copy link
Author

bubnikv commented Jan 15, 2017 via email

@luc-github
Copy link
Owner

luc-github commented Jan 15, 2017

yes of course if marlin/smoothie/repetier had better upload process would be great - but I do not intend to change them, it is out of my influence ^_^- I just do my best to handle what they do

@bubnikv
Copy link
Author

bubnikv commented Jan 15, 2017 via email

@luc-github
Copy link
Owner

@bubnikv yes of course is doable ^_^ - as said just out of my firmware scope as I want to be as portable as possible and I am not willing to push printer firmware (they are too many) to have better upload process and not sure everyone will implement it in same way

About duet I checked their code already and they use another approach - ESP is not connected by serial but directly by SPI -fimrware and board are designed for it which make things easier of course.

Yes agree with you - I worked on it (#93 (comment)) and speed is very good, as good as my wifi sd card transfer

@bubnikv
Copy link
Author

bubnikv commented Jan 15, 2017

Thanks for the link. Is the web upload / download to a SD card connected to the ESP8266 supported by the project?

I see the SDCARD_FEATURE define, but I am not quite sure what it does. My impression is, it only allows the html/css/javascript files to be stored on a SD card, but it does not support uploading / storing on the SD card. Am I correct?

What does DIRECT_SDCARD_FEATURE mean?

Thanks for your time. It is confusing to me, I tinkered only a bit with the ESP8266 Arduino before, so this is mostly new to me.

@luc-github
Copy link
Owner

luc-github commented Jan 15, 2017

yes current github code does not support direct SD card access, what you see is for an evolution of current code

@bubnikv
Copy link
Author

bubnikv commented Jan 15, 2017

One way to make the SD access by the ESP8266 fast is to do it the octopi way: To ignore the SD card in the printer and to print from the ESP8266 online. This makes only sense though if the ESP8266 is stable enough. I know many who trust the octoprint to print multiple days prints from it.

I am going to evaluate the SDWebServer first. Let's see how convincing it will be.

@luc-github
Copy link
Owner

the issue using esp as host is when streaming SD content it cannot handle well the wifi - esp is not multitasking and easily overloaded, a good example is do SD upload and try to connect to web page also doing some refresh - you will get several package lost and sd upload will failed

Also because it is not multitasking send print commands continuously and handle webUI will be a problem, so even it can be ok for cnc, for laser and 3d printer, to loose the printer control command flow during the time it answer/ handle wifi/web request is not good at all.
for example during few ms of handleing command the flow will continue and the result will be overextrusion - same if using a laser the laser may overheat waiting for next command.

need also to handle pause and communication error which is feasible but I would consider esp32 in this case instead of esp8266

Just my 2 cents

@luc-github
Copy link
Owner

if no update I close issue

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 21, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants