EmbeddedEtcher
scheduler.h
Go to the documentation of this file.
1 
8 #ifndef OS_SCHEDULER_H
9 #define OS_SCHEDULER_H
10 
11 //--------------Include------------------
12 
13 #include<stdlib.h>
14 #include<stdint.h>
15 
16 #include "ossettings.h"
17 #include"ostypes.h"
18 
19 //--------------Functions----------------
20 
21 // TODO: Schedule round robin when two or more tasks have the same priority.
22 
27 uint32_t osSchedulerGetSysT(void);
28 
38 uint8_t osTaskCreate(void (*ifnc_ptr)(void*), char* itask_name, void* iarguments, uint8_t ipriority, const osTCB_t* oTaskHandle);
39 
44 void osTaskDelete(osTCB_t* iotask);
45 
50 void osTaskDelay(uint8_t idelay);
51 
57 void osTaskDelayUntil(uint32_t iwakeup_time, uint8_t idelay);
58 
62 void osRunScheduler(void);
63 
68 void osPrintTask(uint8_t iindex);
69 
73 void osPrintAllTasks(void);
74 
75 #endif
void osRunScheduler(void)
Definition: scheduler.c:237
void osPrintAllTasks(void)
Definition: scheduler.c:316
Definition: ostypes.h:41
uint32_t osSchedulerGetSysT(void)
Definition: scheduler.c:29
void osPrintTask(uint8_t iindex)
Definition: scheduler.c:306
void osTaskDelete(osTCB_t *iotask)
Definition: scheduler.c:214
Different types the operating system uses are defined here.
void osTaskDelayUntil(uint32_t iwakeup_time, uint8_t idelay)
Definition: scheduler.c:228
File where all settings take place.
uint8_t osTaskCreate(void(*ifnc_ptr)(void *), char *itask_name, void *iarguments, uint8_t ipriority, const osTCB_t *oTaskHandle)
Definition: scheduler.c:183
void osTaskDelay(uint8_t idelay)
Definition: scheduler.c:219