22 lines
469 B
C
22 lines
469 B
C
#pragma once
|
|
#include "stddef.h"
|
|
#include "stdlib.h"
|
|
|
|
#define SCHED_tasksize 128
|
|
#define SCHED_freq 1000
|
|
|
|
typedef struct {
|
|
uint8_t inUse;
|
|
uint8_t type;
|
|
size_t ticks;
|
|
void* callback;
|
|
} task_t;
|
|
|
|
extern task_t tasks[SCHED_tasksize];
|
|
|
|
void tick();
|
|
size_t schedule_task(size_t tick, void* callback);
|
|
uint8_t schedule_sleep(size_t tick);
|
|
size_t schedule_task_fl(double time, void* callback);
|
|
uint8_t schedule_sleep_fl(double time);
|
|
task_t* schedule_getTask(size_t index); |