diff options
-rw-r--r-- | .clang-format | 2 | ||||
-rw-r--r-- | robot/main.c | 34 |
2 files changed, 25 insertions, 11 deletions
diff --git a/.clang-format b/.clang-format index 03e38c9..c7d6b0a 100644 --- a/.clang-format +++ b/.clang-format @@ -8,7 +8,7 @@ Language: Cpp Standard: Cpp11 TabWidth: '4' UseTab: Always - +IndentCaseLabels: true ... # vim: ft=yaml diff --git a/robot/main.c b/robot/main.c index dfc8d68..21d0e5c 100644 --- a/robot/main.c +++ b/robot/main.c @@ -1,19 +1,33 @@ #include <pololu/orangutan.h> +#include <stdlib.h> int main() { - print("Hello!"); - play("L16 ceg>c"); + play("L50 c>c"); + serial_set_baud_rate(9600); - while (1) { - red_led(0); - green_led(1); - - delay_ms(100); + char *buf = malloc(20); + unsigned int counter = 0; - red_led(1); - green_led(0); + while (1) { + serial_receive_blocking(buf, 1, 65e3); - delay_ms(100); + switch (buf[0]) { + case 0x7f: { + counter--; + lcd_goto_xy(counter, 0); + print(" "); + lcd_goto_xy(counter, 0); + break; + } + default: { + print(&buf[0]); + counter++; + if (counter > 20) { + counter = 0; + lcd_goto_xy(0, 0); + } + } + } } return 0; |