53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
|
|
#ifndef _DPC_COMM_TASK_H_
|
||
|
|
#define _DPC_COMM_TASK_H_
|
||
|
|
|
||
|
|
#include <stdint.h>
|
||
|
|
#include <stdbool.h>
|
||
|
|
#include <stddef.h>
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
float V375;
|
||
|
|
float I375;
|
||
|
|
float V48;
|
||
|
|
float I48;
|
||
|
|
float V12;
|
||
|
|
float I12;
|
||
|
|
float G375;
|
||
|
|
float G48;
|
||
|
|
float G24;
|
||
|
|
float G12;
|
||
|
|
uint8_t G375Sta;
|
||
|
|
uint8_t G48Sta;
|
||
|
|
uint8_t G24Sta;
|
||
|
|
uint8_t G12Sta;
|
||
|
|
} RUN_DPC_DATA;
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
uint8_t CO2In;
|
||
|
|
uint8_t CTDIn;
|
||
|
|
uint8_t UV1In;
|
||
|
|
uint8_t UV2In;
|
||
|
|
uint8_t UV3In;
|
||
|
|
uint8_t UV4In;
|
||
|
|
float VedioV;
|
||
|
|
float VedioI;
|
||
|
|
} OUTOUT_DPC_STATUS;
|
||
|
|
|
||
|
|
#define STATUS_RUN_ASK_ID 1 // 请求运行环境状态数据
|
||
|
|
#define STATUS_OUTPUT_ASK_ID 2 // 请求输出端口状态数据
|
||
|
|
#define RESTART_CMD_ID 3 // 请求重启
|
||
|
|
#define STATUS_ALL 3 // 需要请求的最大状态数据总类个数
|
||
|
|
|
||
|
|
int TaskDpcCommInit(void); // 初始化
|
||
|
|
void TaskDpcComm(void *arg); // 与下位机通信的任务
|
||
|
|
int TaskDpcCommSetAskEnable(uint32_t AskId); // 请求数据使能
|
||
|
|
int TaskDpcCommGetRunData(RUN_DPC_DATA *DpcRunData); // 获取运行数据
|
||
|
|
int TaskDpcCommGetOutputData(OUTOUT_DPC_STATUS *DpcOutputData); // 获取输出数据
|
||
|
|
uint8_t TaskDpcCommGetRunDataStatus(void); // 运行数据的最新数据是否更新
|
||
|
|
uint8_t TaskDpcCommGetOutputDataStatus(void); // 输出数据的最新数据是否更新
|
||
|
|
int TaskDpcCommGetAskStatus(void); // 获取当前使能工作的情况
|
||
|
|
uint32_t TaskDpcCommGetSendEndSta(void); // 指令发送情况
|
||
|
|
void TaskDpcCommClearSendEndSta(void); // 指令发送清空
|
||
|
|
|
||
|
|
#endif
|