add serial port support
This commit is contained in:
parent
e545e50462
commit
ea2d28f9c7
1 changed files with 23 additions and 6 deletions
29
src/main.cpp
29
src/main.cpp
|
@ -20,6 +20,10 @@ void shiftout(uint8_t bit)
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t buffer[120];
|
uint8_t buffer[120];
|
||||||
|
String message = "N\x0f""chster Halt: Kronenplatz";
|
||||||
|
String newMessage;
|
||||||
|
int ticks = 0;
|
||||||
|
int runde = 120;
|
||||||
|
|
||||||
void write_letter_at(int startcol, uint8_t letter) {
|
void write_letter_at(int startcol, uint8_t letter) {
|
||||||
for (int8_t x = 0; x < 5; x++) {
|
for (int8_t x = 0; x < 5; x++) {
|
||||||
|
@ -39,9 +43,24 @@ void setup()
|
||||||
write_letter_at(0, 'H');
|
write_letter_at(0, 'H');
|
||||||
write_letter_at(6, 'i');
|
write_letter_at(6, 'i');
|
||||||
write_letter_at(12, '!');
|
write_letter_at(12, '!');
|
||||||
|
|
||||||
|
Serial.begin(9600);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *message = "N\x0f""chster Halt: Kronenplatz";
|
void receive_serial() {
|
||||||
|
if (Serial.available() > 0) {
|
||||||
|
char receivedChar = Serial.read();
|
||||||
|
if (receivedChar == '\n') {
|
||||||
|
message = newMessage;
|
||||||
|
newMessage = "";
|
||||||
|
ticks = 0;
|
||||||
|
runde = 120;
|
||||||
|
}
|
||||||
|
else if (receivedChar != '\r') {
|
||||||
|
newMessage += receivedChar;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void letters(int round) {
|
void letters(int round) {
|
||||||
for (int i = 0; i < width; i++) {
|
for (int i = 0; i < width; i++) {
|
||||||
|
@ -49,15 +68,12 @@ void letters(int round) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
for (unsigned c = 0; c < strlen(message); c++) {
|
for (unsigned c = 0; c < message.length(); c++) {
|
||||||
write_letter_at(round + pos, message[c]);
|
write_letter_at(round + pos, message[c]);
|
||||||
pos += 6;
|
pos += 6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int ticks = 0;
|
|
||||||
int runde = 120;
|
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
for (uint8_t y = 0; y < lines; y++) {
|
for (uint8_t y = 0; y < lines; y++) {
|
||||||
|
@ -80,8 +96,9 @@ void loop()
|
||||||
|
|
||||||
letters(runde);
|
letters(runde);
|
||||||
|
|
||||||
if (runde == -(6 * (int)strlen(message))) {
|
if (runde == -(6 * (int)message.length())) {
|
||||||
runde = 120;
|
runde = 120;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
receive_serial();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue