diff options
author | Jakob Odersky <jodersky@gmail.com> | 2014-01-26 16:41:50 +0100 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2014-01-26 16:41:50 +0100 |
commit | c4da3559760351467f421a234d4240ef6670f396 (patch) | |
tree | d19f2fbb3891744f9741d044a65cf220221bc4a8 /main.c | |
parent | 7dd00b2267d991a102f18eacf3e2afacb570a299 (diff) | |
download | mux-c4da3559760351467f421a234d4240ef6670f396.tar.gz mux-c4da3559760351467f421a234d4240ef6670f396.tar.bz2 mux-c4da3559760351467f421a234d4240ef6670f396.zip |
implement stdio and add mini shell
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -1,4 +1,6 @@ #include <stddef.h> +#include <stdio.h> +#include <avr/pgmspace.h> #include <sched/sched.h> #include <time/timer.h> #include <bug/panic.h> @@ -6,6 +8,7 @@ #include <tshield/tshield.h> #include <collection/list.h> #include <serial/serial.h> +#include "shell.h" #define WAIT_CYCLES(cycles) for (volatile unsigned long i = 0; i < cycles; ++i) {} @@ -35,20 +38,20 @@ void wake() { void blink( char id) { while(1) { debug_led(id,1); - sleep(500); + sleep(id * 300); debug_led(id,0); - sleep(500); + sleep(id * 300); } } -#define READ_BUFFER_SIZE 24 + + +#define READ_BUFFER_SIZE 64 void read(char id) { serial_init(115200); - char data[READ_BUFFER_SIZE]; - while(1) { - size_t length = serial_read(data, READ_BUFFER_SIZE); - serial_write(data, length); - } + stdout = &serial_out; + stdin = &serial_in; + shell(); } DECLARE_TASK(task1, STACK_SIZE, blink); |