AllYarnsAreBeautiful/ayab-desktop

Possibility to pause pattern

Opened this issue · 5 comments

Sarah black:
It might be helpful to pause the knitting of a pattern (to knit some mono-colored rows).

This would be useful for when things have gone wrong or you are doing a big pattern. Also it would be useful to back up rows.

I was thinking about implementing this, but to pause for more than a few minutes you want to be able to save and load the machine state. That is quite difficult.

But it would be easy to implement a very simple pause button that launches a blocking dialog box and when you cancel that box the program resumes. I expect there would need to be a new state in the serial communication Finite State Machine for the paused state.

I was thinking about implementing this, but to pause for more than a few minutes you want to be able to save and load the machine state. That is quite difficult.

But it would be easy to implement a very simple pause button that launches a blocking dialog box and when you cancel that box the program resumes. I expect there would need to be a new state in the serial communication Finite State Machine for the paused state.

I read the original request again...as far as I understood the feature request, the user wants to knit some unicolor lines ad-hoc inside the original pattern, not just take a break from knitting for some minutes :)
I think that's not that easy, because the Arduino is still running and sending reqLine messages on each line end. If we don't answer them, we currently have undefined behavior.
So we could answer them properly, by inserting unicolor lines into the original pattern as long as a "pause" button is active. This requires some brain work, as it alters the pattern data on the fly.
Easiest solution, but probably not that comfortable for the user is to stop knitting with AYAB, knit freely, and start again with startRow set to the value where you left off. With this solution you also do not have to wait for beeps etc. while knitting freely.

Easiest solution, but probably not that comfortable for the user is to stop knitting with AYAB, knit freely, and start again with startRow set to the value where you left off. With this solution you also do not have to wait for beeps etc. while knitting freely.

I think that is a good enough solution for now. How should we document this?

This ticket to be treated as documenting the proposal above, additional ticket to be opened for adding a "pause" button to AYAB, labelled next

Adding an FAQ entry to the manual for this.