diff options
Diffstat (limited to 'robot')
| -rw-r--r-- | robot/main.c | 34 | 
1 files changed, 24 insertions, 10 deletions
| 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; |