121 lines
4.4 KiB
C
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_ */
|