Duet Web Control 2.1.2 released
-
@ChrisP Odd, it's working OK on my setup:
Can you share your filament macros?
-
@chrishamm said in Duet Web Control 2.1.2 released:
@ChrisP Odd, it's working OK on my setup:
Can you share your filament macros?
Hmm, interesting! Yeh sure...
Here's
load.g
:M98 P"0:/macros/Filaments/PLA/Load"
And here's the contents of my generic PLA load that the above calls:
; Move head G90 ; absolute positioning G28 G1 X60 Y60 Z100 F9000 ; Display message M291 P"Please wait while the nozzle is being heated up..." R"Loading PLA" S1 ;T5 G10 S200 ; Set current tool temperature to 200C M116 ; Wait for the temperatures to be reached M292 P0 ; cancel message ; Display new message ;M291 P"Ready to feed filament. Insert filament and press Ok." R"Loading PLA" S2 M291 P"Ready to feed filament. Insert filament and press function button." R"Loading PLA" S1 M577 P1 S0 ; pause and wait for endstop trigger M400 ; wait for all moves to finish M577 P1 S0 ; pause and wait for endstop trigger M400 ; wait for all moves to finish M292 P0 ; cancel message M83 ; relative e steps G92 E0 ; reset e steps G1 E10 F300 ; Feed 10 mm of filament at 5 mm/s G1 E475 F3600 ; Feed 475 mm of filament at 60 mm/s G1 E20 F300 ; Feed 20mm of filament at 5 mm/s G1 E10 F120 ; Feed 10mm of filament at 2 mm/s G4 P1000 ; Wait one second G1 E-10 F1800 ; Retract 10mm of filament at 30 mm/s M400 ; Wait for moves to complete M292 ; Hide the message G10 S0 ; Turn the heater off again G92 E0 ; Reset the extruder count M84 E0 ; Turn extruder motors off G28 ;T-1 ; deselect tool
Note that the T-1 at the end is commented out and has been for a long time - it was from some previous experiment as I was looking for a way to de-select the tool after loading. I've left it in just in case its somehow caused an error - the above is the exact script that was run.
I'll admit that I haven't power cycled since updating... but I wouldn't have thought that should be required, really.
-
So, the first print with new FW DSF etc has just finished fine. Selected the tool and issued M702 to unload and immediately after I hit enter, the filament suddenly appeared on the tool. Whats even more weird, is that after the unload had finished the filament was still listed on the tool and M701 says there no filament in the selected tool!
-
@ChrisP said in Duet Web Control 2.1.2 released:
So, the first print with new FW DSF etc has just finished fine. Selected the tool and issued M702 to unload and immediately after I hit enter, the filament suddenly appeared on the tool. Whats even more weird, is that after the unload had finished the filament was still listed on the tool and M701 says there no filament in the selected tool!
Please double-check using M115 that you really are running RRF 3.01-RC7, because we did a fix in RC7 for something very similar.
-
@dc42 said in Duet Web Control 2.1.2 released:
Please double-check using M115 that you really are running RRF 3.01-RC7, because we did a fix in RC7 for something very similar.
No problem - see screenshots below. Whether it makes any difference, I'm using this with a Duet3 + SBC, so I assume its more a DSF issue for @chrishamm than RRF?
There's definitely still an issue... after my post last night where I unloaded the filament and M701 confirmed this but DWC showed filament present, I let the head cool and turned it all off for the night.
This morning, I turned it on to get you the requested info and DWC still shows filament loaded. As seen in the screenshot, I then did an
M115
to confirm the FW version, set the active temperature to 0, selected the tool then an M701. The screenshot below was taken immediately after. As you can see, both DWC and M701 still show filament loaded despite the last thing I did last night was to unload the filament.
Next, I deleted the contents of my unload script so that I could perform the unload without actualy heating or moving etc, and issued M702 to unload (this took 3 attempts?). At this point, both DWC and M701 confirm no filament - great!
However, just for fun, I then power cycled the whole machine and and tried to load filament. While M701 confirmed that there's filament loaded, DWC still doesn't.
After waiting for the head to cool, I power cycle and again and despite filament being loaded (and M701 confirming this previously), neither DWC or M701 show this now.
Indeed, the contents of filament.csv confirm this. Its date-stamped with the unload at 08:47 rather than the load I did at 08:51 (which isn't shown in the previous colsole log as I used the drop-down on DWC).
To confirm, the issue I had previously with RC6/ DSF 1.3.1 was simply that neither DWC or M701 remembered what filament was loaded after powerup, irrespective of the contents of filaments.csv. After powerup it was fine.
-
@ChrisP Can you run DCS in debug mode, try to load/unload the filament and post the console output here? It really sounds like DSF does not get an update about the new filament even though we thought we had fixed this in RC7. In fact I haven't been able to reproduce this issue since then.
-
I think there are two different issues here:
- Filament status (as reported by M701) not always being saved during a power cycle. The status is saved to SD card. My guess is that the data wasn't flushed to SD card before you powered down the Pi. One for @chrishamm I think - perhaps DSF needs to ask Linux to flush the write cache after writing the filament data? If instead of just powering off you tell Linux to shut down, does the problem still happen?
- DWC not always agreeing with M701 about whether filament is loaded. This may be caused by RRF not always updating the relevant sequence number after loading/unloading filament (or updating it too early in the sequence), so that DWC doesn't know that it has changed. If you can pin down the circumstances under which this happens, I will look into it.
-
@chrishamm said in Duet Web Control 2.1.2 released:
@ChrisP Can you run DCS in debug mode, try to load/unload the filament and post the console output here? It really sounds like DSF does not get an update about the new filament even though we thought we had fixed this in RC7. In fact I haven't been able to reproduce this issue since then.
Sure. I did in fact start DSC in debug mode and did a new unload/load and didn't notice anything weird. Unfortunately, I needed to get a print done so I started that... I'll post an pair of unload/load logs after that. Is there any particular sequence you're interested in ie. after a power up or immediately one after another?
@dc42 said in Duet Web Control 2.1.2 released:
I think there are two different issues here:
- Filament status (as reported by M701) not always being saved during a power cycle. The status is saved to SD card. My guess is that the data wasn't flushed to SD card before you powered down the Pi. One for @chrishamm I think - perhaps DSF needs to ask Linux to flush the write cache after writing the filament data? If instead of just powering off you tell Linux to shut down, does the problem still happen?
- DWC not always agreeing with M701 about whether filament is loaded. This may be caused by RRF not always updating the relevant sequence number after loading/unloading filament (or updating it too early in the sequence), so that DWC doesn't know that it has changed. If you can pin down the circumstances under which this happens, I will look into it.
Yeh, this seems logical - particularly with Linux perhaps not flushing the file.
Is there a way that I can check #2? Does M701 pull from the OM in DCS and DWC from RRF then? -
@ChrisP said in Duet Web Control 2.1.2 released:
Is there a way that I can check #2? Does M701 pull from the OM in DCS and DWC from RRF then?
I assume DCS passes M701 to RRF on the Duet, and RRF will report the filament status based on its own variables.
Starting from a situation in which M701 and DWC agree on the filament status, are you able to find a command or sequence of commands that causes them to disagree, without power cycling?
-
@dc42 said in Duet Web Control 2.1.2 released:
Starting from a situation in which M701 and DWC agree on the filament status, are you able to find a command or sequence of commands that causes them to disagree, without power cycling?
Yes. Indeed, I just managed to do that when doing the unload/load that @chrishamm asked for logs for. Hopefully the following will answer both questions. I've attached as txt files as the forum complains the post is too long otherwise, even if split in two.
Firstly, immediately after my print finished, I killed DCS on the pi and started a debug session on a connection through putty. Here's the output after that starts - nothing weird here, I think:
1.txtNext, I unloaded the filament using the drop-down on DWC. Here's whats added to the log after that completed:
2.txtAt this point, DWC still showed the filament as loaded. Running M701 leaves this in the log:
[debug] IPC#16: Got new UNIX connection, checking mode... [debug] IPC#16: Command processor added [debug] IPC#16: Received command SimpleCode [debug] Waiting for execution of M701 [debug] Processing M701 [debug] HTTP: Sent M701, remaining space 1512, needed 24 [debug] Completed M701 => No filament loaded in the selected tool [debug] IPC#16: Connection closed
I then reset just DCS and refreshed the web page. DWC still showed the filament loaded but M701 does again too, I checked filaments.csv and this also still has the filament there and loaded - so this is clearly the first issue that filaments.csv isn't being updated after a load/unload.
Just to double check, I ran another unload and sure enough, filaments.csv and DWC still show filament loaded, M701 doesn't. I then manually removed the filament from filaments.csv and reset DCS and this time neither DWC or M701 show the filament loaded.Finally, here's what the log shows after a reset of DCS and an attempt to load:
3.txtAt this point, M701 shows the filament as loaded, but DWC and filaments.csv doesn't.
So to answer @dc42 question, yes - from a fresh start, either load or unload a filament and DWC always seems to disagree with M701. For completeness, here's a list of what version I have of everything - I'm assuming they're all up to date as this is what I was left with after updating yesterday evening:
pi@starttex:~ $ apt list 2>/dev/null | grep duet duetcontrolserver/unstable,now 1.3.2 armhf [installed,automatic] duetruntime/unstable,now 1.3.2 armhf [installed,automatic] duetsd/unstable,now 1.0.6 all [installed,automatic] duetsoftwareframework/unstable,now 1.3.2 armhf [installed] duettools/unstable,now 1.3.2 armhf [installed,automatic] duetwebcontrol/unstable,now 2.1.2 all [installed,automatic] duetwebserver/unstable,now 1.3.1 armhf [installed,automatic] pi@starttex:~ $
-
Thanks. As you have been resetting DCS in this sequence, I'm not clear whether this is an issue with RRF after all. You could try to replicate the problem in standalone mode if you wish; otherwise I'll wait to see what @chrishamm says.
-
Thanks for the debug logs. In 1 you can see DCS assigns the correct filament:
[debug] Filament Filamentum PLA Extrafill has been assigned to extruder drive 0
This message is generated when the filament has been updated from the firmware. In two there are a couple of updates for
move
(where the assigned filament is stored) which is fine, but it does not occur when M702 is finished. So I believe RRF increases the seqs.move field before M702 has fully finished, hence the updated filament never makes it to DCS. So when you restart DCS as per 3, it queries the full object model again before it does anything else, hence the filament is displayed properly again.The same issue may be present in standalone mode, but in any case I'll have a look at it, try to reproduce, and fix it.
-
Hi
Do not know or understand if this is related or not to the above problem but I still have problem that loaded filament "jumps" tool when cancelling a print... (commented on it in 2.11 release thread)
This was loaded on T1 and after I cancelled the print it jumped. Normal end of print does this to but when the printer is allowed to finish by it self both tools has no filament loaded.
Since it do not stop me from using my printer (most prints are successes) this is more an annoyance than a stopper but if I can help in pinpointing the problem or verify the fix please just ask.
Thanks for all the good work.
-
@chrishamm @dc42
Thanks both for looking into this.I'll have a go at running in standalone later but for now, as per @dc42 original request. Here are two further logs with details of what state things show.
- Immediately after a print finished, M701 DWC and filaments.csv all correctly show that filament is loaded (I'm certain that at the start of the print DWC and .csv were wrong, but I didn't see when it changed - presumably during the print, but I don't know why).
- I then used the drop down option on DWC to unload the filament and immediately copied the log: 4.txt
- At this point DWC incorrectly shows filament loaded, M701 is correct and filaments.csv is incorrect
- Since M701 was showing correctly that there was no filament loaded, I used it again with the S parameter to manually load the next filament. Immediately after pressing enter on this in the console i noticed DWC corrected itself to showed no filament loaded checking .csv also showed that had now updated - I did this while waiting for heat up so at this point the new filament hadn't loaded.
- After filament load, DWC incorrectly shows filament not loaded, M701 is correct again and .csv is incorrect. HEre is the log immediately after the load: 5.txt
- Started the next print with DWC showing no filament loaded, but something clearly knows it is at it used the filaments config file during the print's start code.
Hope this helps. As i said, I'll try standalone later, but if there's anything else you want me to try, just let me know.
-
The issue of fans not working properly in DWC when the fan was configured with an "X" parameter is confirmed resolved with DWC 2.1.2. Thank you.
-
Simulation times for me aren't getting shown in the jobs list once the simulation is completed. This was on a duet 3 with SBC running RC7 and DSF 1.3.2
I haven't tried on a duet 2 yet.
-
@jay_s_uk Simulation times show for me on Duet 2 Wifi and Duet 2 Maestro (RRF 3.01-RC7, DWC 2.1.2).
Ian
-
DWC 2.1.2 running in Chrome under Win10 w/ Duet3 (standalone) 3.0.1 RC7:
I'm finding at times that the "last layer time" isn't being updated on the status page under some conditions.
One place I think replicates this is if the computer running DWC goes into standby, and then I wake the machine while I print is in progress. The status page layer times runs "catchup" for a second, but the "last layer time" gets stuck at some time that seems to be similar to the "Job Duration" time.
At that point, the "current layer time" updates as expected, and goes back to zero on layer changes, but the "last layer time" never changes.
The "layer chart" also appears to get out of whack.
(I'm really hoping you can replicate this, because I'm at a loss for words to describe it properly.)
If I refresh the browser window, everything starts working again.
-
@garyd9 Thanks for reporting this, I suspect one place in DWC2 that could cause this behaviour. Can you please test this new build and let me know if the problem is gone? https://www.dropbox.com/s/znzevo862ny7kr6/DuetWebControl-SD.zip?dl=0
-
@jay_s_uk said in Duet Web Control 2.1.2 released:
Simulation times for me aren't getting shown in the jobs list once the simulation is completed. This was on a duet 3 with SBC running RC7 and DSF 1.3.2
I believe @chrishamm said it's a known issue that DSF doesn't yet write the simulated time to the end of the GCode file.
EDIT: it's listed at https://github.com/chrishamm/DuetSoftwareFramework/tree/dev#known-issues.