RGBMatrixDisplay/src/serial.cpp
2023-01-09 11:50:51 +01:00

53 lines
1.0 KiB
C++

#include <Arduino.h>
#include "serial.h"
#include "display.h"
#include "config.h"
#include "mode.h"
void serial_setup() {
Serial.begin(115200);
Serial.println("\n\n\nStartup!");
}
void serial_loop() {
if (Serial.available()) {
int input = Serial.read();
switch (input) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
setMode((ModeId) (input - '0'));
break;
case 'a':
case 'b':
setMode((ModeId) (input - 'a' + 10));
break;
case 'r':
setSpeed(1.0);
break;
case '+':
setBrightness(display.getBrightness() + 10);
break;
case '-':
setBrightness(display.getBrightness() - 10);
break;
case ',':
setSpeed(config.speed / 1.1);
break;
case '.':
setSpeed(config.speed * 1.1);
break;
default:
Serial.printf("Unknown command: %c\n", input);
break;
}
}
}