/*
 * ****************************************************
 * @file    : scheduler.h
 * @brief   : scheduler Header
 * @author  : sohee kim / Something by People
 * @data    : 2023. 05. 25
 * ****************************************************
 */

#ifndef __SCHEDULER_H_
#define __SCHEDULER_H_

#ifdef __cplusplus
extern "C" {
#endif

#include "main.h"
#include "WESPION.h"

void Task_Start_1ms(void(*task)());
void Task_Start_5ms(void(*task)());
void Task_Start_10ms(void(*task)());
void Task_Start_10ms_1(void(*task)());
void Task_Start_50ms(void(*task)());
void Task_Start_50ms_1(void(*task)());
void Task_Start_100ms(void(*task)());
void Task_Start_250ms(void(*task)());
void Task_Start_500ms(void(*task)());
void Task_Start_1s(void(*task)());
void Task_Start_60s(void(*task)());
void Task_Start_User(void(*task)(), uint16_t msec);

void Task_Stop_1ms(void);
void Task_Stop_5ms(void);
void Task_Stop_10ms(void);
void Task_Stop_10ms_1(void);
void Task_Stop_50ms(void);
void Task_Stop_50ms_1(void);
void Task_Stop_100ms(void);
void Task_Stop_250ms(void);
void Task_Stop_500ms(void);
void Task_Stop_1s(void);
void Task_Stop_60s(void);
void Task_Stop_User(void);

#ifdef __cplusplus
}
#endif
extern void Task1ms(void);
extern void Task2ms(void);
extern void Task5ms(void);
extern void Task10ms(void);
extern void Task10ms_1(void);
extern void Task50ms(void);
extern void Task100ms(void);
extern void Task500ms(void);
extern void Task1s(void);
extern void Task10s(void);
extern void Task60s(void);

#endif /* __SCHEDULER_H_ */
