#ifndef __FLIPFLAT_H__ #define __FLIPFLAT_H__ #include #include #include #include #define DEBUG 0 #ifdef ESP32 #define BRIGHT_PLUS GPIO_NUM_34 #define BRIGHT_MIN GPIO_NUM_35 #define PWM GPIO_NUM_25 #define OPEN_FF GPIO_NUM_36 #define CLOSE_FF GPIO_NUM_39 #define STEP_PIN GPIO_NUM_32 #define DIR_PIN GPIO_NUM_33 #define FF_SERIAL Serial2 #define LOG_SERIAL Serial #endif //#ifdef ARDUINO_AVR_LEONARDO #define BRIGHT_PLUS 15 #define BRIGHT_MIN 14 #define PWM 9 #define COVER_FF 16 #define STEP_PIN 7 #define DIR_PIN 8 #define FF_SERIAL Serial #define LOG_SERIAL Serial1 //#endif #define STEPS 200 // steps per revolution for the motor enum devices { FLAT_MAN_L = 10, FLAT_MAN_XL = 15, FLAT_MAN = 19, FLIP_FLAT = 99 }; enum motorStatuses { STOPPED = 0, RUNNING }; enum lightStatuses { OFF = 0, ON }; enum shutterStatuses { NEITHER_OPEN_NOR_CLOSED = 0, // ie not open or closed...could be moving CLOSED, OPEN, TIMED_OUT }; enum motorDirections { OPENING = 0, CLOSING, NONE }; void setupSerial(); void handleSerial(); void handleCoverSwitch(); void increaseBrightness(); void decreaseBrightness(); void setBrightness(int newBrightness); void openFlipFlat(); void closeFlipFlat(); void rotateMotor(float newAngle); void processCommand(const char* cmd, const char *data); void parseCommand(); #if DEBUG #ifndef LOG #define LOG(A) LOG_SERIAL << F(A) << endl #define LOG1(A, B) LOG_SERIAL << F(A) << B << endl; #endif #else #define LOG(A) #define LOG1(A, B) #endif //DEBUG #endif //__FLIPFLAT_H__