X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=client%2Ftask.c;h=dfdb71b423732bbcb43f362be64cb004df224612;hb=c3bb3dde2bb886a9f86f9de5f4f96beb8d86b53d;hp=3d9a64444259b15a17064ac9560fa12ea8cdd7b7;hpb=660b3e808d5782edabf342aeb4f3116ffe79706b;p=mTask.git diff --git a/client/task.c b/client/task.c index 3d9a644..dfdb71b 100644 --- a/client/task.c +++ b/client/task.c @@ -16,7 +16,7 @@ void task_init(void) memset(&tasks, 0, sizeof(struct task)*MAXTASKS); } -int task_register(void) +void task_register(void) { uint8_t ct; uint16_t i; @@ -30,6 +30,12 @@ int task_register(void) memset(&tasks[ct], 0, sizeof(struct task)); //Read interval tasks[ct].interval = read16(); + + //Interrupt task + if(is_interrupt_task(&tasks[ct])) { + + } + //Read tasklength tasks[ct].tlen = read16(); debug("task interval: %d, length: %d\n", @@ -48,12 +54,30 @@ int task_register(void) tasks[ct].used = true; tasks[ct].lastrun = 0L; - return ct; + write_byte('t'); + write16(ct); + 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) { - tasks[read_byte()].used = false; + uint8_t c = read16(); + tasks[c].used = false; + write_byte('d'); + write16(c); + write_byte('\n'); } struct task *task_get(int num)