Double Click of Encoder Wheel Jumps to Z-BabyStepping
This commit is contained in:
parent
48d862377a
commit
17d1cd7c09
|
@ -411,6 +411,21 @@ uint16_t max_display_update_time = 0;
|
||||||
* General function to go directly to a screen
|
* General function to go directly to a screen
|
||||||
*/
|
*/
|
||||||
void lcd_goto_screen(screenFunc_t screen, const uint32_t encoder = 0) {
|
void lcd_goto_screen(screenFunc_t screen, const uint32_t encoder = 0) {
|
||||||
|
#ifdef DOUBLE_CLICK_JUMPS_TO_Z_BABYSTEPPING
|
||||||
|
#if ENABLED(BABYSTEPPING)
|
||||||
|
if (currentScreen==lcd_status_screen && screen==lcd_main_menu) // We are in leaving the status screen to goto the main_menu
|
||||||
|
status_screen_click_time = millis(); // screen. Mark the time so we know how quick the user is
|
||||||
|
// pressing buttons.
|
||||||
|
if (currentScreen==lcd_main_menu) {
|
||||||
|
if ( screen==lcd_status_screen && status_screen_click_time+DOUBLE_CLICK_TIME_WINDOW>millis() ) {
|
||||||
|
lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
|
||||||
|
status_screen_click_time = 0;
|
||||||
|
lcd_babystep_z();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
if (currentScreen != screen) {
|
if (currentScreen != screen) {
|
||||||
currentScreen = screen;
|
currentScreen = screen;
|
||||||
encoderPosition = encoder;
|
encoderPosition = encoder;
|
||||||
|
@ -756,8 +771,6 @@ void kill_screen(const char* lcd_msg) {
|
||||||
|
|
||||||
#if ENABLED(BABYSTEPPING)
|
#if ENABLED(BABYSTEPPING)
|
||||||
|
|
||||||
long babysteps_done = 0;
|
|
||||||
|
|
||||||
void _lcd_babystep(const AxisEnum axis, const char* msg) {
|
void _lcd_babystep(const AxisEnum axis, const char* msg) {
|
||||||
if (lcd_clicked) { defer_return_to_status = false; return lcd_goto_previous_menu(); }
|
if (lcd_clicked) { defer_return_to_status = false; return lcd_goto_previous_menu(); }
|
||||||
ENCODER_DIRECTION_NORMAL();
|
ENCODER_DIRECTION_NORMAL();
|
||||||
|
|
Loading…
Reference in a new issue