from pyutils import * def tc1(): genPkt = GenPkt() gen_file_def = "broadcast_tc01" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" #------------------------------------------------------------------------- #>>>>>>广播读 genPkt.clean() genPkt.setPktType(0) #subPkt参数:索引、索引类型、地址、命令、长度、数据 genPkt.addSubPkt(0x0, 0, 0xc0, 0xd, 4, b"\0"*4) genPkt.addSubPkt(0x1, 0, 0xc0, 0x0, 4, b"\0"*4) 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) #gen_file_def = "bc_r_pkt" 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) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def def tc2(): genPkt = GenPkt() gen_file_def = "broadcast_tc02" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" #------------------------------------------------------------------------- #>>>>>>广播写 genPkt.clean() genPkt.setPktType(0) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = bytearray(b"\0" * 2) data[0] = 32 data[1] = 0 genPkt.addSubPkt(random.randint(0, 2048), 0, 0x0302, 0xe, 2, data) data = bytearray(b"\0"*100) for i in range(100): data[i] = i + 1 genPkt.addSubPkt(random.randint(0, 2048), 0, 0x0800, 0xe, 32, data) 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) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def def tc3(): genPkt = GenPkt() gen_file_def = "broadcast_tc03" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" #------------------------------------------------------------------------- #>>>>>>广播读写 genPkt.clean() genPkt.setPktType(0) #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) 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) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def