Call this variable menu_block_mask instead. We don't need to know the
exact reason of why we're locking the menu.
We will be able to reuse this to prevent menu entry during more
activities in a cleaner way than testing for each condition as it's
currently done for both menu entry and longpress.
General fixes to the lcd_edit_off item and improved way to generate the toggles.
The old process is this: Write '>' if required -> print base -> pad everything before the last character with spaces -> write the eol character -> jump back and print the toggle over the blank characters. This resulted in noticeable flickering when the toggle was redrawn and was showing the same thing. Now the process is similar, except that everything happens in a "line buffer" (a char buffer that holds an entire line) and gets printed in one go, avoiding jump instructions for the lcd and prevents flickering since it doesn't write ' ' and the letters afterwards.
This should get even better when the lcd_buffer gets implemented since the line_buffer will get compared to the existing data on the screen and avoid overwriting what is on the lcd with the same thing.
All toggles from "HW Setup" were changed.
This includes:
-"Nozzle d."
-all "Checks"
Also added an option to provide a string from sram (not from progmem) as the toggle argument. This can be useful when toggling numbers or even when toggling sheets in the future.
When encoder is rotated left and pushed immediately on status screen, after returning to status screen print speed jumps to 345%.
This is caused by downcasting signed lcd_encoder to unsigned position and back to signed lcd_encoder.