76 lines
3.0 KiB
C
76 lines
3.0 KiB
C
/*****************************************************************************
|
|
* @copyright 2024-202, . POWER SUPPLY CO., LTD.
|
|
* @file logic_dido.h
|
|
* @brief xxxx
|
|
* @author Gary
|
|
* @date 2024/10/18
|
|
* @remark 初修订
|
|
*****************************************************************************/
|
|
#ifndef __LOGIC_DIDO_H__
|
|
#define __LOGIC_DIDO_H__
|
|
|
|
#include "../driver/drv_gpio.h"
|
|
// 开关
|
|
typedef enum
|
|
{
|
|
kGpioSwitch_Start = 0, // 起始
|
|
kGpioSwitch_off = kGpioSwitch_Start, // 关 0
|
|
kGpioSwitch_on, // 开 1
|
|
kLedSwitch_End // 结束
|
|
} gpioSwitch_e;
|
|
|
|
// LED功能
|
|
typedef enum
|
|
{
|
|
kLedFuc_Start = 0, // 起始
|
|
kLedFuc_on, // 开机自启灯(绿)
|
|
kLedFuc_alarm, // 告警(红)
|
|
kLedFuc_wlan, // 联网灯(绿)
|
|
kLedFuc_fault, // 故障灯(红)
|
|
kLedFuc_End // 结束
|
|
} ledFuc_e;
|
|
|
|
typedef struct
|
|
{
|
|
uint8_t pccmeterNum; // PCC电表数量
|
|
uint8_t bsmeterNum; // 储能电表数量
|
|
uint8_t pcsSum; // PCS 数量
|
|
uint8_t bsuNum; // 电池堆数量
|
|
uint8_t bcuNum; // 电池簇数量
|
|
uint8_t thsensorNum; // 温湿度传感器数量
|
|
uint8_t upsNum; // UPS设备数量
|
|
uint8_t airCondNum; // 空调组数量
|
|
|
|
uint8_t pccmeterStatus; // PCC电表状态 1 故障 0 正常
|
|
uint8_t bsmeterStatus; // 储能电表状态 1 故障 0 正常
|
|
uint8_t pcsStatus[MAX_NUM_CABINT]; // pcs状态 1 故障 0 正常
|
|
uint8_t bsuStatus[MAX_NUM_CABINT]; // 电池堆状态 1 故障 0 正常
|
|
uint8_t bcuStatus[MAX_NUM_CABINT]; // 电池簇状态 1 故障 0 正常
|
|
uint8_t thsensorStatus[MAX_NUM_CABINT]; // 温湿度传感器状态 1 故障 0 正常
|
|
uint8_t tmp[MAX_NUM_CABINT]; // 柜内温度 ℃
|
|
uint8_t upsStatus[MAX_NUM_CABINT]; // UPS设备状态 1 故障 0 正常
|
|
uint8_t airCondStatus[MAX_NUM_CABINT]; // 空调组状态 1 故障 0 正常
|
|
|
|
// DI1-DI40 (可配所以都是未知包括柜号)
|
|
uint8_t diValue[DI_End - DI_Start]; // DI值
|
|
|
|
// DI 根据配置已知
|
|
uint8_t waterLow[MAX_NUM_CABINT]; // 水浸传感器低
|
|
uint8_t waterHigh[MAX_NUM_CABINT]; // 水浸传感器高
|
|
uint8_t emergStop[MAX_NUM_CABINT]; // 急停
|
|
uint8_t smokeDetec[MAX_NUM_CABINT]; // 烟感
|
|
uint8_t tempSensor[MAX_NUM_CABINT]; // 温感
|
|
uint8_t fireFeedback[MAX_NUM_CABINT]; // 消防喷洒触发反馈
|
|
|
|
uint8_t fireAerosol[MAX_NUM_CABINT]; // 消防气溶胶触发反馈
|
|
uint8_t surge[MAX_NUM_CABINT]; // 浪涌辅助触点
|
|
uint8_t fireFault[MAX_NUM_CABINT]; // 消防故障
|
|
|
|
uint8_t accessSensor[MAX_NUM_CABINT]; // 门禁传感器
|
|
uint8_t circuitFeed[MAX_NUM_CABINT]; // 交流断路器反馈
|
|
|
|
} gpio_rtdb_data_parsing_t; // 解析rtdb的数据用于GPIO
|
|
|
|
extern uint8_t ledFucSwitch[kLedFuc_End];
|
|
typedef void (*gpio_func_t)(uint8_t cabt, uint16_t indx); // 定义函数指针类型,无返回值
|
|
#endif |