mppt/App/inc/task.h

121 lines
4.4 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 100 /* 任务执行偏移量 */
#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 100 /* 任务执行间隔 */
#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);
/* 开路电压采集 */
#define collectOpenCircuitVoltage_reloadVal 1000 /* 任务执行间隔 */
#define collectOpenCircuitVoltage_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_collectOpenCircuitVoltage;
extern uint8_t g_collectOpenCircuitVoltageFlag;
extern void Task_collectOpenCircuitVoltage(void);
/* HY进入配置模式延迟后退出 */
#define configurationModeDelayedExit_reloadVal 1000 /* 任务执行间隔 */
#define configurationModeDelayedExit_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset g_configurationModeDelayedExit;
extern void Task_configurationModeDelayedExit(void);
#endif /* APP_INC_TASK_H_ */