diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 58 |
1 files changed, 0 insertions, 58 deletions
@@ -1,58 +0,0 @@ -#include <stddef.h> -#include <stdio.h> -#include <avr/pgmspace.h> -#include <avr/interrupt.h> -#include "bug/panic.h" -#include "bug/debug.h" -#include "task/task.h" -#include "task/sched.h" -#include "task/idle.h" -#include "task/lock.h" -#include "task/idle.h" -#include "time/clock.h" -#include "io/io.h" -#include "mcu/io/usart.h" -#include "tshield/tshield.h" -#define IN_LENGTH 64 - -#define WAIT_CYCLES(cycles) for (volatile unsigned long i = 0; i < cycles; ++i) {} - -void worker() { - char buffer[64]; - - while(1) { - int length = read(&usart0, buffer, 64); - - int led; - int value; - if (sscanf(buffer, "leds/%d:%d", &led, &value) == 2) { - debug_led(led, value); - } else { - debug_led(0,1); - WAIT_CYCLES(300000); - debug_led(0,0); - } - } -} - - -DECLARE_TASK(task_idle, IDLE_STACK_SIZE, idle_entry, 0); -DECLARE_TASK(task1, DEFAULT_STACK_SIZE, worker, 1); - -int main(int argc, char *argv[]) { - cli(); - tshield_init(); - - open(&usart0); - ioctl(&usart0, IOCTL_SET_BAUD, 115200); - - spawn_idle(&task_idle); - spawn(&task1); - - sei(); - clock_init(10, schedule); - clock_start(); - sched_init(); - panic(); //should never reach here - while(1){} -} |