From 45e86974543aa479c97358bb99365d4de2658bcb Mon Sep 17 00:00:00 2001 From: ypc <15051963820@163.com> Date: Fri, 10 Jul 2026 11:33:42 +0800 Subject: [PATCH] =?UTF-8?q?style(libiec):=20=E8=A1=8C=E5=AE=BD=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=20=E2=80=94=20=E4=B8=80=E6=9D=A1=E8=AF=AD=E5=8F=A5?= =?UTF-8?q?=E4=B8=80=E8=A1=8C,=20=E4=BB=85=E5=A4=9A=E5=8F=82=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=88=86=E7=BB=84=E5=88=86=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 规则 - 函数声明/简单调用/打印: 一行写完 - 仅 task_event_recv 等逻辑分组保留多行 - 空括弧压缩: if(x) return; 不用再换行 ## 行数变化 iec104.cpp: 1402→1200 (-202) iec104_cfg.cpp: 157→135 (-22) iec104_point.cpp: 309→260 (-49) --- src/system/libiec/src/iec104.cpp | 546 ++++++------------------- src/system/libiec/src/iec104_cfg.cpp | 50 +-- src/system/libiec/src/iec104_point.cpp | 106 ++--- 3 files changed, 154 insertions(+), 548 deletions(-) diff --git a/src/system/libiec/src/iec104.cpp b/src/system/libiec/src/iec104.cpp index 009da89..5c2a32e 100644 --- a/src/system/libiec/src/iec104.cpp +++ b/src/system/libiec/src/iec104.cpp @@ -105,7 +105,7 @@ typedef struct /* =========================== 全局变量 =========================== */ -static stru_iec g_iec[MAX_IEC_NUM]; +static stru_iec g_iec[MAX_IEC_NUM]; static ring_disturb_yc_t g_yc_ring; static ring_soe_t g_soe_ring; static ring_dd_t g_dd_ring; @@ -131,16 +131,11 @@ LOCAL void ring_sem_init(bool *p_init, sem_t *p_sem) LOCAL int ring_count(uint16_t in_ptr, uint16_t out_ptr, int size) { - if (in_ptr >= out_ptr) - { - return (int)(in_ptr - out_ptr); - } - + if (in_ptr >= out_ptr) return (int)(in_ptr - out_ptr); return (int)(size - out_ptr + in_ptr); } -LOCAL st_ring_out_ptr *ring_out_get(void *pv_param, - std::vector &vec, uint8_t protocol) +LOCAL st_ring_out_ptr *ring_out_get(void *pv_param, std::vector &vec, uint8_t protocol) { stru_iec *p_iec = iec104_get_by_interface(*(uint32_t *)pv_param); uint32_t ch = (NULL != p_iec) ? p_iec->interface : 0; @@ -148,25 +143,20 @@ LOCAL st_ring_out_ptr *ring_out_get(void *pv_param, for (idx = 0; idx < vec.size(); idx++) { - if (vec[idx].ch == ch && vec[idx].protocol == protocol) - { - return &vec[idx]; - } + if (vec[idx].ch == ch && vec[idx].protocol == protocol) return &vec[idx]; } st_ring_out_ptr new_ptr = { protocol, 0, ch }; vec.push_back(new_ptr); - return &vec.back(); } LOCAL void cp56_from_ts(__CP56Time2a *p_time, uint32_t sec, uint16_t ms) { - struct tm st; - uint16_t total_ms; + struct tm st; + uint16_t total_ms; gmtime_r((time_t *)&sec, &st); - total_ms = st.tm_sec * 1000 + ms; p_time->ucLMs = total_ms & 0xFF; @@ -186,14 +176,10 @@ LOCAL int cb_get_time(__CP56Time2a *p_time) struct tm st; uint16_t total_ms; - if (NULL == p_time) - { - return 0; - } + if (NULL == p_time) return 0; clock_gettime(CLOCK_REALTIME, &ts); gmtime_r(&ts.tv_sec, &st); - total_ms = st.tm_sec * 1000 + ts.tv_nsec / 1000000; p_time->ucLMs = total_ms & 0xFF; @@ -213,10 +199,7 @@ LOCAL int cb_set_time(__CP56Time2a *p_time) uint16_t ms; struct timespec ts; - if (NULL == p_time) - { - return 0; - } + if (NULL == p_time) return 0; memset(&st, 0, sizeof(st)); st.tm_year = p_time->ucYear + 100; @@ -234,45 +217,29 @@ LOCAL int cb_set_time(__CP56Time2a *p_time) return 1; } -LOCAL uint8_t cb_coi_read(void) -{ - return 0; -} +LOCAL uint8_t cb_coi_read(void) { return 0; } -LOCAL void cb_coi_write(uint8_t coi) -{ - (void)coi; -} +LOCAL void cb_coi_write(uint8_t coi) { (void)coi; } /* =========================== YX (遥信) 回调 =========================== */ -LOCAL int32_t cb_yx_count(uint16_t group, void *pv_param, - uint32_t *p_start, uint32_t *p_end) +LOCAL int32_t cb_yx_count(uint16_t group, void *pv_param, uint32_t *p_start, uint32_t *p_end) { std::vector &vec = iec_cfg_ptr_get()->vec_st; - - (void)group; - (void)pv_param; - + (void)group; (void)pv_param; *p_start = YX_START_PORT; *p_end = *p_start + vec.size(); - return (int32_t)vec.size(); } -LOCAL int32_t cb_yx_val(uint16_t group, uint16_t idx, - Yx_Info *pst_info, void *pv_param) +LOCAL int32_t cb_yx_val(uint16_t group, uint16_t idx, Yx_Info *pst_info, void *pv_param) { - std::vector &vec = iec_cfg_ptr_get()->vec_st; + std::vector &vec = iec_cfg_ptr_get()->vec_st; stru_iec_sig *p_sig; stru_iec *p_iec; (void)group; - - if (idx >= vec.size()) - { - return 0; - } + if (idx >= vec.size()) return 0; p_iec = iec104_get_by_interface(*(uint32_t *)pv_param); p_sig = &vec[idx]; @@ -285,17 +252,10 @@ LOCAL int32_t cb_yx_val(uint16_t group, uint16_t idx, if (NULL != p_iec && p_iec->cs10x.usYxType) { pst_info->ucStateType = 1; - if (p_sig->invert) { - if (pst_info->ucStatus == 2) - { - pst_info->ucStatus = 1; - } - else if (pst_info->ucStatus == 1) - { - pst_info->ucStatus = 2; - } + if (pst_info->ucStatus == 2) pst_info->ucStatus = 1; + else if (pst_info->ucStatus == 1) pst_info->ucStatus = 2; } } /* 单点遥信 + 取反 */ @@ -309,34 +269,23 @@ LOCAL int32_t cb_yx_val(uint16_t group, uint16_t idx, /* =========================== YC (遥测) 回调 =========================== */ -LOCAL int32_t cb_yc_count(uint16_t group, void *pv_param, - uint32_t *p_start, uint32_t *p_end) +LOCAL int32_t cb_yc_count(uint16_t group, void *pv_param, uint32_t *p_start, uint32_t *p_end) { std::vector &vec = iec_cfg_ptr_get()->vec_mx; - - (void)group; - (void)pv_param; - + (void)group; (void)pv_param; *p_start = YC_START_PORT; *p_end = *p_start + vec.size(); - return (int32_t)vec.size(); } -LOCAL int32_t cb_yc_val(uint16_t group, uint16_t idx, - Yc_Info *pst_info, void *pv_param) +LOCAL int32_t cb_yc_val(uint16_t group, uint16_t idx, Yc_Info *pst_info, void *pv_param) { - std::vector &vec = iec_cfg_ptr_get()->vec_mx; + std::vector &vec = iec_cfg_ptr_get()->vec_mx; stru_iec_sig *p_sig; float raw_val; - (void)group; - (void)pv_param; - - if (idx >= vec.size()) - { - return 0; - } + (void)group; (void)pv_param; + if (idx >= vec.size()) return 0; p_sig = &vec[idx]; raw_val = (NULL != p_sig->p_data) ? *(float *)p_sig->p_data : 0.0f; @@ -361,7 +310,6 @@ int cb_yc_disturb_write(uint16_t idx, float val) g_yc_ring.in = (g_yc_ring.in + 1) % DISTURB_YC_LEN; sem_post(&g_yc_ring.sem); - return 1; } @@ -369,11 +317,9 @@ int cb_yc_disturb_write(uint16_t idx, float val) LOCAL int32_t cb_yc_disturb_get(Yc_Info *pst_info, void *pv_param, uint32_t pos) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_yc_ring.out_ptrs, 1); uint16_t read_idx; - p_out = ring_out_get(pv_param, g_yc_ring.out_ptrs, 1); - ring_sem_init(&g_yc_ring.init, &g_yc_ring.sem); sem_wait(&g_yc_ring.sem); @@ -382,24 +328,18 @@ LOCAL int32_t cb_yc_disturb_get(Yc_Info *pst_info, void *pv_param, uint32_t pos) pst_info->fVal = g_yc_ring.yc[read_idx].val; sem_post(&g_yc_ring.sem); - return 1; } LOCAL int32_t cb_yc_disturb_num(void *pv_param) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_yc_ring.out_ptrs, 1); int num; - p_out = ring_out_get(pv_param, g_yc_ring.out_ptrs, 1); - ring_sem_init(&g_yc_ring.init, &g_yc_ring.sem); sem_wait(&g_yc_ring.sem); - num = ring_count(g_yc_ring.in, p_out->out, DISTURB_YC_LEN); - sem_post(&g_yc_ring.sem); - return num; } @@ -407,20 +347,13 @@ LOCAL int32_t cb_yc_disturb_upd(void *pv_param, uint32_t pos) { st_ring_out_ptr *p_out; - if (0 == pos || NULL == pv_param) - { - return 0; - } + if (0 == pos || NULL == pv_param) return 0; p_out = ring_out_get(pv_param, g_yc_ring.out_ptrs, 1); - ring_sem_init(&g_yc_ring.init, &g_yc_ring.sem); sem_wait(&g_yc_ring.sem); - p_out->out = (p_out->out + pos) % DISTURB_YC_LEN; - sem_post(&g_yc_ring.sem); - return 1; } @@ -441,48 +374,37 @@ int cb_soe_write(uint16_t idx, uint8_t status, uint32_t sec, uint16_t ms) g_soe_ring.in = (g_soe_ring.in + 1) % SOE_LEN; sem_post(&g_soe_ring.sem); - return 1; } LOCAL int32_t cb_soe_get(SOE_Info *pst_info, void *pv_param, uint32_t pos) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_soe_ring.out_ptrs, 2); uint16_t read_idx; - p_out = ring_out_get(pv_param, g_soe_ring.out_ptrs, 2); - ring_sem_init(&g_soe_ring.init, &g_soe_ring.sem); sem_wait(&g_soe_ring.sem); read_idx = (pos + p_out->out) % SOE_LEN; - pst_info->uiInfoAddr = g_soe_ring.soe[read_idx].pot; pst_info->ucStatus = g_soe_ring.soe[read_idx].st; pst_info->ucStateType = g_soe_ring.soe[read_idx].ty; - cp56_from_ts(&pst_info->stCTime, g_soe_ring.soe[read_idx].sec, - g_soe_ring.soe[read_idx].ms); + cp56_from_ts(&pst_info->stCTime, g_soe_ring.soe[read_idx].sec, g_soe_ring.soe[read_idx].ms); sem_post(&g_soe_ring.sem); - return 1; } LOCAL int32_t cb_soe_num(void *pv_param) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_soe_ring.out_ptrs, 2); int num; - p_out = ring_out_get(pv_param, g_soe_ring.out_ptrs, 2); - ring_sem_init(&g_soe_ring.init, &g_soe_ring.sem); sem_wait(&g_soe_ring.sem); - num = ring_count(g_soe_ring.in, p_out->out, SOE_LEN); - sem_post(&g_soe_ring.sem); - return num; } @@ -490,27 +412,19 @@ LOCAL int32_t cb_soe_upd(void *pv_param, uint32_t pos) { st_ring_out_ptr *p_out; - if (0 == pos || NULL == pv_param) - { - return 0; - } + if (0 == pos || NULL == pv_param) return 0; p_out = ring_out_get(pv_param, g_soe_ring.out_ptrs, 2); - ring_sem_init(&g_soe_ring.init, &g_soe_ring.sem); sem_wait(&g_soe_ring.sem); - p_out->out = (p_out->out + pos) % SOE_LEN; - sem_post(&g_soe_ring.sem); - return 1; } /* =========================== DD (电度) 回调 =========================== */ -LOCAL int32_t cb_dd_count(uint16_t group, void *pv_param, - uint32_t *p_start, uint32_t *p_end, uint8_t time_en) +LOCAL int32_t cb_dd_count(uint16_t group, void *pv_param, uint32_t *p_start, uint32_t *p_end, uint8_t time_en) { std::vector &vec = iec_cfg_ptr_get()->vec_dd; uint32_t num = (uint32_t)vec.size(); @@ -520,14 +434,9 @@ LOCAL int32_t cb_dd_count(uint16_t group, void *pv_param, if (group == 0) { - if (time_en) - { - return 0; - } - + if (time_en) return 0; *p_start = DD_START_PORT; *p_end = *p_start + num; - return (int32_t)num; } @@ -538,36 +447,25 @@ LOCAL int32_t cb_dd_count(uint16_t group, void *pv_param, *p_start = DD_START_PORT + split; split = (int)num - split; *p_end = *p_start + split; - return (split > 0) ? split : 0; } *p_start = DD_START_PORT; *p_end = *p_start + split; - return split; } -LOCAL int32_t cb_dd_val(uint16_t group, uint16_t idx, - TimeDd_Info *pst_info, void *pv_param, uint8_t time_en) +LOCAL int32_t cb_dd_val(uint16_t group, uint16_t idx, TimeDd_Info *pst_info, void *pv_param, uint8_t time_en) { - std::vector &vec = iec_cfg_ptr_get()->vec_dd; + std::vector &vec = iec_cfg_ptr_get()->vec_dd; stru_iec_sig *p_sig; - (void)group; - (void)time_en; - (void)pv_param; - - if (idx >= vec.size()) - { - return 0; - } + (void)group; (void)time_en; (void)pv_param; + if (idx >= vec.size()) return 0; p_sig = &vec[idx]; - pst_info->uiInfoAddr = p_sig->inf; pst_info->fVal = (NULL != p_sig->p_data) ? *(float *)p_sig->p_data : 0.0f; - memset(&pst_info->stCTime, 0, sizeof(pst_info->stCTime)); return 1; @@ -589,7 +487,6 @@ int cb_dd_disturb_write(uint16_t idx, float val, uint32_t sec, uint16_t ms) g_dd_ring.in = (g_dd_ring.in + 1) % DD_LEN; sem_post(&g_dd_ring.sem); - return 1; } @@ -597,11 +494,9 @@ int cb_dd_disturb_write(uint16_t idx, float val, uint32_t sec, uint16_t ms) LOCAL int32_t cb_dd_disturb_get(TimeDd_Info *pst_info, void *pv_param, uint32_t pos) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_dd_ring.out_ptrs, 3); uint16_t read_idx; - p_out = ring_out_get(pv_param, g_dd_ring.out_ptrs, 3); - ring_sem_init(&g_dd_ring.init, &g_dd_ring.sem); sem_wait(&g_dd_ring.sem); @@ -609,28 +504,21 @@ LOCAL int32_t cb_dd_disturb_get(TimeDd_Info *pst_info, void *pv_param, uint32_t pst_info->uiInfoAddr = g_dd_ring.dd[read_idx].idx; pst_info->fVal = g_dd_ring.dd[read_idx].val; - cp56_from_ts(&pst_info->stCTime, g_dd_ring.dd[read_idx].sec, - g_dd_ring.dd[read_idx].ms); + cp56_from_ts(&pst_info->stCTime, g_dd_ring.dd[read_idx].sec, g_dd_ring.dd[read_idx].ms); sem_post(&g_dd_ring.sem); - return 1; } LOCAL int32_t cb_dd_disturb_num(void *pv_param) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_dd_ring.out_ptrs, 3); int num; - p_out = ring_out_get(pv_param, g_dd_ring.out_ptrs, 3); - ring_sem_init(&g_dd_ring.init, &g_dd_ring.sem); sem_wait(&g_dd_ring.sem); - num = ring_count(g_dd_ring.in, p_out->out, DD_LEN); - sem_post(&g_dd_ring.sem); - return num; } @@ -638,44 +526,30 @@ LOCAL int32_t cb_dd_disturb_upd(void *pv_param, uint32_t pos) { st_ring_out_ptr *p_out; - if (0 == pos || NULL == pv_param) - { - return 0; - } + if (0 == pos || NULL == pv_param) return 0; p_out = ring_out_get(pv_param, g_dd_ring.out_ptrs, 3); - ring_sem_init(&g_dd_ring.init, &g_dd_ring.sem); sem_wait(&g_dd_ring.sem); - p_out->out = (p_out->out + pos) % DD_LEN; - sem_post(&g_dd_ring.sem); - return 1; } /* =========================== 故障事件回调 =========================== */ -int cb_fault_write(iec_soe_info_t *p_soe, uint8_t yx_n, - iec_yc_info_t *p_yc, uint8_t yc_n) +int cb_fault_write(iec_soe_info_t *p_soe, uint8_t yx_n, iec_yc_info_t *p_yc, uint8_t yc_n) { uint8_t j; - if (NULL == p_soe) - { - return 0; - } + if (NULL == p_soe) return 0; ring_sem_init(&g_fault_ring.init, &g_fault_ring.sem); sem_wait(&g_fault_ring.sem); g_fault_ring.fault[g_fault_ring.in].soe = *p_soe; - if (yc_n > FAULT_YC_NUM) - { - yc_n = FAULT_YC_NUM; - } + if (yc_n > FAULT_YC_NUM) yc_n = FAULT_YC_NUM; g_fault_ring.fault[g_fault_ring.in].yc_n = yc_n; for (j = 0; NULL != p_yc && j < yc_n; j++) @@ -686,27 +560,23 @@ int cb_fault_write(iec_soe_info_t *p_soe, uint8_t yx_n, g_fault_ring.in = (g_fault_ring.in + 1) % FAULT_EVENT_LEN; sem_post(&g_fault_ring.sem); - (void)yx_n; return 1; } -LOCAL int32_t cb_fault_get(FAULT_EVENT_Info *pst_info, void *pv_param, - uint32_t pos) +LOCAL int32_t cb_fault_get(FAULT_EVENT_Info *pst_info, void *pv_param, uint32_t pos) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_fault_ring.out_ptrs, 4); uint16_t read_idx; uint8_t j; - p_out = ring_out_get(pv_param, g_fault_ring.out_ptrs, 4); - ring_sem_init(&g_fault_ring.init, &g_fault_ring.sem); sem_wait(&g_fault_ring.sem); read_idx = (pos + p_out->out) % FAULT_EVENT_LEN; - pst_info->staSoe[0].uiInfoAddr = g_fault_ring.fault[read_idx].soe.info_addr; - pst_info->staSoe[0].ucStatus = g_fault_ring.fault[read_idx].soe.status; + pst_info->staSoe[0].uiInfoAddr = g_fault_ring.fault[read_idx].soe.info_addr; + pst_info->staSoe[0].ucStatus = g_fault_ring.fault[read_idx].soe.status; pst_info->staSoe[0].ucStateType = g_fault_ring.fault[read_idx].soe.state_type; memset(&pst_info->staSoe[0].stCTime, 0, sizeof(pst_info->staSoe[0].stCTime)); @@ -719,24 +589,18 @@ LOCAL int32_t cb_fault_get(FAULT_EVENT_Info *pst_info, void *pv_param, } sem_post(&g_fault_ring.sem); - return 1; } LOCAL int32_t cb_fault_num(void *pv_param) { - st_ring_out_ptr *p_out; + st_ring_out_ptr *p_out = ring_out_get(pv_param, g_fault_ring.out_ptrs, 4); int num; - p_out = ring_out_get(pv_param, g_fault_ring.out_ptrs, 4); - ring_sem_init(&g_fault_ring.init, &g_fault_ring.sem); sem_wait(&g_fault_ring.sem); - num = ring_count(g_fault_ring.in, p_out->out, FAULT_EVENT_LEN); - sem_post(&g_fault_ring.sem); - return num; } @@ -744,30 +608,19 @@ LOCAL int32_t cb_fault_upd(void *pv_param, uint32_t pos) { st_ring_out_ptr *p_out; - if (0 == pos || NULL == pv_param) - { - return 0; - } + if (0 == pos || NULL == pv_param) return 0; p_out = ring_out_get(pv_param, g_fault_ring.out_ptrs, 4); - ring_sem_init(&g_fault_ring.init, &g_fault_ring.sem); sem_wait(&g_fault_ring.sem); - p_out->out = (p_out->out + pos) % FAULT_EVENT_LEN; - sem_post(&g_fault_ring.sem); - return 1; } /* =========================== YK (遥控) 回调 =========================== */ -LOCAL uint8_t cb_yk_verify(void *pv_param) -{ - (void)pv_param; - return 0; -} +LOCAL uint8_t cb_yk_verify(void *pv_param) { (void)pv_param; return 0; } LOCAL int cb_yk_set(Yk_Info *pst_info, void *pv_param) { @@ -778,10 +631,7 @@ LOCAL int cb_yk_set(Yk_Info *pst_info, void *pv_param) for (idx = 0; idx < vec.size(); idx++) { - if (vec[idx].inf != pst_info->uiInfoAddr || NULL == vec[idx].p_data) - { - continue; - } + if (vec[idx].inf != pst_info->uiInfoAddr || NULL == vec[idx].p_data) continue; /* 单点遥控: 状态值直接写入 */ if (0 == ((stru_iec *)pv_param)->cs10x.usYxType) @@ -791,18 +641,9 @@ LOCAL int cb_yk_set(Yk_Info *pst_info, void *pv_param) /* 双点遥控: 1→0, 2→1 */ else { - if (pst_info->ucStatus == 1) - { - *(uint8_t *)vec[idx].p_data = 0; - } - else if (pst_info->ucStatus == 2) - { - *(uint8_t *)vec[idx].p_data = 1; - } - else - { - *(uint8_t *)vec[idx].p_data = pst_info->ucStatus; - } + if (pst_info->ucStatus == 1) *(uint8_t *)vec[idx].p_data = 0; + else if (pst_info->ucStatus == 2) *(uint8_t *)vec[idx].p_data = 1; + else *(uint8_t *)vec[idx].p_data = pst_info->ucStatus; } } @@ -811,124 +652,66 @@ LOCAL int cb_yk_set(Yk_Info *pst_info, void *pv_param) /* =========================== Param (定值/参数) 回调 =========================== */ -LOCAL uint16_t cb_param_area(uint8_t type, void *p_handle) +LOCAL uint16_t cb_param_area(uint8_t type, void *p_handle) { (void)type; (void)p_handle; return 1; } +LOCAL uint16_t cb_param_set_area(uint16_t area, void *p_handle) { (void)p_handle; return area; } + +LOCAL uint8_t cb_param_add_iec(uint8_t all, uint8_t force, uint8_t type, IECPARAM_T *pst_val, void *p_param) { - (void)type; - (void)p_handle; + (void)all; (void)force; (void)type; (void)pst_val; (void)p_param; return 1; } -LOCAL uint16_t cb_param_set_area(uint16_t area, void *p_handle) -{ - (void)p_handle; - return area; -} - -LOCAL uint8_t cb_param_add_iec(uint8_t all, uint8_t force, uint8_t type, - IECPARAM_T *pst_val, void *p_param) -{ - (void)all; - (void)force; - (void)type; - (void)pst_val; - (void)p_param; - return 1; -} - -LOCAL uint8_t cb_param_rd_run(void *p_param) -{ - (void)p_param; - return 1; -} - -LOCAL uint8_t cb_param_wt_run(void *p_param) -{ - (void)p_param; - return 1; -} +LOCAL uint8_t cb_param_rd_run(void *p_param) { (void)p_param; return 1; } +LOCAL uint8_t cb_param_wt_run(void *p_param) { (void)p_param; return 1; } LOCAL uint16_t cb_param_total(void *p_param) { std::vector &vec = iec_cfg_ptr_get()->vec_ao; - (void)p_param; - return (uint16_t)vec.size(); } -LOCAL uint8_t cb_param_get(uint8_t type, uint16_t idx, - IECPARAM_T *pst_val, void *p_param) +LOCAL uint8_t cb_param_get(uint8_t type, uint16_t idx, IECPARAM_T *pst_val, void *p_param) { std::vector &vec = iec_cfg_ptr_get()->vec_ao; - - (void)type; - (void)p_param; - - if (idx >= vec.size()) - { - return 0; - } - + (void)type; (void)p_param; + if (idx >= vec.size()) return 0; pst_val->uiInfoAddr = vec[idx].inf; pst_val->ucLen = 1; - return 1; } /* =========================== 文件服务回调 (空桩) =========================== */ -LOCAL bool cb_dir_get(tFILEDIR_RD_SET *pst_set, tDIR_FILE_INFO *pst_info, - uint8_t type, uint16_t item, void *info) +LOCAL bool cb_dir_get(tFILEDIR_RD_SET *pst_set, tDIR_FILE_INFO *pst_info, uint8_t type, uint16_t item, void *info) { - (void)pst_set; - (void)pst_info; - (void)type; - (void)item; - (void)info; + (void)pst_set; (void)pst_info; (void)type; (void)item; (void)info; return false; } -LOCAL int cb_dir_num(tFILEDIR_RD_SET *pst_set) +LOCAL int cb_dir_num(tFILEDIR_RD_SET *pst_set) { (void)pst_set; return 0; } + +LOCAL int cb_file_read(uint32_t offset, uint8_t *p_buf, uint16_t len, void *pv_param) { - (void)pst_set; + (void)offset; (void)p_buf; (void)len; (void)pv_param; return 0; } -LOCAL int cb_file_read(uint32_t offset, uint8_t *p_buf, uint16_t len, - void *pv_param) +LOCAL uint8_t cb_file_wr_check(tFILE_WD_SET *pst_set, void *p_param, void *p_user) { - (void)offset; - (void)p_buf; - (void)len; - (void)pv_param; + (void)pst_set; (void)p_param; (void)p_user; return 0; } -LOCAL uint8_t cb_file_wr_check(tFILE_WD_SET *pst_set, void *p_param, - void *p_user) +LOCAL int cb_file_write(uint32_t offset, uint8_t *p_buf, uint16_t len, void *p_file, void *p_user) { - (void)pst_set; - (void)p_param; - (void)p_user; - return 0; -} - -LOCAL int cb_file_write(uint32_t offset, uint8_t *p_buf, uint16_t len, - void *p_file, void *p_user) -{ - (void)offset; - (void)p_buf; - (void)len; - (void)p_file; - (void)p_user; + (void)offset; (void)p_buf; (void)len; (void)p_file; (void)p_user; return 0; } LOCAL int cb_file_wr_finish(uint8_t *p_md5, void *p_file, void *p_user) { - (void)p_md5; - (void)p_file; - (void)p_user; + (void)p_md5; (void)p_file; (void)p_user; return 0; } @@ -984,8 +767,7 @@ LOCAL void protocol_register_callbacks(stru_iec *p_iec) /* 遥测 */ CS10x_S_GetYcByGroupHandler(p_cs, cb_yc_count, cb_yc_val); - CS10x_S_DiturbYcHandler(p_cs, cb_yc_disturb_get, - cb_yc_disturb_num, cb_yc_disturb_upd); + CS10x_S_DiturbYcHandler(p_cs, cb_yc_disturb_get, cb_yc_disturb_num, cb_yc_disturb_upd); /* 遥信 */ CS10x_S_GetYxByGroupHandler(p_cs, cb_yx_count, cb_yx_val); @@ -995,8 +777,7 @@ LOCAL void protocol_register_callbacks(stru_iec *p_iec) /* 电度 */ CS10x_S_GetDdByGroupHandler(p_cs, cb_dd_count, cb_dd_val); - CS10x_S_DiturbDduHandler(p_cs, cb_dd_disturb_get, - cb_dd_disturb_num, cb_dd_disturb_upd); + CS10x_S_DiturbDduHandler(p_cs, cb_dd_disturb_get, cb_dd_disturb_num, cb_dd_disturb_upd); /* 故障事件 */ CS10x_S_FaultEventHandler(p_cs, cb_fault_num, cb_fault_get, cb_fault_upd); @@ -1007,23 +788,18 @@ LOCAL void protocol_register_callbacks(stru_iec *p_iec) /* 定值/参数 */ CS10x_S_ParamAreaHandler(p_cs, cb_param_area, cb_param_set_area); - CS10x_S_IECParamHandler(p_cs, cb_param_add_iec, cb_param_rd_run, - cb_param_wt_run); + CS10x_S_IECParamHandler(p_cs, cb_param_add_iec, cb_param_rd_run, cb_param_wt_run); CS10x_S_GetParamInfoHandler(p_cs, cb_param_total, cb_param_get); /* 文件服务 */ - CS10x_S_FileReadOprtHandler(p_cs, cb_dir_get, cb_dir_num, - cb_file_read, NULL); - CS10x_S_FileWriteOprtHandler(p_cs, cb_file_write, cb_file_wr_check, - cb_file_wr_finish, NULL); + CS10x_S_FileReadOprtHandler(p_cs, cb_dir_get, cb_dir_num, cb_file_read, NULL); + CS10x_S_FileWriteOprtHandler(p_cs, cb_file_write, cb_file_wr_check, cb_file_wr_finish, NULL); CS10x_S_UpdateProcHandler(p_cs, NULL); } LOCAL void protocol_config(stru_iec *p_iec) { - CS10x_104Init(&p_iec->cs10x, iec104_data_tx, - (void *)&p_iec->interface, CS104_TYPE_S); - + CS10x_104Init(&p_iec->cs10x, iec104_data_tx, (void *)&p_iec->interface, CS104_TYPE_S); protocol_init_104(p_iec); protocol_register_callbacks(p_iec); } @@ -1046,30 +822,14 @@ LOCAL stru_iec *iec104_ptr_get(uint32_t interface, CS10x_Type type) if (g_iec[i].is_busy) { g_iec[i].tm_out = 0; - - if (type == g_iec[i].iec_type) - { - return &g_iec[i]; - } - + if (type == g_iec[i].iec_type) return &g_iec[i]; g_iec[i].is_busy = 0; } - else - { - free_idx = i; - } + else free_idx = i; } - if (max_tm < g_iec[i].tm_out) - { - max_tm = g_iec[i].tm_out; - max_idx = i; - } - - if (!g_iec[i].is_busy && free_idx == MAX_IEC_NUM) - { - free_idx = i; - } + if (max_tm < g_iec[i].tm_out) { max_tm = g_iec[i].tm_out; max_idx = i; } + if (!g_iec[i].is_busy && free_idx == MAX_IEC_NUM) free_idx = i; } /* 确定用哪个 slot */ @@ -1078,9 +838,9 @@ LOCAL stru_iec *iec104_ptr_get(uint32_t interface, CS10x_Type type) /* 初始化 slot */ memset(p_iec, 0, sizeof(stru_iec)); - p_iec->is_busy = 1; - p_iec->interface = interface; - p_iec->iec_type = type; + p_iec->is_busy = 1; + p_iec->interface = interface; + p_iec->iec_type = type; /* 绑定缓冲区 */ p_iec->cs10x.stRecvBuf.pBuf = p_iec->rx; @@ -1095,7 +855,6 @@ LOCAL stru_iec *iec104_ptr_get(uint32_t interface, CS10x_Type type) protocol_config(p_iec); LOG_I("iec104: slot[%d] inited, interface=0x%X", idx, interface); - return p_iec; } @@ -1105,10 +864,7 @@ stru_iec *iec104_get_by_interface(uint32_t interface) for (i = 0; i < MAX_IEC_NUM; i++) { - if (interface == g_iec[i].interface && g_iec[i].is_busy) - { - return &g_iec[i]; - } + if (interface == g_iec[i].interface && g_iec[i].is_busy) return &g_iec[i]; } return NULL; @@ -1118,12 +874,12 @@ stru_iec *iec104_get_by_interface(uint32_t interface) LOCAL int iec104_data_tx(uint8_t *p_tx, uint16_t tx_len, void *arg) { - stru_app *p_app; - stru_app_msg_queue *p_mq; - stru_msg_head *p_head; - stru_mq_target target; - stru_app *p_target; - uint32_t interface; + stru_app *p_app; + stru_app_msg_queue *p_mq; + stru_msg_head *p_head; + stru_mq_target target; + stru_app *p_target; + uint32_t interface; if (tx_len + sizeof(stru_msg_head) > MSG_SIZE) { @@ -1134,11 +890,7 @@ LOCAL int iec104_data_tx(uint8_t *p_tx, uint16_t tx_len, void *arg) interface = *(uint32_t *)arg; p_app = app_get_ptr(ENUM_APP_IEC); - if (NULL == p_app) - { - LOG_E("iec104: app_get_ptr(ENUM_APP_IEC) failed"); - return -1; - } + if (NULL == p_app) { LOG_E("iec104: app_get_ptr(ENUM_APP_IEC) failed"); return -1; } /* 封装消息头 */ p_head = (stru_msg_head *)p_app->rtx.tx; @@ -1148,11 +900,7 @@ LOCAL int iec104_data_tx(uint8_t *p_tx, uint16_t tx_len, void *arg) /* 投递到 MQ_IEC_TO_COM */ p_mq = app_get_msg_queue_ptr(ENUM_MQ_IEC_TO_COM); - if (NULL == p_mq) - { - LOG_E("iec104: MQ_IEC_TO_COM not found"); - return -1; - } + if (NULL == p_mq) { LOG_E("iec104: MQ_IEC_TO_COM not found"); return -1; } if (0 != task_msg_queue_send(p_mq->p_msg_queue, p_app->rtx.tx, p_mq->msg_size)) { @@ -1164,10 +912,7 @@ LOCAL int iec104_data_tx(uint8_t *p_tx, uint16_t tx_len, void *arg) target = app_get_mq_target(ENUM_MQ_IEC_TO_COM); p_target = app_get_ptr(target.app_id); - if (NULL != p_target && NULL != p_target->p_event) - { - task_event_send(p_target->p_event, target.event); - } + if (NULL != p_target && NULL != p_target->p_event) task_event_send(p_target->p_event, target.event); return 0; } @@ -1180,26 +925,17 @@ int iec104_data_rx(uint8_t *msg) uint8_t *p_rx; uint16_t len; - if (NULL == msg) - { - return -1; - } + if (NULL == msg) return -1; p_head = (stru_msg_head *)msg; interface = p_head->interface; p_rx = p_head->data; len = p_head->len; - if (NULL == p_rx || len < 2) - { - return -1; - } + if (NULL == p_rx || len < 2) return -1; /* 仅处理 IEC-104 帧 (0x68 开头) */ - if (p_rx[0] != 0x68) - { - return -1; - } + if (p_rx[0] != 0x68) return -1; p_iec = iec104_ptr_get(interface, CS104_TYPE_S); if (NULL == p_iec) @@ -1222,18 +958,14 @@ void iec104_task(uint16_t gap) for (i = 0; i < MAX_IEC_NUM; i++) { - if (!g_iec[i].is_busy) - { - continue; - } + if (!g_iec[i].is_busy) continue; g_iec[i].tm_out += gap; /* 超时回收 slot */ if (g_iec[i].tm_out >= LINK_OVER_TIME) { - LOG_I("iec104: slot[%d] timeout (%u ms), freeing", - i, g_iec[i].tm_out); + LOG_I("iec104: slot[%d] timeout (%u ms), freeing", i, g_iec[i].tm_out); memset(&g_iec[i], 0, sizeof(stru_iec)); } else @@ -1247,40 +979,26 @@ void iec104_task(uint16_t gap) LOCAL void cmd_iec(int argc, char *argv[]) { - const char *help = - "iec info 查看 IEC-104 连接状态\n" + const char *help = "iec info 查看 IEC-104 连接状态\n" "iec reset 清除所有连接\n"; int i; - if (argc < 2) - { - printf("%s", help); - return; - } + if (argc < 2) { printf("%s", help); return; } if (0 == strcmp(argv[1], "info")) { printf("===== IEC-104 Status =====\n"); - for (i = 0; i < MAX_IEC_NUM; i++) { printf("slot[%d]: busy=%d type=%d if=0x%X tm_out=%u\n", - i, g_iec[i].is_busy, g_iec[i].iec_type, - g_iec[i].interface, g_iec[i].tm_out); + i, g_iec[i].is_busy, g_iec[i].iec_type, g_iec[i].interface, g_iec[i].tm_out); } - - printf("SOE: in=%d YC-disturb: in=%d DD-disturb: in=%d" - " Fault: in=%d\n", - g_soe_ring.in, g_yc_ring.in, - g_dd_ring.in, g_fault_ring.in); + printf("SOE: in=%d YC-disturb: in=%d DD-disturb: in=%d Fault: in=%d\n", + g_soe_ring.in, g_yc_ring.in, g_dd_ring.in, g_fault_ring.in); } else if (0 == strcmp(argv[1], "reset")) { - for (i = 0; i < MAX_IEC_NUM; i++) - { - memset(&g_iec[i], 0, sizeof(stru_iec)); - } - + for (i = 0; i < MAX_IEC_NUM; i++) memset(&g_iec[i], 0, sizeof(stru_iec)); LOG_I("iec: all slots reset"); } else @@ -1292,7 +1010,6 @@ LOCAL void cmd_iec(int argc, char *argv[]) LOCAL void cmd_iec_complete(const char *buf, char ***completions, int *ncomp) { static const char *subs[] = { "info", "reset" }; - cmd_sub_complete(buf, completions, ncomp, subs, 2); } @@ -1311,7 +1028,6 @@ int app_iec_init1(void *arg) } std::string path = std::string(dir) + "config/IEC60870/iec1014.xml"; - if (0 != iec_cfg_parse(path.c_str())) { LOG_E("app_iec_init1: cfg parse failed: %s", path.c_str()); @@ -1319,9 +1035,7 @@ int app_iec_init1(void *arg) } stru_app *p_app = (stru_app *)arg; - - dc_signal_out("iec.run_cnt", "iec.run_cnt", DATA_TYPE_U32, - &p_app->run_cnt, "iec104"); + dc_signal_out("iec.run_cnt", "iec.run_cnt", DATA_TYPE_U32, &p_app->run_cnt, "iec104"); LOG_I("app_iec_init1: ok"); return 0; @@ -1330,28 +1044,18 @@ int app_iec_init1(void *arg) int app_iec_init2(void *arg) { (void)arg; - - if (0 != iec104_point_init()) - { - LOG_E("app_iec_init2: iec104_point_init failed"); - return -1; - } - + if (0 != iec104_point_init()) { LOG_E("app_iec_init2: iec104_point_init failed"); return -1; } LOG_I("app_iec_init2: ok"); return 0; } void *app_iec(void *arg) { - stru_app *p_app; - stru_app_msg_queue *p_mq; - uint32_t event; + stru_app *p_app; + stru_app_msg_queue *p_mq; + uint32_t event; - if (NULL == arg) - { - LOG_E("app_iec: NULL arg"); - return NULL; - } + if (NULL == arg) { LOG_E("app_iec: NULL arg"); return NULL; } p_app = (stru_app *)arg; @@ -1367,11 +1071,9 @@ void *app_iec(void *arg) if (event & EV_IEC_RX_COM) { p_mq = app_get_msg_queue_ptr(ENUM_MQ_COM_TO_IEC); - if (NULL != p_mq) { - while (0 == task_msg_queue_try_recv(p_mq->p_msg_queue, - p_app->rtx.rx, p_mq->msg_size)) + while (0 == task_msg_queue_try_recv(p_mq->p_msg_queue, p_app->rtx.rx, p_mq->msg_size)) { iec104_data_rx(p_app->rtx.rx); } @@ -1379,23 +1081,13 @@ void *app_iec(void *arg) } /* 10ms 定时器 */ - if (event & EV_TIMER1) - { - iec104_task(10); - } + if (event & EV_TIMER1) iec104_task(10); /* 1s 计数 */ - if (event & EV_TIMER3) - { - p_app->run_cnt++; - } + if (event & EV_TIMER3) p_app->run_cnt++; /* 停止信号 */ - if (event & EV_STOP) - { - LOG_I("app_iec: received EV_STOP, exiting"); - break; - } + if (event & EV_STOP) { LOG_I("app_iec: received EV_STOP, exiting"); break; } } return NULL; diff --git a/src/system/libiec/src/iec104_cfg.cpp b/src/system/libiec/src/iec104_cfg.cpp index e635489..e9f4968 100644 --- a/src/system/libiec/src/iec104_cfg.cpp +++ b/src/system/libiec/src/iec104_cfg.cpp @@ -64,16 +64,10 @@ LOCAL int parse_signals(XMLElement *p_root) for (rule_idx = 0; rule_idx < RULE_COUNT; rule_idx++) { - XMLElement *p_parent = p_root->FirstChildElement( - g_rules[rule_idx].xml_tag); - - if (NULL == p_parent) - { - continue; - } + XMLElement *p_parent = p_root->FirstChildElement(g_rules[rule_idx].xml_tag); + if (NULL == p_parent) continue; XMLElement *p_sig = p_parent->FirstChildElement(xml_el_signal); - while (NULL != p_sig) { stru_iec_sig entry = {}; @@ -87,22 +81,14 @@ LOCAL int parse_signals(XMLElement *p_root) entry.desc = (NULL != p_attr_desc) ? p_attr_desc : ""; entry.link = (NULL != p_attr_link) ? p_attr_link : ""; - entry.inf = (NULL != p_attr_inf) - ? (uint16_t)atoi(p_attr_inf) : 0; - entry.type = (NULL != p_attr_type) - ? dc_get_type_id_by_name(p_attr_type) : 0; - entry.invert = (NULL != p_attr_invert) - ? (uint8_t)atoi(p_attr_invert) : 0; - entry.factor = (NULL != p_attr_factor) - ? (float)atof(p_attr_factor) : 0.0f; - entry.offset = (NULL != p_attr_offset) - ? (float)atof(p_attr_offset) : 0.0f; + entry.inf = (NULL != p_attr_inf) ? (uint16_t)atoi(p_attr_inf) : 0; + entry.type = (NULL != p_attr_type) ? dc_get_type_id_by_name(p_attr_type) : 0; + entry.invert = (NULL != p_attr_invert) ? (uint8_t)atoi(p_attr_invert) : 0; + entry.factor = (NULL != p_attr_factor) ? (float)atof(p_attr_factor) : 0.0f; + entry.offset = (NULL != p_attr_offset) ? (float)atof(p_attr_offset) : 0.0f; /* 如果 XML 未指定 type, 使用规则默认值 */ - if (0 == entry.type) - { - entry.type = g_rules[rule_idx].default_type; - } + if (0 == entry.type) entry.type = g_rules[rule_idx].default_type; g_rules[rule_idx].p_vec->push_back(entry); p_sig = p_sig->NextSiblingElement(xml_el_signal); @@ -124,11 +110,7 @@ int iec_cfg_parse(const char *xml_path) XMLDocument doc; XMLElement *p_root; - if (NULL == xml_path) - { - LOG_E("iec_cfg_parse: NULL path"); - return -1; - } + if (NULL == xml_path) { LOG_E("iec_cfg_parse: NULL path"); return -1; } if (XML_SUCCESS != doc.LoadFile(xml_path)) { @@ -137,20 +119,12 @@ int iec_cfg_parse(const char *xml_path) } p_root = doc.RootElement(); - if (NULL == p_root) - { - LOG_E("iec_cfg_parse: no root element"); - return -1; - } + if (NULL == p_root) { LOG_E("iec_cfg_parse: no root element"); return -1; } - if (0 != parse_signals(p_root)) - { - return -1; - } + if (0 != parse_signals(p_root)) return -1; LOG_I("iec_cfg_parse: %s loaded — ST=%d MX=%d CO=%d DD=%d AO=%d Param=%d", - xml_path, - (int)g_cfg.vec_st.size(), (int)g_cfg.vec_mx.size(), + xml_path, (int)g_cfg.vec_st.size(), (int)g_cfg.vec_mx.size(), (int)g_cfg.vec_co.size(), (int)g_cfg.vec_dd.size(), (int)g_cfg.vec_ao.size(), (int)g_cfg.vec_param.size()); return 0; diff --git a/src/system/libiec/src/iec104_point.cpp b/src/system/libiec/src/iec104_point.cpp index 789fa26..284b7f1 100644 --- a/src/system/libiec/src/iec104_point.cpp +++ b/src/system/libiec/src/iec104_point.cpp @@ -18,13 +18,11 @@ extern int cb_soe_write(uint16_t idx, uint8_t status, uint32_t sec, uint16_t ms); extern int cb_yc_disturb_write(uint16_t idx, float val); extern int cb_dd_disturb_write(uint16_t idx, float val, uint32_t sec, uint16_t ms); -extern int cb_fault_write(iec_soe_info_t *p_soe, uint8_t yx_n, - iec_yc_info_t *p_yc, uint8_t yc_n); +extern int cb_fault_write(iec_soe_info_t *p_soe, uint8_t yx_n, iec_yc_info_t *p_yc, uint8_t yc_n); /* =========================== 信号变更回调 =========================== */ -LOCAL void on_st_change(const char *p_saddr, uint8_t data_type, - const void *p_val, const void *p_prev) +LOCAL void on_st_change(const char *p_saddr, uint8_t data_type, const void *p_val, const void *p_prev) { std::vector &vec = iec_cfg_ptr_get()->vec_st; uint32_t i; @@ -32,24 +30,15 @@ LOCAL void on_st_change(const char *p_saddr, uint8_t data_type, uint8_t last; (void)data_type; - - if (NULL == p_saddr || NULL == p_val || NULL == p_prev) - { - return; - } + if (NULL == p_saddr || NULL == p_val || NULL == p_prev) return; std::string link(p_saddr); - for (i = 0; i < vec.size(); i++) { - if (vec[i].link != link) - { - continue; - } + if (vec[i].link != link) continue; val = *(const uint8_t *)p_val; last = *(const uint8_t *)p_prev; - if (val != last) { cb_soe_write(i, val, (uint32_t)time(NULL), 0); @@ -58,8 +47,7 @@ LOCAL void on_st_change(const char *p_saddr, uint8_t data_type, } } -LOCAL void on_mx_change(const char *p_saddr, uint8_t data_type, - const void *p_val, const void *p_prev) +LOCAL void on_mx_change(const char *p_saddr, uint8_t data_type, const void *p_val, const void *p_prev) { std::vector &vec = iec_cfg_ptr_get()->vec_mx; uint32_t i; @@ -67,33 +55,20 @@ LOCAL void on_mx_change(const char *p_saddr, uint8_t data_type, float last; (void)data_type; - - if (NULL == p_saddr || NULL == p_val || NULL == p_prev) - { - return; - } + if (NULL == p_saddr || NULL == p_val || NULL == p_prev) return; std::string link(p_saddr); - for (i = 0; i < vec.size(); i++) { - if (vec[i].link != link) - { - continue; - } + if (vec[i].link != link) continue; val = *(const float *)p_val; last = *(const float *)p_prev; - - if (fabsf(val - last) > 0.1f) - { - cb_yc_disturb_write(i, val); - } + if (fabsf(val - last) > 0.1f) cb_yc_disturb_write(i, val); } } -LOCAL void on_dd_change(const char *p_saddr, uint8_t data_type, - const void *p_val, const void *p_prev) +LOCAL void on_dd_change(const char *p_saddr, uint8_t data_type, const void *p_val, const void *p_prev) { std::vector &vec = iec_cfg_ptr_get()->vec_dd; uint32_t i; @@ -101,24 +76,15 @@ LOCAL void on_dd_change(const char *p_saddr, uint8_t data_type, float last; (void)data_type; - - if (NULL == p_saddr || NULL == p_val || NULL == p_prev) - { - return; - } + if (NULL == p_saddr || NULL == p_val || NULL == p_prev) return; std::string link(p_saddr); - for (i = 0; i < vec.size(); i++) { - if (vec[i].link != link) - { - continue; - } + if (vec[i].link != link) continue; val = *(const float *)p_val; last = *(const float *)p_prev; - if (fabsf(val - last) > 0.1f) { cb_dd_disturb_write(i, val, (uint32_t)time(NULL), 0); @@ -127,26 +93,16 @@ LOCAL void on_dd_change(const char *p_saddr, uint8_t data_type, } } -LOCAL void on_yk_change(const char *p_saddr, dc_ctrl_step_t step, - uint8_t data_type, uint8_t zone, const void *p_val) +LOCAL void on_yk_change(const char *p_saddr, dc_ctrl_step_t step, uint8_t data_type, uint8_t zone, const void *p_val) { /* YK 由 CS10x SetYkInfor 回调直接写入 datacenter, 此处预留 */ - (void)p_saddr; - (void)step; - (void)data_type; - (void)zone; - (void)p_val; + (void)p_saddr; (void)step; (void)data_type; (void)zone; (void)p_val; } -LOCAL void on_ao_change(const char *p_saddr, dc_ctrl_step_t step, - uint8_t data_type, uint8_t zone, const void *p_val) +LOCAL void on_ao_change(const char *p_saddr, dc_ctrl_step_t step, uint8_t data_type, uint8_t zone, const void *p_val) { /* AO 由 CS10x 参数回调写入 datacenter, 此处预留 */ - (void)p_saddr; - (void)step; - (void)data_type; - (void)zone; - (void)p_val; + (void)p_saddr; (void)step; (void)data_type; (void)zone; (void)p_val; } /* =========================== 数据中心事件队列消费 =========================== */ @@ -157,10 +113,7 @@ LOCAL void on_dc_soe(void *p_data) std::vector &vec = iec_cfg_ptr_get()->vec_st; uint32_t i; - if (NULL == p_data) - { - return; - } + if (NULL == p_data) return; p_event = (dc_soe_event_t *)p_data; std::string link(p_event->saddr); @@ -169,8 +122,7 @@ LOCAL void on_dc_soe(void *p_data) { if (vec[i].link == link) { - cb_soe_write(i, p_event->status, - p_event->tm_sec, p_event->tm_ms); + cb_soe_write(i, p_event->status, p_event->tm_sec, p_event->tm_ms); return; } } @@ -183,10 +135,7 @@ LOCAL void on_dc_fault(void *p_data) iec_soe_info_t soe; uint32_t i; - if (NULL == p_data) - { - return; - } + if (NULL == p_data) return; p_event = (dc_fault_event_t *)p_data; std::string link(p_event->saddr); @@ -195,11 +144,7 @@ LOCAL void on_dc_fault(void *p_data) memset(&soe, 0, sizeof(soe)); for (i = 0; i < vec_st.size(); i++) { - if (vec_st[i].link == link) - { - soe.info_addr = i; - break; - } + if (vec_st[i].link == link) { soe.info_addr = i; break; } } soe.status = 1; @@ -215,10 +160,7 @@ LOCAL void on_dc_disturb_dd(void *p_data) std::vector &vec = iec_cfg_ptr_get()->vec_dd; uint32_t i; - if (NULL == p_data) - { - return; - } + if (NULL == p_data) return; p_event = (dc_disturb_event_t *)p_data; std::string link(p_event->saddr); @@ -227,8 +169,7 @@ LOCAL void on_dc_disturb_dd(void *p_data) { if (vec[i].link == link) { - cb_dd_disturb_write(i, p_event->f_val, - p_event->tm_sec, p_event->tm_ms); + cb_dd_disturb_write(i, p_event->f_val, p_event->tm_sec, p_event->tm_ms); return; } } @@ -302,8 +243,7 @@ int iec104_point_init(void) } LOG_I("iec104_point_init: ST=%d MX=%d CO=%d DD=%d AO=%d Param=%d", - (int)p_cfg->vec_st.size(), (int)p_cfg->vec_mx.size(), - (int)p_cfg->vec_co.size(), (int)p_cfg->vec_dd.size(), - (int)p_cfg->vec_ao.size(), (int)p_cfg->vec_param.size()); + (int)p_cfg->vec_st.size(), (int)p_cfg->vec_mx.size(), (int)p_cfg->vec_co.size(), + (int)p_cfg->vec_dd.size(), (int)p_cfg->vec_ao.size(), (int)p_cfg->vec_param.size()); return 0; }