refactor
This commit is contained in:
parent
27093e3e56
commit
99aafb06bf
39
PhotoStepper/Jogrunner.cpp
Normal file
39
PhotoStepper/Jogrunner.cpp
Normal file
@ -0,0 +1,39 @@
|
||||
#include "Arduino.h"
|
||||
#include <LiquidCrystal.h>
|
||||
#include <BasicStepperDriver.h>
|
||||
|
||||
#include "Jogrunner.h"
|
||||
|
||||
Jogrunner::Jogrunner(LiquidCrystal *lcd, BasicStepperDriver *stepper, int stepper_rpm) {
|
||||
_lcd = lcd;
|
||||
_stepper = stepper;
|
||||
_stepper_rpm = stepper_rpm;
|
||||
}
|
||||
|
||||
void Jogrunner::start() {
|
||||
_lcd->clear();
|
||||
_lcd->print("Jogging...");
|
||||
_lcd->setCursor(0, 1);
|
||||
_lcd->print("[sel] to return");
|
||||
}
|
||||
|
||||
void Jogrunner::setSpeed(bool speed) {
|
||||
if (speed == LOW) {
|
||||
_stepper->setRPM(_stepper_rpm);
|
||||
} else {
|
||||
_stepper->setRPM(2 * _stepper_rpm);
|
||||
}
|
||||
}
|
||||
|
||||
void Jogrunner::stop() {
|
||||
_stepper->stop();
|
||||
setSpeed(LOW);
|
||||
}
|
||||
|
||||
void Jogrunner::forward() {
|
||||
_stepper->startMove(100 * 360);
|
||||
}
|
||||
|
||||
void Jogrunner::backward() {
|
||||
_stepper->startMove(-100 * 360);
|
||||
}
|
25
PhotoStepper/Jogrunner.h
Normal file
25
PhotoStepper/Jogrunner.h
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef Jogrunner_h
|
||||
#define Jogrunner_h
|
||||
|
||||
#include "Arduino.h"
|
||||
#include <LiquidCrystal.h>
|
||||
#include <BasicStepperDriver.h>
|
||||
|
||||
class Jogrunner {
|
||||
|
||||
public:
|
||||
Jogrunner(LiquidCrystal *lcd, BasicStepperDriver *stepper, int stepper_rpm);
|
||||
void start();
|
||||
void setSpeed(bool speed);
|
||||
void stop();
|
||||
void forward();
|
||||
void backward();
|
||||
|
||||
private:
|
||||
LiquidCrystal *_lcd;
|
||||
BasicStepperDriver *_stepper;
|
||||
int _stepper_rpm;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
@ -17,6 +17,7 @@
|
||||
#include <menu.h>
|
||||
#include <menuIO/liquidCrystalOut.h>
|
||||
#include <menuIO/serialIO.h>
|
||||
#include "Jogrunner.h"
|
||||
#include "Scenerunner.h"
|
||||
|
||||
// analog keypad
|
||||
@ -62,6 +63,7 @@ BasicStepperDriver stepper(STEPPER_STEPS, PIN_STEPPER_DIR, PIN_STEPPER_STEP);
|
||||
enum State { STATE_MENU, STATE_JOG, STATE_RUN };
|
||||
State state = STATE_MENU;
|
||||
|
||||
Jogrunner jogrunner(&lcd, &stepper, STEPPER_RPM);
|
||||
Scenerunner scenerunner(&lcd, &stepper, PIN_CAMERA_FOCUS, PIN_CAMERA_SHUTTER, PIN_LCD_BL);
|
||||
|
||||
// ===
|
||||
@ -71,11 +73,8 @@ Scenerunner scenerunner(&lcd, &stepper, PIN_CAMERA_FOCUS, PIN_CAMERA_SHUTTER, PI
|
||||
|
||||
result enter_jog() {
|
||||
Serial.println("enter_jog()");
|
||||
lcd.clear();
|
||||
lcd.print("Jogging...");
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print("[sel] to exit");
|
||||
state = STATE_JOG;
|
||||
jogrunner.start();
|
||||
return proceed;
|
||||
}
|
||||
|
||||
@ -170,29 +169,28 @@ void ButtonHandler_jog(const ButtonParam& param) {
|
||||
break;
|
||||
case ButtonState_Up:
|
||||
Serial.println("Up");
|
||||
stepper.stop();
|
||||
stepper.setRPM(STEPPER_RPM);
|
||||
jogrunner.stop();
|
||||
break;
|
||||
case ButtonState_Down:
|
||||
Serial.println("Down");
|
||||
switch (param.button) {
|
||||
case KEY_UP:
|
||||
stepper.startMove(100 * 360);
|
||||
jogrunner.forward();
|
||||
break;
|
||||
case KEY_DOWN:
|
||||
stepper.startMove(-100 * 360);
|
||||
jogrunner.backward();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ButtonState_Hold:
|
||||
Serial.println("Hold");
|
||||
stepper.setRPM(2 * STEPPER_RPM);
|
||||
jogrunner.setSpeed(HIGH);
|
||||
switch (param.button) {
|
||||
case KEY_UP:
|
||||
stepper.startMove(100 * 360);
|
||||
jogrunner.forward();
|
||||
break;
|
||||
case KEY_DOWN:
|
||||
stepper.startMove(-100 * 360);
|
||||
jogrunner.backward();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user