Indication of print in progress
-
Is there any way to set one of the digital outputs on the Duet to be high when a print is underway and low otherwise?
I want to hook up a Raspberry Pi as a time-lapse camera and need some way to start and stop the captures.
-
You could have your slicer add start and end gcode that runs a macro that controls an output. You could also get the slicer to trigger the camera for each layer like this.
-
...you could even move the head out of the way of the print for each photo but this will have a direct effect on build time.
-
I'm looking for something that's independent of the slicer, something that will let the capture stop if the print is aborted.
(I've used slicer based commands with OctoPrint and OctoLapse, in this case I really want something that's triggered directly by the state of the printer).
-
I'd consider using the ps_on signl then. Either directly if your not making use the safety features to kill the heaters in a fault, or take a feed from that as an enable. I think there are start and stop macros on the duet? Trigger the ps_on from there, and it can also be dropped on a fault.
-
Yeah, so perhaps call a start.g from your gcode and then drop or raise the signal in the pause/cancel/resume g code scrips:
https://duet3d.dozuki.com/Wiki/Macros#Section_Pause_stop_and_power_fail
It doesn't have to be the ps_on signal, I'd recommend keeping that for killing the VIN power supply. Perhaps just trigger a fan output between 0 and 100% duty.
-
Are there start and stop macros? I didn't see them in the docs... if there are then that would solve my problem.
-
I think you need to call the start macro but look at the link for pause cancel and resume. Edit: + stop and sleep.
-
I guess I could do start and stop in the slicer gcode, but also have the codes in pause/cancel/resume.
Was hoping there was a start macro... there's always poking around in the source code and doing a custom build
-
Another way would be to configure the RPi as an HTTP client and have it make rr_status requests to the Duet. The response includes whether or not a file is being printed.
-
The automatic call of an optional start.g gcode does seem like an ommision. @dc42 is there anything on the horizon?
-
@dc42 has having start.g and end.g files ever been considered? Is there any reason not to have those?
-
@rubillos end.g = stop.g
-
And that is also called when a print is canceled?
-
The http method @dc42 recommends has a few benefits.
- No extra wiring or failure points.
- If in the (unlikely) event of a process hang the http will stop responding and you can cancel your capture.
-
-
@doctrucker said in Indication of print in progress:
The automatic call of an optional start.g gcode does seem like an ommision. @dc42 is there anything on the horizon?
I implemented this many releases ago.
-
@rubillos said in Indication of print in progress:
And that is also called when a print is canceled?
No, cancel.g is called instead.
-
@dc42 documentation hasn't caught up yet.
-
@doctrucker True. That might be the way to go... I'll have a look at modifying my time-lapse code.
There are just so many I/O pins on the Duex5, seemed like an easy thing to hook up