kliment / Printrun

Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

upload also starts print

meutzitzu opened this issue · comments

in Pronsole, using upload command also starts printing the gcode file
I do not want to print it while it's uploading
I just want to send it to the sdcard
and then start the print from there so that I can safely disconnect from the printer, exit pronsole and have the printer continue printing

I'm using the packaged binaries from apt on Kubuntu 20.10

For me it is looking fine:

Prontersole_upload file

@meutzitzu, Is the file really uploaded to sdcard or it is being printed instead of uploaded?
Printing and uploading should happen with different speeds. Does the upload finish before printing is started or upload slows down to sync with printing?

@meutzitzu , please post the command

Fascinating. I see the same behavior with my Ender 5

2022-07-10 - 10-56-08

This picture is showing a start of an upload and not a start of an print.

"Print started at 10:56:27" can lead to the wrong impression of a print start but in reality it indicate with the 00.0% below a start of an transfer. When you are patient you usually will see the % increasing without any start of your printer.

BTW, have you read the message carefully?
open failed, File: cylBoxAero_01.gcode.

Your upload command is wrong. Change it like:
upload cylBoxAero_01.gcode cylB_01.g

Fileformat for target name is 8.3 in pronsole

Here is an example with your file name:

Prontersole6

1 --> upload command
2 --> process of upload, see xx.x% will increase to 98.9%
3 --> process is finish
4 --> command ls will show your files on SD card
5 --> the file.

Most times when something went wrong it is wrong spelling of file names or blanks in the name and not using 8.3 naming convention of target file name for SD card. Other problems are a time out or a confused controller board because of wrong commands that leads the controller in infinite loops or a crash (boot the controller and you are fine, sometimes a reset helps too). Everything you wrote to that interface will be posted to the controller. There are only minimal checks for user input errors like a missing part of a command.

Hope, that helps a bit to understand what's going on.

meutzu@rogu:/data/work/tools/Printrun$ pronsole -e "connect"
WARNING:root:Memory-efficient GCoder implementation unavailable: cannot import name 'gcoder_line' from 'printrun' (/data/work/tools/Printrun/printrun/__init__.py)
Welcome to the printer console! Type "help" for a list of available commands.
Printer is now online
ttyACM0 179°> upload /data/work/3DP/Models/3dbenchy.gcode benchy.gcode
Loading file: /data/work/3DP/Models/3dbenchy.gcode
Loaded /data/work/3DP/Models/3dbenchy.gcode, 75535 lines.
Estimated duration: 160 layers, 1:02:39
Uploading as benchy.gcode
Uploading /data/work/3DP/Models/3dbenchy.gcode
Press Ctrl-C to interrupt upload.
Progress: 00.0%Print started at: 17:28:38
00.0%^C...interrupted!
A partial file named benchy.gcode may have been written to the sd card.

tried on Original Prusa i3 Mk2S

same problem
upload command starts printing
I don't want it to print through USB
I want to upload to the SDcard and THEN start printing from the SDcard
I'm using the latest version of printrun from github
tried on 2 different ender 3 printers and a Prusa i3Mk2S

same
thing
edit: I should point out the fact that when it is saying print starting, it (surprise, surprise) started physically printing the part and that's why I had to interrupt it

GUYS, GUYS, I figured it out ✨
Okay so hear me out
the aforementioned wrong behavior occurs when trying to upload to an empty sdcard
if there's already a gcode file on the sdcard it uploads it perfectly fine, without starting to "print" it

@meutzitzu , empty card should work. Maybe the card was not formatted?
Can you delete all files and try upload again?
Create a test file with a few G0 moves.
Enable Debug communication and upload file.
Check if the M28 command is sent and does not output error.
Print and upload only differ by M28..M29 pair.
If the printer prints then it either did not receive or (just guessing) aborted M28 https://marlinfw.org/docs/gcode/M028.html for example due to long filename

It's funny - the "Print started" message is wrong, but when the M28 fails it's correct.

This picture is showing a start of an upload and not a start of an print.

"Print started at 10:56:27" can lead to the wrong impression of a print start but in reality it indicate with the 00.0% below a start of an transfer. When you are patient you usually will see the % increasing without any start of your printer.

no. i see the printer heat up, and then start printing whatever file i "uploaded". with the % matching (roughly, as far as i can tell) the actual print completion percentage.

Your upload command is wrong. Change it like:
upload cylBoxAero_01.gcode cylB_01.g

just tried this. it also starts the print.

the aforementioned wrong behavior occurs when trying to upload to an empty sdcard
if there's already a gcode file on the sdcard it uploads it perfectly fine, without starting to "print" it

i don't think so. my sd card was chocked full of gcode files before i started using pronsole (and still is).

EDIT:
okay. with a new file, i am getting different behavior with "upload file.gcode file.g". although i'm seeing a lot of errors: "Resend: nnnn. Error:No Checksum with line number, Last Line: nnnn" over and over and over again. whereas prints seem to work flawlessly when I just use the "wrong" command to upload+print ("upload file.gcode file.gcode"). pretty hilarious tbh

Having a lot of resend and checksum errors points usually to bad communication connections. This happens usually if a cable is too long and / or communication speed is too fast. Try to reduce the baud rate.

Can you please attach a log file? You need first to setup this in Pronterface.

-->Settings -->Options -->User interface -->Log path like:
c:\Users\Armin\Printrun.log
(this example is for my windows machine, guess you know what to do for Linux)

Then close Pronterface and start Pronsole and do your thing. Please Attach the log file as zipped file because otherwise you will create a huge a posting.

PrintrunLog