mainsail icon indicating copy to clipboard operation
mainsail copied to clipboard

Limit temperature changes mid-print to avoid going cold because of a typo

Open drelich opened this issue 2 years ago • 6 comments

Requested feature:

At the moment the Mainsail UI disables the dropdown options for picking pre-set temperatures while a print is in progress. I would also like to see that the free text field, which is still editable during print, sets a minimum temperature allowed minus 20°C for example (usually lowering temp by 10°C is sufficient?). This could be based on the temperature found in gcode.

Had an 18 hour print fail because instead of 230°C I managed to only type 30°C on my iPad mini and didn't notice until the nozzle start making screeching noises. A print forced abort followed shortly after. That print was 53% done...

Solves the following problem:

Prevents too low temperatures to be set mid-print, avoiding aborting a print because of a typo, which is very frequent on mobile devices.

Additional information:

No response

drelich avatar Aug 13 '22 07:08 drelich

Which Mainsail version do you currently use?

dw-0 avatar Aug 13 '22 07:08 dw-0

v2.2.1 (always keeping it at its latest :) )

drelich avatar Aug 13 '22 07:08 drelich

In prior versions of Mainsail, temperatures were automatically set once the input field was left/lost focus. This often led to unintentional changes to the printing temperature. Starting with version 2.2.0 users are required to explicitly confirm setting a new temperature by pressing enter. Making the user confirm the changes by pressing enter is our approach to prevent such issues. On the other hand we expect the user to not change such potentially crucial parameters on the fly without paying attention before confirmation.

This could be based on the temperature found in gcode.

We are not able to look into the gcode to see which temperatures are used during a print.

dw-0 avatar Aug 13 '22 08:08 dw-0

We are not able to look into the gcode to see which temperatures are used during a print.

How do you get the temperature that is displayed in the text field? I thought this is pre-filled from gcode during streaming?

On a small device, editing a free text is a little 'clumsy' with the limited screen estate, which is half covered with on-screen keyboard. I did confirm with Enter but didn't see the first digit was missing.

In any case, that temperature field seems to be a NUMBER type HTML INPUT. This field has the option to set MIN and MAX values. Can it be updated to come with a MIN equal to something sensible, say 180°C (I presume nobody prints lower than 180, not even with PLA?), and have validation in place to warn the user if they tried to go lower by mistake?

drelich avatar Aug 13 '22 08:08 drelich

How do you get the temperature that is displayed in the text field? I thought this is pre-filled from gcode during streaming?

This is a fundamental misunderstanding on how Mainsail works. No gcode is streamed. Temperatures are made available through Moonraker.

I did confirm with Enter but didn't see the first digit was missing.

image I checked the layout of an iPad Mini with the developer tools in my browser to see how bad it actually is. As you can see the 230 are fully visible. This is actually something we try to pay attention to and don't let input to be cut of. So in every input you should always and in every resolution be able to see the full "sane" input.

Can it be updated to come with a MIN equal to something sensible, say 180°C (I presume nobody prints lower than 180, not even with PLA?), and have validation in place to warn the user if they tried to go lower by mistake?

I can forward that request to the rest of the team so we can discuss that as it requires to put some business logic in place where (imho) no business logic (in form of code) should be required. I think this is more of a individual one-time issue due to some inattention and from now on you'll probably check twice before confirmation.

dw-0 avatar Aug 13 '22 09:08 dw-0

Thanks. Dev tools in Chrome don't really give you the whole picture though. Things like on-screen keyboard, for example. The keyboard is huuuge by default. And compared to it, the input field's text is really tiny. If you're using the iPad mini as a touchscreen for your printer and control it from about two feet away, you will have a problem reading it.

IMG_0045

You say there's no business logic for this and that I will now check twice. Fair enough. But a minor change to the INPUT field could save somebody else a multi-day print and a ton of filament the first time they make the same mistake...

drelich avatar Aug 13 '22 09:08 drelich

What speaks against a simple confirmation dialog, which can be activated by option?

0xUnkn0wN avatar Aug 15 '22 18:08 0xUnkn0wN

@JonathanHeinz it is already a "double check workflow". you have to edit the value + press enter. without "confirm" the value with the enter key, mainsail will redo the old value.

meteyou avatar Aug 23 '22 18:08 meteyou

Ahoi!

It looks like there hasn't been any recent updates on this issue. If you created this issue and no longer consider it to get merged, then please login to github and close it. Otherwise, if there is no further activity on this issue, it will be automatically closedwithin the next 7 days.

Fair wind and a following sea! ~ Your friendly MainsailGithubBot

PS: I'm just an automated script, not a real sailor.

github-actions[bot] avatar Sep 06 '22 18:09 github-actions[bot]

I can see the 'Not Addressing' tag on this one so closing it.

drelich avatar Sep 07 '22 08:09 drelich