From d92f47ee261541b3ec1596f339c5b5975011dc66 Mon Sep 17 00:00:00 2001 From: Ronald Schaten Date: Tue, 1 Feb 2022 18:39:59 +0100 Subject: [PATCH] refactored --- PhotoStepper/PhotoStepper.ino | 124 ++++++++++++++++++---------------- 1 file changed, 67 insertions(+), 57 deletions(-) diff --git a/PhotoStepper/PhotoStepper.ino b/PhotoStepper/PhotoStepper.ino index 476f536..2887c09 100644 --- a/PhotoStepper/PhotoStepper.ino +++ b/PhotoStepper/PhotoStepper.ino @@ -98,69 +98,69 @@ NAVROOT(nav, mainMenu, MAX_DEPTH, in, out); // === -void ButtonHandler(const ButtonParam& param) { +void ButtonHandler_menu(const ButtonParam& param) { + Serial.print("ButtonHandler_menu("); Serial.print(param.button); - Serial.print(" "); - switch (state) { - case STATE_MENU: - Serial.print("menu - "); - switch (param.state) { - case ButtonState_Click: - Serial.print("Click"); - switch (param.button) { - case KEY_RIGHT: - break; - case KEY_UP: - nav.doNav(upCmd); - break; - case KEY_DOWN: - nav.doNav(downCmd); - break; - case KEY_LEFT: - break; - case KEY_SELECT: - nav.doNav(enterCmd); - break; - } + Serial.println(")"); + switch (param.state) { + case ButtonState_Click: + Serial.print("Click"); + switch (param.button) { + case KEY_UP: + nav.doNav(upCmd); + break; + case KEY_DOWN: + nav.doNav(downCmd); + break; + case KEY_SELECT: + nav.doNav(enterCmd); + break; + } + nav.doOutput(); + break; + } +} + +void ButtonHandler_jog(const ButtonParam& param) { + Serial.print("ButtonHandler_jog("); + Serial.print(param.button); + Serial.println(")"); + switch (param.state) { + case ButtonState_Up: + Serial.print("Up"); + break; + case ButtonState_Down: + Serial.print("Down"); + break; + case ButtonState_Click: + Serial.print("Click"); + switch (param.button) { + case KEY_UP: + stepper.startRotate(-30); + break; + case KEY_DOWN: + stepper.startRotate(30); + break; + case KEY_SELECT: + state = STATE_MENU; + nav.doNav(leftCmd); nav.doOutput(); break; } break; - case STATE_JOG: - Serial.print("jogging - "); - switch (param.state) { - case ButtonState_Up: - Serial.print("Up"); - break; - case ButtonState_Down: - Serial.print("Down"); - break; - case ButtonState_Click: - Serial.print("Click"); - switch (param.button) { - case KEY_UP: - stepper.startRotate(-30); - break; - case KEY_DOWN: - stepper.startRotate(30); - break; - case KEY_SELECT: - state = STATE_MENU; - nav.doNav(leftCmd); - nav.doOutput(); - break; - } - break; - case ButtonState_DoubleClick: - Serial.print("Double Click"); - break; - case ButtonState_Hold: - Serial.print("Hold"); - break; - } + case ButtonState_DoubleClick: + Serial.print("Double Click"); + break; + case ButtonState_Hold: + Serial.print("Hold"); break; } - Serial.println(); +} + +void ButtonHandler_run(const ButtonParam& param) { + Serial.print("ButtonHandler_run("); + Serial.print(param.button); + Serial.println(")"); } void setup() { @@ -183,6 +183,16 @@ void setup() { } void loop() { - keypad.loop(ButtonHandler); + switch (state) { + case STATE_MENU: + keypad.loop(ButtonHandler_menu); + break; + case STATE_JOG: + keypad.loop(ButtonHandler_jog); + break; + case STATE_RUN: + keypad.loop(ButtonHandler_run); + break; + } stepper.nextAction(); }