From d25f934944a6c3f4141158119474ad3d15ca9b7c Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 9 Apr 2014 23:08:06 +0200 Subject: add templates --- apps/shell/app.c | 34 ++++++++++++++++++++++++++++++++-- apps/template/app.c | 15 +++++++++++++++ apps/template/app.mk | 1 + kernel/init.c | 2 +- 4 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 apps/template/app.c create mode 100644 apps/template/app.mk diff --git a/apps/shell/app.c b/apps/shell/app.c index eb85e4e..77272b1 100644 --- a/apps/shell/app.c +++ b/apps/shell/app.c @@ -1,15 +1,45 @@ #include "init.h" +#include "tshield/tshield.h" #include "mux/sched.h" +#include "mux/io.h" +#include "mcu/usart.h" #include "mcu/context.h" +#include -void setup() { +#define BUFFER_SIZE 64 +#define WAIT_CYCLES(cycles) for (unsigned volatile long i = 0; i < cycles; ++i){} +void setup() { + tshield_init(); } void task1(char args) { + open(&usart0); + ioctl(&usart0, IOCTL_SET_BAUD, 115200); + + char in[BUFFER_SIZE]; + while(1) { + int length = read(&usart0, in, BUFFER_SIZE); + + int led; + int value; + if (sscanf(in, "leds/%d:%d", &led, &value) == 2) { + debug_led(led, value); + } else if (sscanf(in, "servo/0:%d", &value) == 1) { + tshield_servo((char) value); + } else { + char* msg = "unknown command"; + write(&usart0, msg, 15); + debug_led(0,1); + WAIT_CYCLES(300000); + debug_led(0,0); + } + } } void task2(char args) { + while(1){ -} \ No newline at end of file + } +} diff --git a/apps/template/app.c b/apps/template/app.c new file mode 100644 index 0000000..eb85e4e --- /dev/null +++ b/apps/template/app.c @@ -0,0 +1,15 @@ +#include "init.h" +#include "mux/sched.h" +#include "mcu/context.h" + +void setup() { + +} + +void task1(char args) { + +} + +void task2(char args) { + +} \ No newline at end of file diff --git a/apps/template/app.mk b/apps/template/app.mk new file mode 100644 index 0000000..b1bfae3 --- /dev/null +++ b/apps/template/app.mk @@ -0,0 +1 @@ +MODULES=tshield \ No newline at end of file diff --git a/kernel/init.c b/kernel/init.c index 5a9a2e9..6ec8523 100644 --- a/kernel/init.c +++ b/kernel/init.c @@ -18,7 +18,7 @@ int main(int argc, char *argv[]) { spawn_idle(&task_idle, 0); spawn(&tcb1, 1); - spawn(&tcb2, 2); + //spawn(&tcb2, 2); sei(); clock_init(1000/HZ, schedule); -- cgit v1.2.3