diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index e38ae93..9b5e989 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -26,6 +26,8 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc12()) #add_tc_2_runlist(base.tc13()) #add_tc_2_runlist(base.tc14()) + add_tc_2_runlist(base.tc15()) + #add_tc_2_runlist(broadcast.tc1()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index ba396ba..bd5a07e 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1126,4 +1126,90 @@ def tc14(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) - return gen_file_def \ No newline at end of file + return gen_file_def + + +def tc15(): + genPkt = GenPkt() + + gen_file_def = "base_tc15" + sm_idx = 0 + tc_des = "读写SM缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \ + + "检查是否真的写入,子报文的状态。" + + #------------------------------------------------------------------------- + #>>>>>>普通数据包3 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0, 0, 0x0302, 0xe, 2, [32, 0]) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(0, 32))) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(32, 64))) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(64, 96))) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(96, 128))) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(128, 160))) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(160, 192))) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(192, 224))) + genPkt.addSubPkt(0, 0, 0x0800, 0xe, 32, list(range(224, 256))) + + sm_idx = 0 + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +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) + + +genSlvSMReadData(1, 0, 32) + +genSlvSMReadData(2, 0, 32) + +genSlvSMReadData(3, 0, 32) + +genSlvSMReadData(4, 0, 32) + + +genSlvSMReadData(1, 0, 32) + +genSlvSMReadData(2, 0, 32) + +genSlvSMReadData(3, 0, 32) + +genSlvSMReadData(4, 0, 32) + + +genSlvSMReadData(1, 0, 32) + +genSlvSMReadData(2, 0, 32) + +genSlvSMReadData(3, 0, 32) + +genSlvSMReadData(4, 0, 32) + + +genSlvSMReadData(1, 0, 32) + +genSlvSMReadData(2, 0, 32) + +genSlvSMReadData(3, 0, 32) + +genSlvSMReadData(4, 0, 32) + + +genSlvSMReadData(1, 0, 32) + +genSlvSMReadData(2, 0, 32) + +genSlvSMReadData(3, 0, 32) + +genSlvSMReadData(4, 0, 32) + + +genTcEndFrameCode(gen_file_def)) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + return gen_file_def