📄 fsmib.h
字号:
n2h32(payload, &gfs_com.max_rsp_time);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 6:
n2h16(payload, &gfs_com.e_sn);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
default:
if(idx > 6) {
Write_Neg_Output(src_app, 1, 2, 0, msg_id, src_port, src_ip);
return EPA_SUBINDEX_ILLEGAL;
}
Write_Neg_Output(src_app, 1, 3, 0, msg_id, src_port, src_ip);
return EPA_OBJ_UNWRITABLE;
}
return EPA_NO_ERR;
}
void FSComFail_Init(void);
__inline uint8 FSComFail_Read(uint16 idx, uint16 msg_id, uint16 src_app, uint16 src_port, uint32 src_ip) {
OctetString payload;
switch (idx) {
case 0:
h2n16(gfs_com_fail.obj_id, payload);
h2n16(gfs_com_fail.dev_fail, payload + 2);
h2n16(gfs_com_fail.fail_report_state, payload + 4);
h2n16(gfs_com_fail.fail_report_cfg, payload + 6);
h2n16(gfs_com_fail.fail_ack_state, payload + 8);
h2n16(gfs_com_fail.fail_ack_cfg, payload + 10);
h2n16(gfs_com_fail.fail_report_prio, payload + 12);
h2n32(gfs_com_fail.max_rsp_time, payload + 16);
Read_Pos_Output(src_app, payload, 20, msg_id, src_port, src_ip);
break;
case 2:
h2n16(gfs_com_fail.dev_fail, payload + 2);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 3:
h2n16(gfs_com_fail.fail_report_state, payload + 4);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 4:
h2n16(gfs_com_fail.fail_report_cfg, payload + 6);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 5:
h2n16(gfs_com_fail.fail_ack_state, payload + 8);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 6:
h2n16(gfs_com_fail.fail_ack_cfg, payload + 10);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 7:
h2n16(gfs_com_fail.fail_report_prio, payload + 12);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 8:
h2n32(gfs_com_fail.max_rsp_time, payload + 16);
Read_Pos_Output(src_app, payload, 4, msg_id, src_port, src_ip);
break;
default:
Read_Neg_Output(src_app, 1, 2, 0, msg_id, src_port, src_ip);
return EPA_SUBINDEX_ILLEGAL;
}
return EPA_NO_ERR;
}
__inline uint8 FSComFail_Write(uint16 idx, OctetString payload, uint16 msg_id, uint16 src_app, uint16 src_port, uint32 src_ip) {
switch (idx) {
case 0:
n2h16(payload + 2, &gfs_com_fail.dev_fail);
n2h16(payload + 4, &gfs_com_fail.fail_report_state);
n2h16(payload + 6, &gfs_com_fail.fail_report_cfg);
n2h16(payload + 8, &gfs_com_fail.fail_ack_state);
n2h16(payload + 10, &gfs_com_fail.fail_ack_cfg);
n2h16(payload + 12, &gfs_com_fail.fail_report_prio);
n2h32(payload + 16, &gfs_com_fail.max_rsp_time);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 2:
n2h16(payload, &gfs_com_fail.dev_fail);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 3:
n2h16(payload, &gfs_com_fail.fail_report_state);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 4:
n2h16(payload, &gfs_com_fail.fail_report_cfg);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 5:
n2h16(payload, &gfs_com_fail.fail_ack_state);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 6:
n2h16(payload, &gfs_com_fail.fail_ack_cfg);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 7:
n2h16(payload, &gfs_com_fail.fail_report_prio);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 8:
n2h32(payload, &gfs_com_fail.max_rsp_time);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
default:
if(idx > 8) {
Write_Neg_Output(src_app, 1, 2, 0, msg_id, src_port, src_ip);
return EPA_SUBINDEX_ILLEGAL;
}
Write_Neg_Output(src_app, 1, 3, 0, msg_id, src_port, src_ip);
return EPA_OBJ_UNWRITABLE;
}
return EPA_NO_ERR;
}
void FSAlert_Init(void);
__inline uint8 FSAlert_Read(uint16 idx, uint16 msg_id, uint16 src_app, uint16 src_port, uint32 src_ip) {
OctetString payload;
switch (idx) {
case 0:
h2n16(gfs_alert.obj_id, payload);
payload[2] = gfs_alert.alert_type;
payload[3] = gfs_alert.msg_type;
h2n32(gfs_alert.fail_ip, payload + 4);
payload[8] = gfs_alert.prio;
// h2n32(gfs_alert.stamp, payload + 9); binarydate
Read_Pos_Output(src_app, payload, 17, msg_id, src_port, src_ip);
break;
case 2:
payload[0] = gfs_alert.alert_type;
Read_Pos_Output(src_app, payload, 1, msg_id, src_port, src_ip);
break;
case 3:
payload[0] = gfs_alert.msg_type;
Read_Pos_Output(src_app, payload, 1, msg_id, src_port, src_ip);
break;
case 4:
h2n32(gfs_alert.fail_ip, payload);
Read_Pos_Output(src_app, payload, 4, msg_id, src_port, src_ip);
break;
case 5:
payload[0] = gfs_alert.prio;
Read_Pos_Output(src_app, payload, 4, msg_id, src_port, src_ip);
break;
// case 6:
// h2n16(gfs_alert.stamp, payload);
// Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
// break;
default:
Read_Neg_Output(src_app, 1, 2, 0, msg_id, src_port, src_ip);
return EPA_SUBINDEX_ILLEGAL;
}
return EPA_NO_ERR;
}
__inline uint8 FSAlert_Write(uint16 idx, OctetString payload, uint16 msg_id, uint16 src_app, uint16 src_port, uint32 src_ip) {
switch (idx) {
case 0:
gfs_alert.alert_type = payload[2];
gfs_alert.msg_type = payload[3];
n2h32(payload + 4, &gfs_alert.fail_ip);
gfs_alert.max_rsp_time = payload[8];
// n2h16(payload + 20, &gfs_alert.e_sn); binarydate
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 2:
gfs_alert.alert_type = payload[2];
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 3:
gfs_alert.msg_type = payload[3];
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 4:
n2h32(payload + 4, &gfs_alert.fail_ip);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 5:
gfs_alert.max_rsp_time = payload[8];
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
// case 6:
// n2h32(payload + 16, &gfs_alert.max_rsp_time);
// Write_Pos_Output(src_app, msg_id, src_port, src_ip);
// break;
default:
if(idx > 6) {
Write_Neg_Output(src_app, 1, 2, 0, msg_id, src_port, src_ip);
return EPA_SUBINDEX_ILLEGAL;
}
Write_Neg_Output(src_app, 1, 3, 0, msg_id, src_port, src_ip);
return EPA_OBJ_UNWRITABLE;
}
return EPA_NO_ERR;
}
void FSLinkObj_Init(void);
__inline uint8 FSLinkObj_Read(uint16 id, uint16 idx, uint16 msg_id, uint16 src_app, uint16 src_port, uint32 src_ip) {
OctetString payload;
id = id - FSMIB_BASE_OBJID_LINKOBJ;
if(id >= MIB_NUM_FS_LINKOBJ) {
Read_Neg_Output(src_app, 1, 1, 0, msg_id, src_port, src_ip);
return EPA_OBJID_ILLEGAL;
}
switch(idx){
case 0:
h2n16(gfs_link_obj[id].obj_id, payload);
h2n16(gfs_link_obj[id].local_app_id, payload + 2);
h2n16(gfs_link_obj[id].local_obj_id, payload + 4);
h2n16(gfs_link_obj[id].rmt_app_id, payload + 6);
h2n16(gfs_link_obj[id].rmt_obj_id, payload + 8);
payload[10] = gfs_link_obj[id].srv_op;
payload[11] = gfs_link_obj[id].srv_role;
h2n32(gfs_link_obj[id].rmt_ip, payload + 12);
h2n32(gfs_link_obj[id].send_time_offset, payload + 16);
payload[20] = gfs_link_obj[id].err_cnt_limit;
payload[21] = gfs_link_obj[id].err_cnt;
h2n16(gfs_link_obj[id].e_sn, payload + 22);
h2n16(gfs_link_obj[id].lr_sn, payload + 24);
h2n16(gfs_link_obj[id].tolr_delay, payload + 26);
h2n32(gfs_link_obj[id].r_key, payload + 28);
Read_Pos_Output(src_app, payload, 32, msg_id, src_port, src_ip);
break;
case 2:
h2n16(gfs_link_obj[id].local_app_id, payload);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 3:
h2n16(gfs_link_obj[id].local_obj_id, payload);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 4:
h2n16(gfs_link_obj[id].rmt_app_id, payload);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 5:
h2n16(gfs_link_obj[id].rmt_obj_id, payload);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 6:
payload[0] = gfs_link_obj[id].srv_op;
Read_Pos_Output(src_app, payload, 1, msg_id, src_port, src_ip);
break;
case 7:
payload[0] = gfs_link_obj[id].srv_role;
Read_Pos_Output(src_app, payload, 1, msg_id, src_port, src_ip);
break;
case 8:
h2n32(gfs_link_obj[id].rmt_ip, payload);
Read_Pos_Output(src_app, payload, 4, msg_id, src_port, src_ip);
break;
case 9:
h2n32(gfs_link_obj[id].send_time_offset, payload);
Read_Pos_Output(src_app, payload, 4, msg_id, src_port, src_ip);
break;
case 10:
payload[20] = gfs_link_obj[id].err_cnt_limit;
Read_Pos_Output(src_app, payload, 1, msg_id, src_port, src_ip);
break;
case 11:
payload[21] = gfs_link_obj[id].err_cnt;
Read_Pos_Output(src_app, payload, 1, msg_id, src_port, src_ip);
break;
case 12:
h2n16(gfs_link_obj[id].e_sn, payload + 22);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 13:
h2n16(gfs_link_obj[id].lr_sn, payload + 24);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 14:
h2n16(gfs_link_obj[id].tolr_delay, payload + 26);
Read_Pos_Output(src_app, payload, 2, msg_id, src_port, src_ip);
break;
case 15:
h2n32(gfs_link_obj[id].r_key, payload + 28);
Read_Pos_Output(src_app, payload, 4, msg_id, src_port, src_ip);
break;
default:
Read_Neg_Output(src_app, 1, 2, 0, msg_id, src_port, src_ip);
return EPA_SUBINDEX_ILLEGAL;
}
return EPA_NO_ERR;
}
__inline uint8 FSLinkObj_Write(uint16 id, uint16 idx, OctetString payload, uint16 msg_id, uint16 src_app, uint16 src_port, uint32 src_ip) {
id = id - FSMIB_BASE_OBJID_LINKOBJ;
if(id >= MIB_NUM_FS_LINKOBJ) {
Write_Neg_Output(src_app, 1, 1, 0, msg_id, src_port, src_ip);
return EPA_OBJID_ILLEGAL;
}
switch (idx) {
case 0:
n2h16(payload + 2, &gfs_link_obj[id].local_app_id);
n2h16(payload + 4, &gfs_link_obj[id].local_obj_id);
n2h16(payload + 6, &gfs_link_obj[id].rmt_app_id);
n2h16(payload + 8, &gfs_link_obj[id].rmt_obj_id);
gfs_link_obj[id].srv_op = payload[10];
gfs_link_obj[id].srv_role = payload[11];
n2h32(payload + 12, &gfs_link_obj[id].rmt_ip);
n2h32(payload + 16, &gfs_link_obj[id].send_time_offset);
gfs_link_obj[id].err_cnt_limit = payload[20];
gfs_link_obj[id].err_cnt = payload[21];
n2h16(payload + 22, &gfs_link_obj[id].e_sn);
n2h16(payload + 24, &gfs_link_obj[id].lr_sn);
n2h16(payload + 26, &gfs_link_obj[id].tolr_delay);
n2h32(payload + 28, &gfs_link_obj[id].r_key);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 2:
n2h16(payload, &gfs_link_obj[id].local_app_id);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 3:
n2h16(payload, &gfs_link_obj[id].local_obj_id);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 4:
n2h16(payload, &gfs_link_obj[id].rmt_app_id);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 5:
n2h16(payload, &gfs_link_obj[id].rmt_obj_id);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 6:
gfs_link_obj[id].srv_op = payload[0];
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 7:
gfs_link_obj[id].srv_role = payload[0];
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 8:
n2h32(payload, &gfs_link_obj[id].rmt_ip);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 9:
n2h32(payload, &gfs_link_obj[id].send_time_offset);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 10:
gfs_link_obj[id].err_cnt_limit = payload[20];
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 11:
gfs_link_obj[id].err_cnt = payload[21];
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 12:
n2h16(payload + 22, &gfs_link_obj[id].e_sn);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 13:
n2h16(payload + 24, &gfs_link_obj[id].lr_sn);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 14:
n2h16(payload + 26, &gfs_link_obj[id].tolr_delay);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
case 15:
n2h32(payload + 28, &gfs_link_obj[id].r_key);
Write_Pos_Output(src_app, msg_id, src_port, src_ip);
break;
default:
if (idx > 15) {
Write_Neg_Output(src_app, 1, 2, 0, msg_id, src_port, src_ip);
return EPA_SUBINDEX_ILLEGAL;
}
Write_Neg_Output(src_app, 1, 3, 0, msg_id, src_port, src_ip);
return EPA_OBJ_UNWRITABLE;
}
return EPA_NO_ERR;
}
#endif // _FSMIB_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -