mppt/App/inc/task.h

106 lines
3.8 KiB
C

/*
* 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"
#include "math.h"
void Init();
/* 控制运行指示灯和喂狗 */
#define WdiRunled_reloadVal 1000 /* 任务执行间隔 */
#define WdiRunled_offset 700 /* 任务执行偏移量 */
#define wdi_RESET (60 * 60 * 24) /* 一天复位一次 */
extern STR_TimeSliceOffset m_WdiRunled;
extern void Task_WdiRunled(void);
/* 刷新寄存器中的数据 */
#define refreshRegister_reloadVal 1000 /* 任务执行间隔 */
#define refreshRegister_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_refreshRegister;
extern void Task_refreshRegister(void);
/* 回路阻抗检测 */
#define impedanceCalculation_reloadVal 200 /* 任务执行间隔 */
#define impedanceCalculation_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_impedanceCalculation;
extern void Task_impedanceCalculation(void);
/* 短路保护 */
#define outputAgain_reloadVal 1000 /* 任务执行间隔 */
#define outputAgain_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_outputAgain;
extern void Task_outputAgain(void);
/* 过载保护 */
#define excessiveLoad_reloadVal 1000 /* 任务执行间隔 */
#define excessiveLoad_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_excessiveLoad;
extern void Task_excessiveLoad(void);
/* 软启动 */
#define softStart_reloadVal 10 /* 任务执行间隔 */
#define softStart_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_softStart;
extern void Task_softStart(void);
/* 启动任务 */
#define startMpptControl_reloadVal 1000 /* 任务执行间隔 */
#define startMpptControl_offset 200 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_startMpptControl;
extern void Task_startMpptControl(void);
/* 根据寄存器数据完成一些判断 */
#define dataJudgment_reloadVal 1000 /* 任务执行间隔 */
#define dataJudgment_offset 500 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_dataJudgment;
extern void Task_dataJudgment(void);
/* 串口数据解析和处理 */
#define usartJudge_reloadVal 100 /* 任务执行间隔 */
#define usartJudge_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_usartJudge;
extern void Task_usartJudge(void);
#define usartHandle_reloadVal 20 /* 任务执行间隔 */
#define usartHandle_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_usartHandle;
extern void Task_usartHandle(void);
typedef void (*uartJudgeHandle)(device_handle device);
extern uartJudgeHandle uart_judge_handle;
/* 广播回应 */
#define recvbroadcast_reloadVal 3000 /* 任务执行间隔 */
#define recvbroadcast_offset 0 /* 任务执行偏移量 */
extern uint8_t recvbroadcast_flag; /* 是否需要再次发送标志 */
extern device_handle g_recvBroadcastDevice; /* 串口句柄 */
extern STR_TimeSliceOffset g_recvbroadcast;
extern void Task_recvbroadcast(void);
/* 再次注册延时 */
#define sensorEnableBroadcast_reloadVal 1000 /* 任务执行间隔 */
#define sensorEnableBroadcast_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_sensorEnableBroadcast;
extern void Task_sensorEnableBroadcast(void);
/* 配置文件读取 */
#define uartConfigFile_reloadVal 200 /* 任务执行间隔 */
#define uartConfigFile_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_uartConfigFile;
extern void Task_uartConfigFile(void);
/* 过载保护 */
#define overloadDelay_reloadVal 10 /* 任务执行间隔 */
#define overloadDelay_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_overloadDelay;
extern void Task_overloadDelay(void);
#endif /* APP_INC_TASK_H_ */