/*
 * task.h
 *
 *  Created on: 2024年6月24日
 *      Author: psx
 */

#ifndef APP_INC_TASK_H_
#define APP_INC_TASK_H_


#include "timeSliceOffset.h"
#include "uart_dev.h"



#define runled_reloadVal 1000           /* 任务执行间隔  */
#define runled_offset 0                 /* 任务执行偏移量  */
extern STR_TimeSliceOffset m_runled;
void Task_RunLED(void);

#define mpptControl_reloadVal 100       /* 任务执行间隔  */
#define mpptControl_offset 50           /* 任务执行偏移量  */
extern STR_TimeSliceOffset m_mpptControl;
void Task_mpptControl(void);

#define usart_reloadVal 100             /* 任务执行间隔  */
#define usart_offset 1                  /* 任务执行偏移量  */
extern STR_TimeSliceOffset m_usart;
extern uint8_t RegistrationRequestFlag;
void Task_usart(void);

#define wdi_reloadVal 1000              /* 任务执行间隔  */
#define wdi_offset 30                   /* 任务执行偏移量  */
#define wdi_RESET (60 * 60 * 24)        /* 一天复位一次  */
extern STR_TimeSliceOffset m_wdi;
void Task_wdi(void);

#define recvbroadcast_reloadVal 5000    /* 任务执行间隔  */
#define recvbroadcast_offset 0          /* 任务执行偏移量  */
extern uint8_t recvbroadcast_flag;              /* 是否需要再次发送标志 */
extern device_handle  g_recvBroadcastDevice;    /* 串口句柄 */
extern uint8_t  g_recvBroadcastRegisterNumber;  /* 寄存器长度 */
extern STR_TimeSliceOffset m_recvbroadcast;
void Task_recvbroadcast(void);

#define CapCharg_reloadVal 1000         /* 任务执行间隔  */
#define CapCharg_offset 0               /* 任务执行偏移量  */
extern STR_TimeSliceOffset m_CapCharg;
extern void Task_CapCharg(void);


void task_Init(void);
void hardware_Init(void);

#endif /* APP_INC_TASK_H_ */
