from pyutils import * import time import random def tc1(): random.seed(int(time.time() * 1000)) genPkt = GenPkt() gen_file_def = "error_pkt_tc01" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" #------------------------------------------------------------------------- #>>>>>>错误的数据包1 genPkt.clean() data = [0x57, 0x17, 0xfd, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40] for i in range(64): data.append(random.randint(0, 255)) data = data + [0, 0, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x40] for i in range(64): data.append(random.randint(0, 255)) data = data + [0, 0] genPkt.setPkt(2, data) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) +genIFRwDataCode(2, 0x80, False, 24) +genIFRwDataCode(3, 0x80, False, 24) +genIFRwDataCode(4, 0x80, False, 24) ) 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, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) +genIFRwDataCode(2, 0x80, False, 24) +genIFRwDataCode(3, 0x80, False, 24) +genIFRwDataCode(4, 0x80, False, 24) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.clean() gen_file_def_ap = gen_file_def + "_rw" sm_idx = 0 data = [0, ] * 32 genPkt.addSubPkt(0, 0, 0, 0xd, 32, data) clear_int = [0xff, 0xff, 0xff, 0xff] genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) +genIFRwDataCode(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) +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(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) +genIFRwDataCode(2, 0x80, False, 24) +genIFRwDataCode(3, 0x80, False, 24) +genIFRwDataCode(4, 0x80, False, 24) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) return gen_file_def def tc2(): random.seed(int(time.time() * 1000)) genPkt = GenPkt() gen_file_def = "error_pkt_tc02" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" #------------------------------------------------------------------------- #>>>>>>错误的数据包2 genPkt.clean() data = list() ''' for i in range(128): data.append(random.randint(0, 255)) ''' data = data + [0xb2, 0x4e, 0xd3, 0xe2, 0xa8, 0xd3, 0x86, 0x01, 0x44, 0x3f] for i in range(64): data.append(random.randint(0, 255)) data = data + [0, 0, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x40] for i in range(64): data.append(random.randint(0, 255)) data = data + [0, 0] genPkt.setPkt(2, 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) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.clean() gen_file_def_ap = gen_file_def + "_rw" sm_idx = 0 data = [0,] * 32 genPkt.addSubPkt(0, 0, 0, 0xd, 32, data) clear_int = [0xff, 0xff, 0xff, 0xff] genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) +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) +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, 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, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) return gen_file_def def tc3(): random.seed(int(time.time() * 1000)) gen_file_def = "error_pkt_tc03" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" genPkt = GenPkt() #------------------------------------------------------------------------- #>>>>>>错误的数据包3 genPkt.clean() data = list() for i in range(1024): data.append(random.randint(0, 255)) genPkt.setPkt(2, 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) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +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) +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]) +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) return gen_file_def def tc4(): genPkt = GenPkt() #------------------------------------------------------------------------- #>>>>>>错误的嗅探数据包 gen_file_def = "error_pkt_tc04" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" genPkt.clean() genPkt.setPkt(2, [0, 0, 0, 0]) 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)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.clean() gen_file_def_ap = gen_file_def + "_rw" sm_idx = 0 data = [0,] * 32 genPkt.addSubPkt(0, 0, 0, 0xd, 32, data) clear_int = [0xff, 0xff, 0xff, 0xff] genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) +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) +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, 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, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) return gen_file_def def tc5(): random.seed(int(time.time() * 1000)) genPkt = GenPkt() gen_file_def = "error_pkt_tc05" sm_idx = 0 tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ + "清除中断后,错误消失,出问题的设备恢复正常。" #------------------------------------------------------------------------- #>>>>>>错误的数据包2 genPkt.clean() data = list() ''' for i in range(128): data.append(random.randint(0, 255)) ''' data = data + [0x1a, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x40] for i in range(64): data.append(random.randint(0, 255)) data = data + [0, 0, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x50] for i in range(64): data.append(random.randint(0, 255)) data = data + [0, 0] genPkt.setPkt(2, data) sm_idx = 0 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24)) 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, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.clean() gen_file_def_ap = gen_file_def + "_rw01" sm_idx = 0 data = [0,] * 32 genPkt.addSubPkt(0, 0, 0, 0xd, 32, data) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +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) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) genPkt.clean() gen_file_def_ap = gen_file_def + "_rw02" sm_idx = 0 data = [0,] * 32 genPkt.addSubPkt(0, 0, 0, 0xd, 32, data) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +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) +genIFRwDataCode(0, 0x7c, False, 2) +genIFRwDataCode(1, 0x7c, False, 2) +genIFRwDataCode(2, 0x7c, False, 2) +genIFRwDataCode(3, 0x7c, False, 2) +genIFRwDataCode(4, 0x7c, False, 2) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) return gen_file_def def tc6(): random.seed(int(time.time() * 1000)) genPkt = GenPkt() gen_file_def = "error_pkt_tc06" sm_idx = 0 tc_des = ("发送错误的数据包,导致设备出问题。出问题后,恢复错误,其中误操作的寄存器全部恢复正常。\\n" "清除错误后,数据应该恢复正常。" ) genPkt.clean() genPkt.addSubPkt(0x0, 0x0, 0x302, 0xe, 2, [0x20, 0x00]) 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) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.clean() data = list() ''' 00 04 03 02 20 02 // type: 0 dev: 1 addr:0x0302 cmd:0x2 len: 2 {{ 20 00 }} 00 02 00 00 03 0a e0 02 // type: 0 dev: 0 addr:0x030a cmd:0xe len: 2 {{ 20 00 }} 00 04 ''' data = data + [0x1a, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x40] for i in range(64): data.append(random.randint(0, 255)) data = data + [0x00, 0x00] data = data + [0x00, 0x00, 0x03, 0x02, 0xe0, 0x02, 0x40, 0x01, 0x00, 0x00] #data = data + [0x00, 0x0c, 0x00, 0xc0, 0x00, 0x80] for i in range(128): data.append(random.randint(0, 255)) data = data + [0, 0] genPkt.setPkt(2, data) sm_idx = 0 genPkt.addBeforeExc(genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) +genIFRwDataCode(1, 0xa0, False, 24) ) gen_file_def_ap = gen_file_def + "_rw01" genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) +genIFRwDataCode(1, 0xa0, False, 24) +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) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) genPkt.clean() gen_file_def_ap = gen_file_def + "_rw02" sm_idx = 0 data = [0,] * 32 genPkt.addSubPkt(1, 0, 0x302, 0x0, 2, data) genPkt.addSubPkt(2, 0, 0x302, 0x0, 2, data) genPkt.addSubPkt(3, 0, 0x302, 0x0, 2, data) genPkt.addSubPkt(4, 0, 0x302, 0x0, 2, data) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) +genIFRwDataCode(0, 0x22, False, 2) #+genMessageCode("--读取统计寄存器") #+genIFRwDataCode(0, 0x80, False, 24) #+genIFRwDataCode(0, 0xa0, False, 24) +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, True, gen_file_def_ap) return gen_file_def