got rid of example menu
This commit is contained in:
parent
56b1ca8627
commit
6546f11437
@ -10,8 +10,6 @@
|
|||||||
// - https://www.arduino.cc/reference/en/libraries/arduinomenu-library/
|
// - https://www.arduino.cc/reference/en/libraries/arduinomenu-library/
|
||||||
// - https://www.arduino.cc/reference/en/libraries/stepperdriver/
|
// - https://www.arduino.cc/reference/en/libraries/stepperdriver/
|
||||||
// - https://www.arduino.cc/reference/en/libraries/analogkeypad/
|
// - https://www.arduino.cc/reference/en/libraries/analogkeypad/
|
||||||
//
|
|
||||||
// this is still WIP, the menu is basically taken from example code.
|
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <AnalogKeypad.h>
|
#include <AnalogKeypad.h>
|
||||||
@ -19,10 +17,6 @@
|
|||||||
#include <menu.h>
|
#include <menu.h>
|
||||||
#include <menuIO/liquidCrystalOut.h>
|
#include <menuIO/liquidCrystalOut.h>
|
||||||
#include <menuIO/serialIO.h>
|
#include <menuIO/serialIO.h>
|
||||||
#include <menuIO/stringIn.h>
|
|
||||||
#include <menuIO/chainStream.h>
|
|
||||||
|
|
||||||
//using namespace Menu;
|
|
||||||
|
|
||||||
// analog keypad
|
// analog keypad
|
||||||
#define PIN_BUTTON 0
|
#define PIN_BUTTON 0
|
||||||
@ -63,116 +57,20 @@ State state = MENU;
|
|||||||
|
|
||||||
// ===
|
// ===
|
||||||
|
|
||||||
result doAlert(eventMask e, prompt &item);
|
MENU(mainMenu, "Main menu", doNothing, noEvent, wrapStyle
|
||||||
|
,OP("Sub1", doNothing, noEvent)
|
||||||
result showEvent(eventMask e) {
|
,OP("Sub2", doNothing, noEvent)
|
||||||
Serial.print("event: ");
|
,OP("Sub3", doNothing, noEvent)
|
||||||
Serial.println(e);
|
|
||||||
return proceed;
|
|
||||||
}
|
|
||||||
|
|
||||||
int test=55;
|
|
||||||
|
|
||||||
result action1(eventMask e,navNode& nav, prompt &item) {
|
|
||||||
Serial.print("action1 event:");
|
|
||||||
Serial.println(e);
|
|
||||||
Serial.flush();
|
|
||||||
return proceed;
|
|
||||||
}
|
|
||||||
|
|
||||||
result action2(eventMask e) {
|
|
||||||
Serial.print("actikon2 event:");
|
|
||||||
Serial.println(e);
|
|
||||||
Serial.flush();
|
|
||||||
return quit;
|
|
||||||
}
|
|
||||||
|
|
||||||
int ledCtrl=LOW;
|
|
||||||
|
|
||||||
result myLedOn() {
|
|
||||||
ledCtrl=HIGH;
|
|
||||||
return proceed;
|
|
||||||
}
|
|
||||||
result myLedOff() {
|
|
||||||
ledCtrl=LOW;
|
|
||||||
return proceed;
|
|
||||||
}
|
|
||||||
|
|
||||||
TOGGLE(ledCtrl,setLed,"Led: ",doNothing,noEvent,wrapStyle//,doExit,enterEvent,noStyle
|
|
||||||
,VALUE("On",HIGH,doNothing,noEvent)
|
|
||||||
,VALUE("Off",LOW,doNothing,noEvent)
|
|
||||||
);
|
|
||||||
|
|
||||||
int selTest=0;
|
|
||||||
SELECT(selTest,selMenu,"Select",doNothing,noEvent,wrapStyle
|
|
||||||
,VALUE("Zero",0,doNothing,noEvent)
|
|
||||||
,VALUE("One",1,doNothing,noEvent)
|
|
||||||
,VALUE("Two",2,doNothing,noEvent)
|
|
||||||
);
|
|
||||||
|
|
||||||
int chooseTest=-1;
|
|
||||||
CHOOSE(chooseTest,chooseMenu,"Choose",doNothing,noEvent,wrapStyle
|
|
||||||
,VALUE("First",1,doNothing,noEvent)
|
|
||||||
,VALUE("Second",2,doNothing,noEvent)
|
|
||||||
,VALUE("Third",3,doNothing,noEvent)
|
|
||||||
,VALUE("Last",-1,doNothing,noEvent)
|
|
||||||
);
|
|
||||||
|
|
||||||
MENU(subMenu,"Sub-Menu",doNothing,anyEvent,wrapStyle
|
|
||||||
,OP("Sub1",showEvent,enterEvent)
|
|
||||||
,OP("Sub2",showEvent,enterEvent)
|
|
||||||
,OP("Sub3",showEvent,enterEvent)
|
|
||||||
,EXIT("<Back")
|
|
||||||
);
|
|
||||||
|
|
||||||
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
|
MENU_OUTPUTS(out, MAX_DEPTH
|
||||||
,LIQUIDCRYSTAL_OUT(lcd,{0,0,16,2})
|
,LIQUIDCRYSTAL_OUT(lcd, {0, 0, 16, 20})
|
||||||
,NONE//must have 2 items at least
|
,NONE
|
||||||
);
|
);
|
||||||
|
|
||||||
stringIn<0> strIn;
|
serialIn in(Serial);
|
||||||
serialIn serial(Serial);
|
NAVROOT(nav, mainMenu, MAX_DEPTH, in, out);
|
||||||
NAVROOT(nav,mainMenu,MAX_DEPTH,serial,out);
|
|
||||||
|
|
||||||
result alert(menuOut& o,idleEvent e) {
|
|
||||||
if (e==idling) {
|
|
||||||
o.setCursor(0,0);
|
|
||||||
o.print("alert test");
|
|
||||||
o.setCursor(0,1);
|
|
||||||
o.print("[select] to continue...");
|
|
||||||
Serial.println("rotating...");
|
|
||||||
state = JOG;
|
|
||||||
}
|
|
||||||
return proceed;
|
|
||||||
}
|
|
||||||
|
|
||||||
result doAlert(eventMask e, prompt &item) {
|
|
||||||
nav.idleOn(alert);
|
|
||||||
return proceed;
|
|
||||||
}
|
|
||||||
|
|
||||||
result idle(menuOut& o,idleEvent e) {
|
|
||||||
switch(e) {
|
|
||||||
case idleStart:o.print("suspending menu!");break;
|
|
||||||
case idling:o.print("suspended...");break;
|
|
||||||
case idleEnd:o.print("resuming menu.");break;
|
|
||||||
}
|
|
||||||
return proceed;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ===
|
// ===
|
||||||
|
|
||||||
@ -244,14 +142,10 @@ void setup() {
|
|||||||
while(!Serial);
|
while(!Serial);
|
||||||
Serial.println("PhotoStepper -- schatenseite.de");
|
Serial.println("PhotoStepper -- schatenseite.de");
|
||||||
|
|
||||||
pinMode(PIN_LED, OUTPUT);
|
|
||||||
|
|
||||||
// control backlight
|
// control backlight
|
||||||
pinMode(PIN_LCD_BL, OUTPUT);
|
pinMode(PIN_LCD_BL, OUTPUT);
|
||||||
digitalWrite(PIN_LCD_BL, HIGH);
|
digitalWrite(PIN_LCD_BL, HIGH);
|
||||||
|
|
||||||
nav.idleTask=idle;//point a function to be used when menu is suspended
|
|
||||||
|
|
||||||
stepper.begin(STEPPER_RPM, STEPPER_MICROSTEPS);
|
stepper.begin(STEPPER_RPM, STEPPER_MICROSTEPS);
|
||||||
stepper.setSpeedProfile(stepper.LINEAR_SPEED, STEPPER_ACCEL, STEPPER_DECEL);
|
stepper.setSpeedProfile(stepper.LINEAR_SPEED, STEPPER_ACCEL, STEPPER_DECEL);
|
||||||
|
|
||||||
@ -260,11 +154,11 @@ void setup() {
|
|||||||
lcd.print("PhotoStepper");
|
lcd.print("PhotoStepper");
|
||||||
lcd.setCursor(0, 1);
|
lcd.setCursor(0, 1);
|
||||||
lcd.print("schatenseite.de");
|
lcd.print("schatenseite.de");
|
||||||
delay(500);
|
delay(2000);
|
||||||
|
nav.doOutput();
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
keypad.loop(ButtonHandler);
|
keypad.loop(ButtonHandler);
|
||||||
stepper.nextAction();
|
stepper.nextAction();
|
||||||
digitalWrite(PIN_LED, ledCtrl);
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user