implement and react to jog mode
This commit is contained in:
parent
19d263deb7
commit
56b1ca8627
@ -58,6 +58,9 @@ LiquidCrystal lcd(PIN_LCD_RS, PIN_LCD_EN, PIN_LCD_DB4, PIN_LCD_DB5, PIN_LCD_DB6,
|
||||
|
||||
BasicStepperDriver stepper(STEPPER_STEPS, PIN_STEPPER_DIR, PIN_STEPPER_STEP);
|
||||
|
||||
enum State { MENU, JOG, RUN };
|
||||
State state = MENU;
|
||||
|
||||
// ===
|
||||
|
||||
result doAlert(eventMask e, prompt &item);
|
||||
@ -122,18 +125,18 @@ MENU(subMenu,"Sub-Menu",doNothing,anyEvent,wrapStyle
|
||||
,EXIT("<Back")
|
||||
);
|
||||
|
||||
MENU(mainMenu,"Main menu",doNothing,noEvent,wrapStyle
|
||||
,OP("Op1",action1,anyEvent)
|
||||
,OP("Op2",action2,enterEvent)
|
||||
,FIELD(test,"Test","%",0,100,10,1,doNothing,noEvent,wrapStyle)
|
||||
,SUBMENU(subMenu)
|
||||
,SUBMENU(setLed)
|
||||
,OP("LED On",myLedOn,enterEvent)
|
||||
,OP("LED Off",myLedOff,enterEvent)
|
||||
,SUBMENU(selMenu)
|
||||
,SUBMENU(chooseMenu)
|
||||
MENU(mainMenu, "PhotoStepper", doNothing, noEvent, wrapStyle
|
||||
//,SUBMENU(subMenu)
|
||||
,OP("Op1", action1, anyEvent)
|
||||
//,OP("Op2",action2,enterEvent)
|
||||
//,FIELD(test,"Test","%",0,100,10,1,doNothing,noEvent,wrapStyle)
|
||||
//,SUBMENU(setLed)
|
||||
//,OP("LED On",myLedOn,enterEvent)
|
||||
//,OP("LED Off",myLedOff,enterEvent)
|
||||
//,SUBMENU(selMenu)
|
||||
//,SUBMENU(chooseMenu)
|
||||
,OP("Alert test",doAlert,enterEvent)
|
||||
,EXIT("<Back")
|
||||
//,EXIT("<Back")
|
||||
);
|
||||
|
||||
MENU_OUTPUTS(out,MAX_DEPTH
|
||||
@ -152,7 +155,7 @@ result alert(menuOut& o,idleEvent e) {
|
||||
o.setCursor(0,1);
|
||||
o.print("[select] to continue...");
|
||||
Serial.println("rotating...");
|
||||
stepper.startRotate(360);
|
||||
state = JOG;
|
||||
}
|
||||
return proceed;
|
||||
}
|
||||
@ -173,41 +176,64 @@ result idle(menuOut& o,idleEvent e) {
|
||||
|
||||
// ===
|
||||
|
||||
void ButtonHandler(const ButtonParam& param)
|
||||
{
|
||||
void ButtonHandler(const ButtonParam& param) {
|
||||
Serial.print(param.button);
|
||||
Serial.print(" ");
|
||||
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 0: // right
|
||||
break;
|
||||
case 1: // up
|
||||
nav.doNav(upCmd);
|
||||
break;
|
||||
case 2: // down
|
||||
nav.doNav(downCmd);
|
||||
break;
|
||||
case 3: // left
|
||||
break;
|
||||
case 4: // select
|
||||
nav.doNav(enterCmd);
|
||||
switch (state) {
|
||||
case MENU:
|
||||
switch (param.state) {
|
||||
case ButtonState_Click:
|
||||
Serial.print("Click");
|
||||
switch (param.button) {
|
||||
case 0: // right
|
||||
break;
|
||||
case 1: // up
|
||||
nav.doNav(upCmd);
|
||||
break;
|
||||
case 2: // down
|
||||
nav.doNav(downCmd);
|
||||
break;
|
||||
case 3: // left
|
||||
break;
|
||||
case 4: // select
|
||||
nav.doNav(enterCmd);
|
||||
break;
|
||||
}
|
||||
nav.doOutput();
|
||||
break;
|
||||
}
|
||||
nav.doOutput();
|
||||
break;
|
||||
case ButtonState_DoubleClick:
|
||||
Serial.print("Double Click");
|
||||
break;
|
||||
case ButtonState_Hold:
|
||||
Serial.print("Hold");
|
||||
case JOG:
|
||||
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 1: // up
|
||||
stepper.startRotate(-30);
|
||||
break;
|
||||
case 2: // down
|
||||
stepper.startRotate(30);
|
||||
break;
|
||||
case 4: // select
|
||||
state = MENU;
|
||||
nav.doNav(leftCmd);
|
||||
nav.doOutput();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ButtonState_DoubleClick:
|
||||
Serial.print("Double Click");
|
||||
break;
|
||||
case ButtonState_Hold:
|
||||
Serial.print("Hold");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
Serial.println();
|
||||
|
Loading…
Reference in New Issue
Block a user