stepper demo contd
parent
53d28add10
commit
0edfbe6a50
|
@ -27,6 +27,9 @@ void setup() {
|
|||
splashScreen();
|
||||
}
|
||||
|
||||
bool stepperDemo = false;
|
||||
bool stepperDemoSlowing = false;
|
||||
unsigned long lastStepperDemoMillis = 0;
|
||||
|
||||
void loop() {
|
||||
debugScanI2C();
|
||||
|
@ -42,6 +45,37 @@ void loop() {
|
|||
setStepperDirection(RIGHT);
|
||||
} else if (debugKey == '-') {
|
||||
setTimerEnabled(!isTimerEnabled());
|
||||
} else if (debugKey == 'k') {
|
||||
setStepperEnabled(true);
|
||||
setStepperDirection(RIGHT);
|
||||
setTimerEnabled(true);
|
||||
setTimerCadence(50);
|
||||
stepperDemo = true;
|
||||
stepperDemoSlowing = false;
|
||||
lastStepperDemoMillis = millis();
|
||||
}
|
||||
|
||||
if (stepperDemo) {
|
||||
auto now = millis();
|
||||
if (now - lastStepperDemoMillis >= 5) {
|
||||
lastStepperDemoMillis = now;
|
||||
auto cadence = getTimerCadence();
|
||||
|
||||
if (stepperDemoSlowing) {
|
||||
if (cadence == 50) {
|
||||
setStepperDirection(!getStepperDirection());
|
||||
stepperDemoSlowing = false;
|
||||
} else {
|
||||
setTimerCadence(cadence + 1);
|
||||
}
|
||||
} else {
|
||||
if (cadence == 8) {
|
||||
stepperDemoSlowing = true;
|
||||
} else {
|
||||
setTimerCadence(cadence - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
auto key = handleKeyboard();
|
||||
|
|
|
@ -75,6 +75,10 @@ void setStepperEnabled(bool enabled) {
|
|||
digitalWrite(STEPPER_ENABLE, !enabled);
|
||||
}
|
||||
|
||||
bool getStepperDirection() {
|
||||
return !digitalRead(STEPPER_DIR);
|
||||
}
|
||||
|
||||
void setStepperDirection(bool dir) {
|
||||
digitalWrite(STEPPER_DIR, !dir);
|
||||
}
|
||||
|
|
|
@ -11,5 +11,6 @@ uint16_t getTimerCadence();
|
|||
void setTimerCadence(uint16_t cadence);
|
||||
|
||||
void setStepperEnabled(bool enabled);
|
||||
bool getStepperDirection();
|
||||
void setStepperDirection(bool dir);
|
||||
inline void step();
|
||||
|
|
Loading…
Reference in New Issue