/***************************************************************************** * @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