diff options
author | Jakob Odersky <jodersky@gmail.com> | 2014-04-09 23:08:06 +0200 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2014-04-09 23:08:06 +0200 |
commit | d25f934944a6c3f4141158119474ad3d15ca9b7c (patch) | |
tree | 9d7102a9d5e73bd034797c6862b1ecc191f5d656 | |
parent | 90b9086a79ce1b24a4efa7390b6920c1d2ea7393 (diff) | |
download | mux-d25f934944a6c3f4141158119474ad3d15ca9b7c.tar.gz mux-d25f934944a6c3f4141158119474ad3d15ca9b7c.tar.bz2 mux-d25f934944a6c3f4141158119474ad3d15ca9b7c.zip |
add templates
-rw-r--r-- | apps/shell/app.c | 34 | ||||
-rw-r--r-- | apps/template/app.c | 15 | ||||
-rw-r--r-- | apps/template/app.mk | 1 | ||||
-rw-r--r-- | kernel/init.c | 2 |
4 files changed, 49 insertions, 3 deletions
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 <stdio.h> -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); |