update device name instead of record
[mTask.git] / client / task.c
index 1dd8ffb..1c16ce5 100644 (file)
@@ -1,12 +1,8 @@
 #include <stdlib.h>
 #include <string.h>
 
-#ifndef STM
-#include <unistd.h>
-#include <stdio.h>
-#endif
-
 #include "task.h"
+#include "spec.h"
 #include "interface.h"
 
 struct task tasks[MAXTASKS];
@@ -30,6 +26,13 @@ void task_register(void)
        memset(&tasks[ct], 0, sizeof(struct task));
        //Read interval
        tasks[ct].interval = read16();
+       debug("interval: %d\n", tasks[ct].interval);
+
+       //Interrupt task
+       if(is_interrupt_task(&tasks[ct])) {
+
+       }
+
        //Read tasklength
        tasks[ct].tlen = read16();
        debug("task interval: %d, length: %d\n",
@@ -40,8 +43,6 @@ void task_register(void)
        //Read task bytecode
        for(i = 0; i<tasks[ct].tlen; i++){
                tasks[ct].bc[i] = read_byte();
-//             debug("t[][%i]: 0x%02x %d", i,
-//                     tasks[ct].bc[i], tasks[ct].bc[i]);
        }
        //Return the task number for later removal
        debug("Received a task of length %d", tasks[ct].tlen);
@@ -53,6 +54,18 @@ void task_register(void)
        write_byte('\n');
 }
 
+bool is_interrupt_task(struct task *t)
+{
+       return t->interval & (2 <<14);
+}
+
+bool had_interrupt(struct task* t)
+{
+       //Not implemented yet...
+       return false;
+       (void)t;
+}
+
 void task_delete(void)
 {
        uint8_t c = read16();