#pragma once #include "myBase.h" #include "xxhash.h" #include #include #include #include #include "myDatacenter.h" typedef struct stru_signal { uint32_t id; XXH128_hash_t hash; // 128位哈希 std::string saddr; // 短地址 std::string desc; // 描述 uint8_t data_type; // 数据类型 // void *p_data; // 数据指针 std::vector vec_p_data; // 数据指针列表(支持多条目) void *p_last_data; // 上一次数据指针 std::vector vec_p_default_data; // 默认值指针列表(支持多条目) std::vector link_saddrs; std::unordered_set link_set; // O(1) 查重 uint8_t ctrl_type; // 信号控制类型 stru_signal_param param; // 信号参数信息 std::vector out_change_cb_list; // 输出类型信号变化回调函数列表 std::vector change_cb_list; // 参数类型信号变化回调函数列表 }stru_signal; bool dc_get_param_cfg_change(); void dc_set_param_cfg_change(bool change); void dc_param_cfg_check(); void dc_signal_out_change_check();