memset(&tasks, 0, sizeof(struct task)*MAXTASKS);
}
-int task_register(void)
+void task_register(void)
{
uint8_t ct;
+ uint16_t i;
for(ct = 0; ct<MAXTASKS; ct++)
if(!tasks[ct].used)
if(tasks[ct].tlen > MAXTASKSIZE)
die("Task is too long: %d", tasks[ct].tlen);
//Read task bytecode
- for(unsigned int i = 0; i<tasks[ct].tlen; i++){
+ 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]);
tasks[ct].used = true;
tasks[ct].lastrun = 0L;
- return ct;
+ write_byte('t');
+ write16(ct);
+ write_byte('\n');
}
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)