add installation script
[mTask.git] / int / main.c
index dddd328..3388f21 100644 (file)
@@ -3,7 +3,8 @@
 #include <stdlib.h>
 #include <string.h>
 
-#ifndef STM
+#ifdef STM
+#else
 #include <stdio.h>
 #endif
 
@@ -23,14 +24,15 @@ void read_message(void)
        //Find next task
        if(input_available()){
                uint8_t c = read_byte();
-               debug("Receiving input: %c\n", c);
+               uint8_t ct;
+               debug("Receiving input: %c %02x\n", c, c);
                switch(c){
                case MSG_SDS_SPEC:
                        debug("Receiving an sds");
                        sds_register();
                        break;
                case MSG_SDS_UPD:
-                       debug("Receiving an sds");
+                       debug("Receiving an sds update");
                        //TODO do something with the return value
                        sds_update();
                        break;
@@ -40,7 +42,10 @@ void read_message(void)
                        break;
                case MSG_GET_TASK:
                        debug("Receiving a task");
-                       task_register();
+                       ct = task_register();
+                       write_byte('t');
+                       write16(ct);
+                       write_byte('\n');
                        break;
                case '\0':
                        break;
@@ -76,7 +81,13 @@ void loop(void)
                debug("Current task to run: %d", ct);
                run_task(curtask);
                curtask->lastrun = cyclestart;
-//             write_byte('\n');
+               if(curtask->interval == 0){
+                       curtask->used = false;
+                       write_byte('m');
+                       write_byte('d');
+                       write_byte('\n');
+               }
+               write_byte('\n');
        }
 }
 
@@ -92,17 +103,12 @@ int main(int argc, char *argv[]){
        setup();
        sds_init();
        task_init();
-
-       while(!input_available()){
-               delay(100);
-       }
-       debug("booting up");
-
+       //debug("booting up");
        while(true){
                //Check for newetasks
-               debug("loop");
+//             debug("loop");
                loop();
-               delay(10);
+               delay(50);
        }
        return 0;
 }