diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index b56d9b3..cac031b 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -12,7 +12,7 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc4()) - add_tc_2_runlist(base.tc1()) + #add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) #add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) @@ -25,9 +25,9 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc11()) - #add_tc_2_runlist(broadcast.tc1()) - #add_tc_2_runlist(broadcast.tc2()) - #add_tc_2_runlist(broadcast.tc3()) + add_tc_2_runlist(broadcast.tc1()) + add_tc_2_runlist(broadcast.tc2()) + add_tc_2_runlist(broadcast.tc3()) add_tc_2_runlist(sync.tc1()) add_tc_2_runlist(sync.tc2()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 1f372d4..d9d05ca 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -24,7 +24,6 @@ def tc1(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) - clear_int = [0xff, 0xff, 0xff, 0xff] genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) @@ -38,11 +37,11 @@ def tc1(): +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") - +genIFRwDataCode(0, 0x78, True, 4, clear_int) - +genIFRwDataCode(1, 0x78, True, 4, clear_int) - +genIFRwDataCode(2, 0x78, True, 4, clear_int) - +genIFRwDataCode(3, 0x78, True, 4, clear_int) - +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) @@ -79,8 +78,6 @@ def tc2(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) - clear_int = [0xff, 0xff, 0xff, 0xff] - genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) @@ -94,11 +91,11 @@ def tc2(): +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") - +genIFRwDataCode(0, 0x78, True, 4, clear_int) - +genIFRwDataCode(1, 0x78, True, 4, clear_int) - +genIFRwDataCode(2, 0x78, True, 4, clear_int) - +genIFRwDataCode(3, 0x78, True, 4, clear_int) - +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) @@ -142,8 +139,6 @@ def tc3(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) - clear_int = [0xff, 0xff, 0xff, 0xff] - genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) @@ -163,11 +158,11 @@ def tc3(): +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") - +genIFRwDataCode(0, 0x78, True, 4, clear_int) - +genIFRwDataCode(1, 0x78, True, 4, clear_int) - +genIFRwDataCode(2, 0x78, True, 4, clear_int) - +genIFRwDataCode(3, 0x78, True, 4, clear_int) - +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) @@ -207,8 +202,6 @@ def tc4(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) - clear_int = [0xff, 0xff, 0xff, 0xff] - genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) @@ -222,11 +215,11 @@ def tc4(): +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") - +genIFRwDataCode(0, 0x78, True, 4, clear_int) - +genIFRwDataCode(1, 0x78, True, 4, clear_int) - +genIFRwDataCode(2, 0x78, True, 4, clear_int) - +genIFRwDataCode(3, 0x78, True, 4, clear_int) - +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) diff --git a/tb/shinTest/testcase/broadcast.py b/tb/shinTest/testcase/broadcast.py index d862db2..6cfcc15 100644 --- a/tb/shinTest/testcase/broadcast.py +++ b/tb/shinTest/testcase/broadcast.py @@ -7,8 +7,7 @@ def tc1(): gen_file_def = "broadcast_tc01" sm_idx = 0 - tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ - + "清除中断后,错误消失,出问题的设备恢复正常。" + tc_des = "发送广播数据包,广播读取,广播读回的数据是四个从站对应寄存器位与的结果。" #------------------------------------------------------------------------- #>>>>>>广播读 @@ -21,10 +20,10 @@ def tc1(): genPkt.addSubPkt(0x2, 0, 0xc0, 0x0, 4, b"\0"*4) genPkt.addSubPkt(0x3, 0, 0xc0, 0x0, 4, b"\0"*4) genPkt.addSubPkt(0x4, 0, 0xc0, 0x0, 4, b"\0"*4) - genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) - genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) - genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) - genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) + genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4) + genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4) + genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4) + genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4) #gen_file_def = "bc_r_pkt" @@ -36,6 +35,28 @@ def tc1(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -48,24 +69,24 @@ def tc2(): gen_file_def = "broadcast_tc02" sm_idx = 0 - tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ - + "清除中断后,错误消失,出问题的设备恢复正常。" + tc_des = "广播写入,写入SM0,32个字符长度的数据。" #------------------------------------------------------------------------- #>>>>>>广播写 genPkt.clean() genPkt.setPktType(0) + sm_size = 32 #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = bytearray(b"\0" * 2) - data[0] = 32 - data[1] = 0 - genPkt.addSubPkt(random.randint(0, 2048), 0, 0x0302, 0xe, 2, data) + data[0] = sm_size & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(2000, 0, 0x0302, 0xe, 2, data) - data = bytearray(b"\0"*100) - for i in range(100): + data = bytearray(b"\0"*sm_size) + for i in range(sm_size): data[i] = i + 1 - genPkt.addSubPkt(random.randint(0, 2048), 0, 0x0800, 0xe, 32, data) + genPkt.addSubPkt(2000, 0, 0x0800, 0xe, sm_size, data) sm_idx = 0 @@ -75,6 +96,39 @@ def tc2(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取SM的状态") + +genIFRwDataCode(1, 0x300, False, 0x20) + +genIFRwDataCode(2, 0x300, False, 0x20) + +genIFRwDataCode(3, 0x300, False, 0x20) + +genIFRwDataCode(4, 0x300, False, 0x20) + + +genSlvSMReadData(1, 0, sm_size) + +genSlvSMReadData(2, 0, sm_size) + +genSlvSMReadData(3, 0, sm_size) + +genSlvSMReadData(4, 0, sm_size) + +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -87,8 +141,7 @@ def tc3(): gen_file_def = "broadcast_tc03" sm_idx = 0 - tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ - + "清除中断后,错误消失,出问题的设备恢复正常。" + tc_des = "广播读写,读写0xc0开始的链路寄存器组。所有从站设备采用位与策略往报文中输入。" #------------------------------------------------------------------------- #>>>>>>广播读写 @@ -97,9 +150,7 @@ def tc3(): #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = bytearray(b"\0"*100) - for i in range(4): - data[i] = i + 1 - genPkt.addSubPkt(random.randint(0, 2048), 0, 0x00c0, 0xf, 4, data) + genPkt.addSubPkt(1024, 0, 0x00c0, 0xf, 4, data) sm_idx = 0 @@ -109,6 +160,28 @@ def tc3(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 4d16a60..800e592 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -6,8 +6,9 @@ def tc1(): gen_file_def = "sync_tc01" sm_idx = 0 - tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ - + "清除中断后,错误消失,出问题的设备恢复正常。" + tc_des = "发送时钟信息,完成后,从站的系统时间与主站时间完全同步。主站发送\\n" \ + + "自己的时钟和系统延迟,从站利用该信息进行校准自己的时钟。需要在波形软件里确认。\\n" \ + + "仅看通讯数据无法确定系统功能正常。" #------------------------------------------------------------------------- #>>>>>>同步数据包 @@ -40,8 +41,8 @@ def tc2(): gen_file_def = "sync_tc02" sm_idx = 0 - tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ - + "清除中断后,错误消失,出问题的设备恢复正常。" + tc_des = "配置Sync信号为电平触发,设置SYNC的同步周期,SYNC1、SYNC3的偏移\\n" \ + + "SYNC触发后,需要手动清除SYNC信号。" #------------------------------------------------------------------------- #>>>>>>设置同步信号的数据包,在波形中确认定时的有效性 @@ -69,10 +70,15 @@ def tc2(): data[24] = 0x00 #地址0x138, sync周期 4B data[25] = 0x10 #地址0x139 + #28, 29, 30, 31 data[28] = 0x81 #sync1偏移 data[29] = 0x0 + - data[36] = 0x20#sync3偏移 + #32,33,34,35 #sync2偏移 + + #36,37,38,39 + data[36] = 0x20 #sync3偏移 data[37] = 0x00 genPkt.addSubPkt(0, 0, 0x120, 0xe, 0x28, data)