Paneldue freezes after print begins
-
I am running
Firmware Name: RepRapFirmware for Duet WiFi
Firmware Version: 1.15c (2016-09-05)
WiFi Server Version: 1.02
Web Interface Version: 1.12The paneldue does not show the bed heater temp rising after printing starts, its still responsive and I can switch between screens. It shows "printing" at the top right.
Once the bed is heated it starts showing the temps normally.
-
AFAIK, it's a known bug.
-
It's been reported by a few others. Please can you tell me:
1. What are the first 20 or so lines of gcode in the file you were printing? In particular the bit where it heats the bed and waits.
2. Does the problem occur only when you start the print from PanelDue, or does it also occur if you start the print from the web interface?
-
Okay this is one file
[[language]] ; generated by Slic3r 1.2.9 on 2016-10-09 at 17:07:59 ; external perimeters extrusion width = 0.30mm ; perimeters extrusion width = 0.24mm ; infill extrusion width = 0.40mm ; solid infill extrusion width = 0.40mm ; top infill extrusion width = 0.40mm M107 M190 S130 ; set bed temperature G28 ; home all axes G28 ;home again in case of problem M104 S160 ; preheat extruder without waiting G32 ;autocalibration leave OFF until print bite arrives M109 S250 ; Set extruder temp G21 ; set units to millimeters G90 ; use absolute coordinates M82 ; use absolute distances for extrusion
and this is another
[[language]] ; generated by Slic3r 1.2.9 on 2016-10-09 at 10:13:46 ; external perimeters extrusion width = 0.40mm ; perimeters extrusion width = 0.67mm ; infill extrusion width = 0.67mm ; solid infill extrusion width = 0.67mm ; top infill extrusion width = 0.67mm M107 M190 S130 ; set bed temperature G28 ; home all axes G28 ;home again in case of problem M104 S160 ; preheat extruder without waiting G32 ;autocalibration leave OFF until print bite arrives M109 S250 ; Set extruder temp G21 ; set units to millimeters G90 ; use absolute coordinates M82 ; use absolute distances for extrusion G92 E0 G1 E-1.40000 F3000.00000 G92 E0 G1 Z0.600 F9000.000 G1 X21.800 Y-25.928 F9000.000 G1 Z0.560 F9000.000
I start all prints from the web interface.
If its a known issue then its no trouble, I just expect to look over after starting a print to see my bed temp rising, and it isn't on the panel. So I look at the screen instead and it's fine. -
What I think is happening is that the PanelDue notices the status change to "Printing" and sends M36 to ask the Duet for details of the file being printed. By then the M190 command is already being executed. M36 cannot yet be executed concurrently with any other commands, so it is held in a queue. Meanwhile the status requests that PanelDue sends are queued after the M36 command.
If you can arrange for the starting code to have a G4 P2000 command before the M190 command, that should allow the M36 command to complete before heating commences.
The problem will be fixed when we implement full concurrency of non-conflicting commands, which is planned for version 1.16 but might get postponed to 1.17.
-
Thanks David, that pause is easy enough to do, I'll try it later on tonight.
-
I added the G4 P2000 before the M190 and the PanelDue showed the bed temp increasing.
-
I could add this manually or by some post processor, after gcode generation by slic3r but I cannot add it before the M190 as slic3r's custom gcode is added after M190 and starts where I have G28. I'll just carry on for now and wait until it gets changed in a later version. Thanks for the help though.
-
If you put the M140/M190 and M104/M109 in the startup gcode, Slic3r will use those.
Here's my Slic3r startup gcode:
T0 ; make sure the only hotend is selected
G4 P2000 ; pause workaround for the rrf/paneldue bug
M190 S[first_layer_bed_temperature]
M104 S[first_layer_temperature]
G28 ; home all axes
G32 ; bed calibration - RRF
M109 S[first_layer_temperature]
M117 [input_filename_base]End gcode:
M104 S0 ; turn off temperature
M140 S0 ; turn off bed
G28 X0 ; home X axis
G1 Y300 ; move y to rear
M84 ; disable motors -
Thanks Ill try a variant of that.
-
Yep that worked thank you.