diff --git a/microcontroller/works_static.ino.bak b/microcontroller/works_static.ino.bak deleted file mode 100644 index ef1daea..0000000 --- a/microcontroller/works_static.ino.bak +++ /dev/null @@ -1,87 +0,0 @@ -unsigned long tic_loop = 0; -const unsigned int FRAME_TIME = 25; // 20 ms -> 50 FPS - -byte channels_buffer[512] = {0}; -unsigned int bytes_to_write = 512; - -const unsigned int START_ADDR = 10; -const unsigned int NUM_CHANNELS = 9; - -byte dmx_data[] = { - 0, - 0, - 134, - 255, - 0, - 0, - 0, - 0, - 0, -}; - -void setup() -{ - Serial.begin(115200); // USB - - Serial1.begin(250000, SERIAL_8N2); // DMX - tic_loop = millis(); - - for (int i = 0; i < NUM_CHANNELS; ++i) - { - channels_buffer[START_ADDR - 1 + i] = dmx_data[i]; - } -} - -void loop() -{ - // update_buffer(); - - // this section gets executed at a maximum rate of around 40Hz - if ((millis() - tic_loop) > FRAME_TIME) - { - tic_loop = millis(); - - send_dmx_header(); - Serial1.write(channels_buffer, bytes_to_write); - } - delay(1); -} - -void update_buffer() -{ - int n = Serial.available(); - - if (n < 1) - return; - - n -= 1; - - if (Serial.read() == n) - { - Serial.read(channels_buffer, n); - bytes_to_write = n; - } - else - { - // incomplete - while (Serial.available()) - Serial.read(); - } -} - -void send_dmx_header() -{ - Serial1.flush(); - Serial1.begin(90000, SERIAL_8N2); - while (Serial1.available()) - Serial1.read(); - // send the break as a "slow" byte - Serial1.write(0); - // switch back to the original baud rate - Serial1.flush(); - Serial1.begin(250000, SERIAL_8N2); - while (Serial1.available()) - Serial1.read(); - - Serial1.write(0); // Start-Byte -} \ No newline at end of file