2025-07-30 15:50:16 +08:00
|
|
|
|
from pyutils import *
|
|
|
|
|
|
import time
|
|
|
|
|
|
import random
|
|
|
|
|
|
|
|
|
|
|
|
def tc1():
|
|
|
|
|
|
random.seed(int(time.time() * 1000))
|
|
|
|
|
|
genPkt = GenPkt()
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
|
|
|
|
|
gen_file_def = "error_pkt_tc01"
|
|
|
|
|
|
sm_idx = 0
|
|
|
|
|
|
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \
|
|
|
|
|
|
+ "清除中断后,错误消失,出问题的设备恢复正常。"
|
|
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
|
|
#>>>>>>错误的数据包1
|
|
|
|
|
|
genPkt.clean()
|
|
|
|
|
|
|
2025-08-01 19:14:52 +08:00
|
|
|
|
data = [0x57, 0x17, 0xfd, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40]
|
2025-07-30 15:50:16 +08:00
|
|
|
|
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)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
2025-08-12 17:26:20 +08:00
|
|
|
|
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
2025-08-12 17:26:20 +08:00
|
|
|
|
+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)
|
|
|
|
|
|
)
|
2025-07-30 15:50:16 +08:00
|
|
|
|
|
|
|
|
|
|
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genWriteTransPktCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genTrgTransPktCode(gen_file_def, sm_idx)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
+genReadAckPktCode(gen_file_def, sm_idx)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
|
2025-09-10 23:42:04 +08:00
|
|
|
|
+genMessageCode("--清除主站错误")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x300 + sm_idx * 4, True, 1, [0x1, ], wlog = False)
|
|
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genMessageCode("--读取统计寄存器")
|
2025-08-12 17:26:20 +08:00
|
|
|
|
+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)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--数据包状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
)
|
2025-07-30 15:50:16 +08:00
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
|
|
|
|
|
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)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--读取统计寄存器")
|
2025-08-12 17:26:20 +08:00
|
|
|
|
+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)
|
|
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genMessageCode("--数据包状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
|
2025-08-01 19:14:52 +08:00
|
|
|
|
+genTcEndFrameCode(gen_file_def))
|
|
|
|
|
|
|
|
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
|
|
|
|
|
|
|
2025-07-30 22:59:06 +08:00
|
|
|
|
return gen_file_def
|
|
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
|
|
|
|
|
|
def tc2():
|
|
|
|
|
|
random.seed(int(time.time() * 1000))
|
|
|
|
|
|
genPkt = GenPkt()
|
2025-08-01 17:41:15 +08:00
|
|
|
|
|
2025-08-01 19:14:52 +08:00
|
|
|
|
gen_file_def = "error_pkt_tc02"
|
2025-08-01 17:41:15 +08:00
|
|
|
|
sm_idx = 0
|
2025-08-01 19:14:52 +08:00
|
|
|
|
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \
|
|
|
|
|
|
+ "清除中断后,错误消失,出问题的设备恢复正常。"
|
2025-08-01 17:41:15 +08:00
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
|
|
#>>>>>>错误的数据包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)
|
2025-08-01 17:41:15 +08:00
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
sm_idx = 0
|
2025-09-07 18:44:53 +08:00
|
|
|
|
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
|
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
)
|
2025-07-30 15:50:16 +08:00
|
|
|
|
|
|
|
|
|
|
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genWriteTransPktCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genTrgTransPktCode(gen_file_def, sm_idx)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genReadAckPktCode(gen_file_def, sm_idx)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genMessageCode("--数据包状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
)
|
2025-07-30 15:50:16 +08:00
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
2025-08-01 17:41:15 +08:00
|
|
|
|
|
|
|
|
|
|
genPkt.clean()
|
|
|
|
|
|
|
|
|
|
|
|
gen_file_def_ap = gen_file_def + "_rw"
|
|
|
|
|
|
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)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
2025-08-26 17:35:30 +08:00
|
|
|
|
+"\n#50000\n"
|
|
|
|
|
|
+genMessageCode("--读取中断")
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genIFRwDataCode(0, 0x74, False, 4)
|
2025-08-01 17:41:15 +08:00
|
|
|
|
+genIFRwDataCode(1, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(2, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(3, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(4, 0x74, False, 4)
|
|
|
|
|
|
|
2025-08-26 17:35:30 +08:00
|
|
|
|
+genMessageCode("--清除中断")
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+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])
|
2025-09-10 23:42:04 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--清除主站错误")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x300 + sm_idx * 4, True, 1, [0x1, ], wlog = False)
|
2025-08-01 17:41:15 +08:00
|
|
|
|
|
2025-08-26 17:35:30 +08:00
|
|
|
|
+genMessageCode("--读取中断")
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genIFRwDataCode(0, 0x74, False, 4)
|
2025-08-01 17:41:15 +08:00
|
|
|
|
+genIFRwDataCode(1, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(2, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(3, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(4, 0x74, False, 4)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genMessageCode("--数据包状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-01 17:41:15 +08:00
|
|
|
|
+genTcEndFrameCode(gen_file_def))
|
|
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
|
|
|
|
|
|
|
2025-07-30 22:59:06 +08:00
|
|
|
|
return gen_file_def
|
|
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
|
|
|
|
|
|
def tc3():
|
|
|
|
|
|
random.seed(int(time.time() * 1000))
|
2025-08-02 15:59:42 +08:00
|
|
|
|
|
|
|
|
|
|
gen_file_def = "error_pkt_tc03"
|
|
|
|
|
|
sm_idx = 0
|
|
|
|
|
|
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \
|
|
|
|
|
|
+ "清除中断后,错误消失,出问题的设备恢复正常。"
|
|
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
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
|
|
|
|
|
|
|
2025-09-07 18:44:53 +08:00
|
|
|
|
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
|
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
)
|
2025-08-02 15:59:42 +08:00
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genWriteTransPktCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genTrgTransPktCode(gen_file_def, sm_idx)
|
2025-08-02 15:59:42 +08:00
|
|
|
|
+genReadAckPktCode(gen_file_def, sm_idx)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--数据包状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
|
2025-08-26 17:35:30 +08:00
|
|
|
|
+"\n#50000\n"
|
|
|
|
|
|
+genMessageCode("--读取中断")
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+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)
|
|
|
|
|
|
|
2025-08-26 17:35:30 +08:00
|
|
|
|
+genMessageCode("--清除中断")
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+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])
|
2025-09-10 23:42:04 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--清除主站错误")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x300 + sm_idx * 4, True, 1, [0x1, ], wlog = False)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
2025-08-26 17:35:30 +08:00
|
|
|
|
+genMessageCode("--读取中断")
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+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)
|
|
|
|
|
|
|
2025-08-02 15:59:42 +08:00
|
|
|
|
+genTcEndFrameCode(gen_file_def))
|
2025-07-30 15:50:16 +08:00
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
2025-07-30 22:59:06 +08:00
|
|
|
|
return gen_file_def
|
|
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
|
|
|
|
|
|
def tc4():
|
|
|
|
|
|
genPkt = GenPkt()
|
|
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
|
|
#>>>>>>错误的嗅探数据包
|
2025-08-01 19:14:52 +08:00
|
|
|
|
gen_file_def = "error_pkt_tc04"
|
|
|
|
|
|
sm_idx = 0
|
|
|
|
|
|
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \
|
|
|
|
|
|
+ "清除中断后,错误消失,出问题的设备恢复正常。"
|
2025-07-30 15:50:16 +08:00
|
|
|
|
|
|
|
|
|
|
genPkt.clean()
|
|
|
|
|
|
genPkt.setPkt(2, [0, 0, 0, 0])
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
sm_idx = 0
|
|
|
|
|
|
|
2025-09-07 18:44:53 +08:00
|
|
|
|
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
|
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
2025-07-30 15:50:16 +08:00
|
|
|
|
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genWriteTransPktCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genTrgTransPktCode(gen_file_def, sm_idx)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+genReadAckPktCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
2025-09-10 23:42:04 +08:00
|
|
|
|
+genMessageCode("--清除主站错误")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x300 + sm_idx * 4, True, 1, [0x1, ], wlog = False)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
2025-07-30 22:59:06 +08:00
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
|
|
|
|
|
genPkt.clean()
|
|
|
|
|
|
|
|
|
|
|
|
gen_file_def_ap = gen_file_def + "_rw"
|
|
|
|
|
|
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)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+genMessageCode("--读取中断")
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genIFRwDataCode(0, 0x74, False, 4)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
+genIFRwDataCode(1, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(2, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(3, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(4, 0x74, False, 4)
|
|
|
|
|
|
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+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])
|
2025-08-01 19:14:52 +08:00
|
|
|
|
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+genMessageCode("--读取中断")
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genIFRwDataCode(0, 0x74, False, 4)
|
2025-08-01 19:14:52 +08:00
|
|
|
|
+genIFRwDataCode(1, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(2, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(3, 0x74, False, 4)
|
|
|
|
|
|
+genIFRwDataCode(4, 0x74, False, 4)
|
|
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--数据包状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
|
|
|
|
|
|
+genIFRwDataCode(0, 0x22, False, 2)
|
|
|
|
|
|
|
2025-08-01 19:14:52 +08:00
|
|
|
|
+genTcEndFrameCode(gen_file_def))
|
|
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
|
|
|
|
|
|
|
2025-07-30 22:59:06 +08:00
|
|
|
|
return gen_file_def
|
2025-08-19 13:23:28 +08:00
|
|
|
|
|
|
|
|
|
|
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))
|
|
|
|
|
|
'''
|
|
|
|
|
|
|
2025-08-25 00:32:52 +08:00
|
|
|
|
data = data + [0x1a, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x40]
|
2025-08-19 13:23:28 +08:00
|
|
|
|
for i in range(64):
|
|
|
|
|
|
data.append(random.randint(0, 255))
|
2025-08-25 00:32:52 +08:00
|
|
|
|
data = data + [0, 0, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x50]
|
2025-08-19 13:23:28 +08:00
|
|
|
|
for i in range(64):
|
|
|
|
|
|
data.append(random.randint(0, 255))
|
|
|
|
|
|
data = data + [0, 0]
|
|
|
|
|
|
|
|
|
|
|
|
genPkt.setPkt(2, data)
|
|
|
|
|
|
|
|
|
|
|
|
sm_idx = 0
|
2025-08-19 17:37:05 +08:00
|
|
|
|
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genMessageCode("--读取统计寄存器")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x80, False, 24)
|
|
|
|
|
|
+genIFRwDataCode(0, 0xa0, False, 24))
|
2025-08-19 13:23:28 +08:00
|
|
|
|
|
|
|
|
|
|
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genWriteTransPktCode(gen_file_def, sm_idx)
|
|
|
|
|
|
+genTrgTransPktCode(gen_file_def, sm_idx)
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+genReadAckPktCode(gen_file_def, sm_idx)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
|
2025-09-10 23:42:04 +08:00
|
|
|
|
+genMessageCode("--清除主站错误")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x300 + sm_idx * 4, True, 1, [0x1, ], wlog = False)
|
|
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
|
|
|
|
|
|
+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))
|
2025-08-19 13:23:28 +08:00
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
|
|
|
|
|
|
|
|
|
|
|
genPkt.clean()
|
|
|
|
|
|
|
2025-08-25 00:32:52 +08:00
|
|
|
|
gen_file_def_ap = gen_file_def + "_rw01"
|
2025-08-19 13:23:28 +08:00
|
|
|
|
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)
|
|
|
|
|
|
|
2025-08-19 17:37:05 +08:00
|
|
|
|
+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)
|
|
|
|
|
|
|
2025-08-19 13:23:28 +08:00
|
|
|
|
+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)
|
2025-08-25 00:32:52 +08:00
|
|
|
|
)
|
|
|
|
|
|
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)
|
2025-08-19 13:23:28 +08:00
|
|
|
|
|
|
|
|
|
|
+genTcEndFrameCode(gen_file_def))
|
|
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
|
|
|
|
|
|
|
2025-08-25 00:32:52 +08:00
|
|
|
|
|
2025-08-19 13:23:28 +08:00
|
|
|
|
return gen_file_def
|
|
|
|
|
|
|
2025-08-25 00:32:52 +08:00
|
|
|
|
|
|
|
|
|
|
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)
|
2025-09-07 18:44:53 +08:00
|
|
|
|
+genMessageCode("--清除中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
2025-08-25 00:32:52 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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])
|
2025-09-10 23:42:04 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--清除主站错误")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x300 + sm_idx * 4, True, 1, [0x1, ], wlog = False)
|
2025-08-25 00:32:52 +08:00
|
|
|
|
|
|
|
|
|
|
+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
|
2025-09-04 06:50:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def mk_subpkt(dev, type, addr, cmd, len, dat):
|
|
|
|
|
|
ret_dat = list()
|
|
|
|
|
|
|
|
|
|
|
|
temp = ((dev & 0x3fff) << 2) | (type & 0x3)
|
|
|
|
|
|
ret_dat = ret_dat + [(temp >> 8) & 0xff, temp & 0xff, (addr >> 8) & 0xff, addr & 0xff]
|
|
|
|
|
|
|
|
|
|
|
|
temp = ((cmd & 0xf) << 12) | (len & 0xfff)
|
|
|
|
|
|
ret_dat = ret_dat + [(temp >>8) & 0xff, temp & 0xff]
|
|
|
|
|
|
|
|
|
|
|
|
ret_dat = ret_dat + dat + [0, 0]
|
|
|
|
|
|
|
|
|
|
|
|
return ret_dat
|
|
|
|
|
|
|
|
|
|
|
|
def sm_wr_err_test(tc_id, sm_id, pre_g_pkt = 1, good_pkt_in_bad = 1, after_g_pkt = 1, data_size = 0x10, dev = 1, cmd = 0x1):
|
|
|
|
|
|
random.seed(int(time.time() * 1000))
|
|
|
|
|
|
genPkt = GenPkt()
|
|
|
|
|
|
|
|
|
|
|
|
gen_file_def = "error_pkt_tc%02d"%(tc_id, )
|
|
|
|
|
|
sm_idx = 0
|
|
|
|
|
|
tc_des = (f"测试SM{sm_id},先写入正确的数据包,包含{pre_g_pkt}个操作SM{sm_id}的子包,然后写入错误的数据包,其中包含正确的操作SM{sm_id}的数据子包有{good_pkt_in_bad}个,\\n"
|
|
|
|
|
|
f"然后再发送正确的数据包,其中包含{after_g_pkt}个操作SM{sm_id}的子包。然后检查SM{sm_id}的状态以及数据。\\n"
|
|
|
|
|
|
f"所有数据包的长度都是{data_size}字节,设备{dev}, 命令{cmd}。没有比对数据,需要手动检查。"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
genPkt.clean()
|
|
|
|
|
|
genPkt.addSubPkt(0x0, 0x0, 0x302 + 4 * sm_id, 0xe, 2, [(data_size & 0xff), ((data_size >> 8)&0xff)])
|
|
|
|
|
|
for pkt_num in range(pre_g_pkt):
|
|
|
|
|
|
genPkt.addSubPkt(dev, 0x0, 0x800 + 0x800 * sm_id, cmd, data_size, [((i * (pkt_num + 1)) & 0xff) for i in range(data_size)])
|
|
|
|
|
|
|
|
|
|
|
|
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
|
|
|
|
|
+genMessageCode("--清除主中断")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--MB状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
)
|
|
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
|
|
|
|
|
|
|
|
|
|
|
genPkt.clean()
|
|
|
|
|
|
|
|
|
|
|
|
temp = ((data_size * 6) & 0xfff) << 4
|
|
|
|
|
|
data = [(temp >> 8)&0xff, temp & 0xff, 0, 0]
|
|
|
|
|
|
|
|
|
|
|
|
for i in range(good_pkt_in_bad):
|
|
|
|
|
|
data = data + mk_subpkt(dev, 0, 0x800 + 0x800 * sm_id, cmd, data_size, [((j * (i + 1) + 1) & 0xff) for j in range(data_size)])
|
|
|
|
|
|
|
|
|
|
|
|
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])
|
2025-09-10 23:42:04 +08:00
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--清除主站错误")
|
|
|
|
|
|
+genIFRwDataCode(0, 0x300 + sm_idx * 4, True, 1, [0x1, ], wlog = False)
|
2025-09-04 06:50:15 +08:00
|
|
|
|
|
|
|
|
|
|
+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("--MB状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
)
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
genPkt.addSubPkt(0, 0, 0, 0, 8, [0, ] * 8)
|
|
|
|
|
|
|
|
|
|
|
|
for pkt_num in range(after_g_pkt):
|
|
|
|
|
|
genPkt.addSubPkt(dev, 0x0, 0x800 + 0x800 * sm_id, cmd, data_size, [((i * (pkt_num + 1) - 1) & 0xff) for i in range(data_size)])
|
|
|
|
|
|
|
|
|
|
|
|
if sm_id < 4:
|
|
|
|
|
|
code_str = (genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)
|
|
|
|
|
|
+genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)
|
|
|
|
|
|
+genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)
|
|
|
|
|
|
+genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size))
|
|
|
|
|
|
else:
|
|
|
|
|
|
code_str = (genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)
|
|
|
|
|
|
+genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size))
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--MB状态寄存器")
|
|
|
|
|
|
+genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
+genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1)
|
|
|
|
|
|
|
|
|
|
|
|
+genMessageCode("--读取MB数据")
|
|
|
|
|
|
+code_str
|
|
|
|
|
|
|
|
|
|
|
|
#+genMessageCode("--复位MB状态")
|
|
|
|
|
|
#+genIFRwDataCode(1, 0x300 + sm_id * 0x4, True, 1, [0, ])
|
|
|
|
|
|
#+genIFRwDataCode(2, 0x300 + sm_id * 0x4, True, 1, [0, ])
|
|
|
|
|
|
#+genIFRwDataCode(3, 0x300 + sm_id * 0x4, True, 1, [0, ])
|
|
|
|
|
|
#+genIFRwDataCode(4, 0x300 + sm_id * 0x4, True, 1, [0, ])
|
|
|
|
|
|
|
|
|
|
|
|
+genTcEndFrameCode(gen_file_def))
|
|
|
|
|
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
|
|
|
|
|
|
|
|
|
|
|
|
return gen_file_def
|
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
|
测试SM0
|
|
|
|
|
|
'''
|
|
|
|
|
|
def tc7():
|
|
|
|
|
|
return sm_wr_err_test(7, 0, 1, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc8():
|
|
|
|
|
|
return sm_wr_err_test(8, 0, 2, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc9():
|
|
|
|
|
|
return sm_wr_err_test(9, 0, 4, 2, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc10():
|
|
|
|
|
|
return sm_wr_err_test(10, 0, 0, 5, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc11():
|
|
|
|
|
|
return sm_wr_err_test(11, 0, 0, 5, 3, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc12():
|
|
|
|
|
|
return sm_wr_err_test(12, 0, 1, 1, 4, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc13():
|
|
|
|
|
|
return sm_wr_err_test(13, 0, 0, 5, 0, 128)
|
|
|
|
|
|
|
|
|
|
|
|
def tc14():
|
|
|
|
|
|
return sm_wr_err_test(14, 0, 4, 5, 4, 128)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
|
测试SM2
|
|
|
|
|
|
'''
|
|
|
|
|
|
def tc15():
|
|
|
|
|
|
return sm_wr_err_test(15, 2, 1, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc16():
|
|
|
|
|
|
return sm_wr_err_test(16, 2, 2, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc17():
|
|
|
|
|
|
return sm_wr_err_test(17, 2, 4, 2, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc18():
|
|
|
|
|
|
return sm_wr_err_test(18, 2, 0, 5, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc19():
|
|
|
|
|
|
return sm_wr_err_test(19, 2, 0, 5, 3, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc20():
|
|
|
|
|
|
return sm_wr_err_test(20, 2, 1, 1, 4, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc21():
|
|
|
|
|
|
return sm_wr_err_test(21, 2, 0, 5, 0, 128)
|
|
|
|
|
|
|
|
|
|
|
|
def tc22():
|
|
|
|
|
|
return sm_wr_err_test(22, 2, 4, 5, 4, 128)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
|
测试SM4
|
|
|
|
|
|
'''
|
|
|
|
|
|
def tc23():
|
|
|
|
|
|
return sm_wr_err_test(23, 4, 1, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc24():
|
|
|
|
|
|
return sm_wr_err_test(24, 4, 2, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc25():
|
|
|
|
|
|
return sm_wr_err_test(25, 4, 4, 2, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc26():
|
|
|
|
|
|
return sm_wr_err_test(26, 4, 0, 5, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc27():
|
|
|
|
|
|
return sm_wr_err_test(27, 4, 0, 5, 3, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc28():
|
|
|
|
|
|
return sm_wr_err_test(28, 4, 1, 1, 4, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc29():
|
|
|
|
|
|
return sm_wr_err_test(29, 4, 0, 5, 0, 128)
|
|
|
|
|
|
|
|
|
|
|
|
def tc30():
|
|
|
|
|
|
return sm_wr_err_test(30, 4, 4, 5, 4, 128)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
|
测试SM6
|
|
|
|
|
|
'''
|
|
|
|
|
|
def tc31():
|
|
|
|
|
|
return sm_wr_err_test(31, 6, 1, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc32():
|
|
|
|
|
|
return sm_wr_err_test(32, 6, 2, 2, 1, 32)
|
|
|
|
|
|
|
|
|
|
|
|
def tc33():
|
|
|
|
|
|
return sm_wr_err_test(33, 6, 4, 2, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc34():
|
|
|
|
|
|
return sm_wr_err_test(34, 6, 0, 5, 1, 16)
|
|
|
|
|
|
|
|
|
|
|
|
def tc35():
|
|
|
|
|
|
return sm_wr_err_test(35, 6, 0, 5, 3, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc36():
|
|
|
|
|
|
return sm_wr_err_test(36, 6, 1, 1, 4, 64)
|
|
|
|
|
|
|
|
|
|
|
|
def tc37():
|
|
|
|
|
|
return sm_wr_err_test(37, 6, 0, 5, 0, 128)
|
|
|
|
|
|
|
|
|
|
|
|
def tc38():
|
|
|
|
|
|
return sm_wr_err_test(38, 6, 4, 5, 4, 128)
|
|
|
|
|
|
|