aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format2
-rw-r--r--robot/main.c34
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;