FluxDC/components/FluxProtocol/FluxProtocol.h

83 lines
1.4 KiB
C
Raw Normal View History

2025-03-17 09:50:22 +08:00
#ifndef _FLUX_PROTOCOL_H
#define _FLUX_PROTOCOL_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
#include "freertos/semphr.h"
#include "freertos/event_groups.h"
#include "ui.h"
#include "FluxUart.h"
extern float Spirit3_Volume[4];
extern float Spirit6_Volume[6];
extern float YULite8_Volume[6];
typedef enum DeviceType{
Spirit3,
Spirit6,
YU_Lite8,
};
typedef struct FluxProtocol
{
float testVolume;
uint16_t currentStage;
uint16_t currentBPM;
float nominalVolumeStage;
float nominalVolumeBPM;
float nominalVolumeMax;
float nominalVolumeMin;
enum DeviceType currentDevice;
};
extern struct FluxProtocol fluxProtocol;
2025-03-17 09:50:22 +08:00
2025-03-19 18:46:29 +08:00
/*流量计通讯数据格式*/
typedef enum OperationMode
{
Normal,//正常模式,收到开始命令后开始进行累积计算,停止指令收到后停止积分
Timer,//计时模式,计算在设定时间内的累积值
Volume,//体积模式,体积到达后停止累积
};
/*地址0x0001处的启停指令*/
typedef enum MeasureCommand
{
StartMeasure=1,
StopMeasure=2,
};
typedef struct FluxCommand
{
uint16_t addr;
uint32_t PLC_ADDR;
};
2025-03-17 09:50:22 +08:00
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif