From 62afca2134884727d7220c10cc9f7e49d8a63d6b Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 12 Apr 2016 00:07:36 -0400 Subject: [PATCH] Create mcopy projector firmware, first --- ino/mcopy_projector/mcopy_projector.ino | 71 +++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 ino/mcopy_projector/mcopy_projector.ino diff --git a/ino/mcopy_projector/mcopy_projector.ino b/ino/mcopy_projector/mcopy_projector.ino new file mode 100644 index 0000000..8247c54 --- /dev/null +++ b/ino/mcopy_projector/mcopy_projector.ino @@ -0,0 +1,71 @@ +boolean debug_state = false; + +//const int proj_pin = 5; //relay 4 +//const int proj_time = {{proj.time}}; +//const int proj_delay = {{proj.delay}}; + +boolean proj_dir = true; + +const char cmd_debug = 'd'; +const char cmd_connect = 'i'; +const char cmd_projector = 'p'; +const char cmd_proj_forward = 'g'; +const char cmd_proj_backward = 'h'; + +volatile char cmd_char = 'z'; +const int serialDelay = 5; + +void setup() { + Serial.begin(57600); + Serial.flush(); + Serial.setTimeout(serialDelay); +} + +void loop() { + if (Serial.available()) { + /* read the most recent byte */ + cmd_char = (char)Serial.read(); + } + if (cmd_char != 'z') { + cmd(cmd_char); + cmd_char = 'z'; + } +} + +void cmd (char val) { + if (val == cmd_debug) { + debug(); + } else if (val == cmd_connect) { + connect(); + } else if (val == cmd_projector) { + projector(); + } else if (val == cmd_proj_forward) { + proj_direction(true); + } else if (val == cmd_proj_backward) { + proj_direction(false); + } +} + +void debug () { + debug_state = true; + log("debugging enabled"); +} + +void connect () { + log("connect()"); +} + +void projector () { + log("projector()"); +} + +void proj_direction (boolean state) { + proj_dir = state; + log("proj_direction -> " + state); +} + +void log (String msg) { + if (debug_state) { + Serial.println(msg); + } +}