DuetLapse3
-
Unfortunately the error output from wget only had marginally more information Not enough to suggest WHY it is unhappy. This may be because Python is calling wget and not all the error response is getting through.
I've added another line of code to, maybe, capture some more info.
I googled a bit and it MAY be because the url has a trailing slash. With the newer script, can you try with:
http://cam.local:8765/picture/1/current
To save a lot of time during testing - you do not need to be printing. Just set something like:
-seconds 15 -dontwait
and remove -standby
This way DuetLapse will start capturing images every N seconds even though there is no print job running. Let it run until you see (or not) an image capture error in the console, then use the UI to download the current logfile. The logfile will be startup.log since there is no actual print job.
-
@osterac
If trying above does not give any luck, it could be a Motioneye nuance. Seems there MAY be an issue getting still images if there is no streaming enabled.
If this is the case - you could try setting-camera1 stream
and weburl1 to the streaming URL (as opposed to the still picture url). In any case, this may be a better solution as you would not have Motioneye getting still images at one frequency and DuetLapse doing so at another frequency. -
@stuartofmt
I did a print with those settings. It managed to capture the jpg files, but it's 30 minutes after the print and it is still writing to the log file and hasn't deleted the images or made a video yet. Log file attached.
598_1_printer_square_calibration.log.txt -
@osterac said in DuetLapse3:
@stuartofmt
I did a print with those settings. It managed to capture the jpg files, but it's 30 minutes after the print and it is still writing to the log file and hasn't deleted the images or made a video yet.It is working just fine. 88 images captured according to the log, every 20 seconds --> almost exactly 30 minutes.
It will continue to do so until one of two things happens:
- you start a print job that runs to completion
- you tell it to stop.
One way to tell it to stop:
Use the UI.
https://github.com/stuartofmt/DuetLapse3/blob/main/Documents/User Interface.mdControls --> Terminate --> Graceful (this will generate a video)
Looks like you are good to go !
BTW. I installed motioneye and found that wget is definitely not happy about something. Unfortunately it only returns a generic error code. I also noticed that the still capture from motioneye did not seem to work from a web browser.
Using the streaming interface seems the way to go.
-
@stuartofmt
I did a graceful terminate and waited a couple of hours but it is still updating the log file. Web UI says this:DuetLapse3 Version 5.0.3 Connected to printer at: 192.168.1.8:8086 Process Id: 598 Last Update: Tuesday - 15:32 Capture Status:= Completed DuetLapse3 State:= completed Duet Status:= processing Images Captured:= 88 Current Layer:= 33
Updated log file
598_1_printer_square_calibration.log.txt -
I'm not able to see the same issue on my test system (using Motioneye). It all works fine for me.
I think there may be an edge condition associated with the use of -extratime as this is where the program encountered issues. Unfortunately, if it was a Python issue (syntax or similar), it cannot be captured in the logs. It would only be visible in the , now, long gone console output.It may also be associated with the polling of Duet as I saw a situation (in your log) that I have never seen before. In any case, the program got itself into a bind.
I am also not sure exactly what's happening at your end . I can see you used Terminate but I also see 8 instances of
M117 DuetLapse2.completed
command. This suggests either you are isuing the commands from DWC or from one or more print jobs ? Can you help by explaining what happened ?I have a couple of ideas I need to think through but feel confident that I can avoid this condition.
If you have some time on your hands; you could try another run (without - extratime). Just set the program running (no print job needed), let it run until the UI Video tab tells you there are enough images to create a video) and then use Terminate-->Graceful. This should work just fine and if it does (or does not) will narrow the scope of what's happening in your case.
-
@stuartofmt
As for the multiple stop commands, it may be because I printed several things after duetlapse got stuck so commands were sent to duetlapse from that. In my end gcode I use this command:M98 P"DuetLapse3Stop.g" ;stop timelapse
Which calls a .g file that contains this command:
M117 DuetLapse3.completed ;Stop DuetLapse3 G4 S10 ;Wait 10 seconds
I have several of those files, one for start, pause, continue, and stop. I have references to them in my start and stop gcode, and in my pause.g, resume.g, and cancel.g.
I tried doing a run without extratime and I was able to get a video. here's the log file.It may look a little odd because I started recording and then started a print and duetlapse caught on to that. I ended the recording before the print was done.
-
@osterac
So will I be able to use extratime at some point in the future? -
@osterac said in DuetLapse3:
@osterac
So will I be able to use extratime at some point in the future?Yes, absolutely. Hopefully over the weekend.
-
Release Version 5.1.0
Continuing on the journey towards a plugin ....
Version 5.1.0
[1] Removed the use of M117 messages and replace with M291 messages as this gives much better control. Also there is no need for a delay after the message (as there was with M117).
[2] Set new default, minimum values for -seconds (20) and -poll (10) along with some logic changes to avoid an occassional race condition.
[3] Fixed a code error associated with -extratime
[4] Some minor bug UI / Typo fixesDetails on using M291 are here:
https://github.com/stuartofmt/DuetLapse3/tree/main/Documents -
See the post above. You will need to change M117 control messages to the M291 equivalent.
Note that there is no need for a delay after each message -
@stuartofmt said in DuetLapse3:
Note that there is no need for a delay after each message
Sweet! Appreciate your work. Great stuff.
-
-
First of all, many thanks to @chrishamm @Falcounet @MintyTrebor and @T3P3Tony for all helping in progressing this plugin. Withouth their combined efforts it would still be where I left it late last year i.e. abandoned.
I'm very pleased to announce the pluging version of DuetLapse3.
The plugin uses the same source as the standalone version of DuetLapse3 but is easier to install than the standalone version. Other than that the standalone and plugin version have the same functionality.
https://github.com/stuartofmt/DuetLapse3/tree/main/plugin
The instructions for installing DuetLapse3 as a plugin are here:
https://github.com/stuartofmt/DuetLapse3/blob/main/plugin/plugin installation guide.md -
VERSION - 5.2.0 Released
[1] Fixed snapshot when called from gcode
[2] Process all M291 messages without delay
[3] Refactored loop control to prevent thread blocking
[4] Prevent first layer capture if -pause yes
[5] Added -password option to support passwords
[6] Released as a plugin for SBC -
https://i.postimg.cc/5tGyZb6j/duetlapse.png SBC installation doesnt work.
-
@LuniLAB said in DuetLapse3:
https://i.postimg.cc/5tGyZb6j/duetlapse.png SBC installation doesnt work.
It's currently set to require R3.4.5 because that is the latest stable release and the release I tested on.
I'm not sure if it would even work on the 3.5 beta releases. I'll rebuild it (likely tonight) with a requirement of > 3.4.5 and make a note on the tested release.
I'll let you know when its done.
-
@stuartofmt I think things have changed a fair bit between 3.4.5 and 3.5. @MintyTrebor can probably comment more
-
@stuartofmt You will probably have to re-compile based on the 3.5 src at the very least - there were significant changes from 3.4.5 to 3.5. You may also have to make some changes to your code to make it 3.5 compatible, and it's likely the 3.5 version you make will not be backwards compatible with 3.4.5.
-
@MintyTrebor said in DuetLapse3:
@stuartofmt You will probably have to re-compile based on the 3.5 src at the very least - there were significant changes from 3.4.5 to 3.5. You may also have to make some changes to your code to make it 3.5 compatible, and it's likely the 3.5 version you make will not be backwards compatible with 3.4.5.
Thanks - I'll leave the current verson as-is and upgrade to a beta version when I can.
@LuniLAB Its unlikely that I can get to this for a while. You can run DuetLapse3 independently i.e. not as a plugin if you like.
-
DuetLapse3 plugin is now available for 3.5.0.beta.3.
This due to the generous assistance of @MintyTreborhttps://github.com/stuartofmt/DuetLapse3/tree/main/plugin
Note that the plugins are specific to the DWC version and are not interchangeable.