-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configurable auto-reconnect and supporting changes. #252
base: 2.7.1-dev
Are you sure you want to change the base?
Conversation
@thebeline Just a heads up, I'm thinking of rewriting the internal state machine in 2.8, so this PR may not be needed. Let's keep this PR open and I'll take a look at it again during the development of 2.8. |
Ooff, that seems like an awful lot for a minor version, but also definitely cool. Not to press, but in a way i kind of considered this a bug fix more than a feature addition (despite the switch being optional), as the current behaviour invalidates the documented and expected behaviour of the OctoPrint web interface. |
Yea, 2.6 was a major release. And 2.7 as well, and what I have planned for 2.8, 2.9, and 3.0 are each going to be massive, so they probably should of have their own major release number, but I'm sticking with incrementing the minor version, b/c the UI and UX structure are going to be somewhat consistent.
Just a heads up - my plan is to reuse the OctoPrint states and then add anything extra, like a "connecting to OctoPrint" state. I think between the work done in 2.6, 2.7, and then this, nearly all of the crashing bugs and reboots will be taken care of. (crosses fingers) One other thing to mention, is that I plan to add a "pre-print" (or maybe call it a "warn-up") state. When you start a print and the tools are cold, OctoPrint is basically unresponsive until the hotend and bed meet their target temps. For example, start a print and then try to cancel it... you can't cancel until they've reached the target temperatures... this doesn't have anything to do w/OctoScreen - it's an OctoPrint issue, but it would be nice to manage this myself, and then start the print, and this is something I'm planning on adding. On a completely different topic, several users have asked for a feature where the feed from a connected webcam is displayed. Do you own a web cam? If so, are you interested in working on this feature? I haven't looked into it too much yet, I've only just scratched the surface. I've researched it a little and did come across https://stackoverflow.com/questions/35474813/how-to-get-webcam-feed-to-gtk-window and https://packages.debian.org/jessie/libcheese-gtk-dev. I have a lot of thoughts on this feature. If you are interested in taking this on, I'll post a FR with the notes in them (after 2.7 is published) |
That sounds awesome.
I don't fully what you mean, but I suppose I will later.
So... A few things here: Looking in to the OctoPrint GCode stream system, it basically renders out the gcode, and chunks it into a queue. As far as I can tell, the only thing OP can do it stop feeding the queue, but otherwise, the queue must flush to the printer (hence "pause" and "cancel" not being immediate when printing, and the printer will continue for a few line segments before it halts). Additionally, the waiting for the bed and or tools to come up to temp is due to either OctoPrint, or the slicer it's self (the Now, there is already a configuration option in OctoPrint that can handle breaking with So, all of that said, I would kind of hazard away from going too far down that path.
I have been thinking on it, I'll have a look. I have zero experience with Back on topic: Comments/questions/concerns on this PR? I still consider it a bug fix, as I said, it breaks the OctoPrint UI, essentially. |
Still kinda sad about this and resolution not being in 2.7, but hey, 2.7.1 already has a headstart! Woot! ;-) |
This was a big feature change, and I had to weigh delaying the 2.7 release vs. getting this in. Version 2.8 is going to overhaul the state machine, so this PR, or portions of it, might be redundant, so my plan is to work on 2.8, implement the new state machine, and then revisit this PR. |
Can you activate the Discussions tab so I can throw some thoughts around outside of the Issues Board? |
@JeffB42 - I am rounding back to some of my work here, wanted to check before I merged master into my branches if the PRs and branches are even relevant any more. With regards to this branch, the description of the behavior is in comment: #10 (comment) Let me know if this is still relevant, and if I should update this branch to make this PR relevant. Thank you. |
Implementation of configurable Automatic Connect behavior. Limited to turning Auto Connect on or off.
This was requested in #241 and I got researching when I was trying to understand #250. Frankly, this seems reasonable, as the
default
behaviour (which I left as the defacto default behaviour), has the side-effect of breakingDisconnect
in the OctoPrint Web Interface (as immediatly after clickingDisconnect
, OctoScreen would initiate an automatic reconnect).Since that is historical behaviour, I left it, but providing the option to make OctoScreen respect user-choice and the duties of the OctoPrint UI seemed resonable.
As part of this I did rename some methods and buttons for clarity (
Reconnect
instead ofRetry
), and there was a misspelling I corrected (instane
, unrelated, but I was there).This build is currently running on all of my instances with expected behaviour.
Resolves #241