#ifndef MCOPY_SERIAL #define MCOPY_SERIAL #include <Arduino.h> class McopySerial { private: const uint16_t serialDelay = 5; const uint16_t baud = 57600; volatile bool debugOn = false; volatile char cmdChar = 'z'; volatile char id; void _internal (); void _connect (); void _identify (); public: volatile bool connected = false; volatile bool identified = false; /* CMD FLAGS */ const char BLACK = 'b'; const char CAMERA = 'c'; const char CAMERA_BACKWARD = 'f'; const char CAMERA_CAPPER_IDENTIFIER = '8'; const char CAMERA_CAPPER_PROJECTOR_IDENTIFIER = '9'; const char CAMERA_CAPPER_PROJECTORS_IDENTIFIER = '0'; const char CAMERA_EXPOSURE = 'G'; const char CAMERA_FORWARD = 'e'; const char CAMERA_IDENTIFIER = 'k'; const char CAMERA_PROJECTORS_IDENTIFIER = '5'; const char CAMERA_SECOND = '3'; const char CAMERA_SECOND_BACKWARD = '2'; const char CAMERA_SECOND_FORWARD = '1'; const char CAMERA_SECOND_IDENTIFIER = 'y'; const char CAMERA_TIMED = 'n'; const char CAMERAS = '4'; const char CAMERAS_IDENTIFIER = 'a'; const char CAMERAS_PROJECTOR_IDENTIFIER = '6'; const char CAMERAS_PROJECTORS_IDENTIFIER = '7'; const char CAPPER_IDENTIFIER = 'C'; const char CAPPER_OFF = 'B'; const char CAPPER_ON = 'A'; const char CONNECT = 'i'; const char DEBUG = 'd'; const char ERROR = 'E'; const char LIGHT = 'l'; const char LIGHT_IDENTIFIER = 'o'; const char MCOPY_IDENTIFIER = 'm'; const char PROJECTOR = 'p'; const char PROJECTOR_BACKWARD = 'h'; const char PROJECTOR_CAMERA_IDENTIFIER = 's'; const char PROJECTOR_CAMERA_LIGHT_IDENTIFIER = 'r'; const char PROJECTOR_FORWARD = 'g'; const char PROJECTOR_IDENTIFIER = 'j'; const char PROJECTOR_LIGHT_IDENTIFIER = 'q'; const char PROJECTOR_SECOND = 'w'; const char PROJECTOR_SECOND_BACKWARD = 'v'; const char PROJECTOR_SECOND_FORWARD = 'u'; const char PROJECTOR_SECOND_IDENTIFIER = 't'; const char PROJECTORS = 'x'; const char PROJECTORS_IDENTIFIER = 'd'; const char STATE = 'H'; const char TAKEUP_BACKWARD = 'F'; const char TAKEUP_FORWARD = 'D'; /* END CMD FLAGS */ McopySerial(); void begin(char identity); char loop(); void confirm(char cmd); String getString(); void print(String message); void sendString(String str); void debug (bool state); void log (String message); }; #endif