增加新的测试用例,测试sync寄存器组的时间读取,以免发生进位错误

This commit is contained in:
2025-08-26 17:35:30 +08:00
parent f8065c79c9
commit 1fe1959f8c
7 changed files with 135 additions and 32 deletions

View File

@@ -483,15 +483,23 @@ def tc8():
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
+genIFRwDataCode(0, 0x78, False, 4)
+genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+"\n#5000\n"
+genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1)
+genIFRwDataCode(2, 0x09, True, 1, [0, ], False, iface=1)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(0, 0x40, False, 4)
+genIFRwDataCode(2, 0x40, False, 4)
+genMessageCode("--读取中断使能")
+genIFRwDataCode(0, 0x70, False, 4)
+genIFRwDataCode(2, 0x70, False, 4)
+genMessageCode("--配置主从站")
+genIFRwDataCode(0, 0x00, True, 1, main_dev)
+genIFRwDataCode(2, 0x00, True, 1, slave_dev)
)
@@ -515,6 +523,10 @@ def tc8():
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--配置中断模式")
+genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81])
+genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81])
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
@@ -1721,3 +1733,85 @@ def tc25():
return gen_file_def
def tc26():
genPkt = GenPkt()
gen_file_def = "base_tc26"
sm_idx = 0
tc_des = "读取内部的时钟,看看是否有进位问题,导致读取的错误或不可靠。\\n"
#-------------------------------------------------------------------------
#>>>>>>普通数据包 sm12个读
genPkt.clean()
genPkt.setPktType(0)
#subPkt参数索引、索引类型、地址、命令、长度、数据
genPkt.addSubPkt(0x00, 0, 0x00, 0xc, 12, [0, ] * 12)
sm_idx = 1
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
+genEnableInsertTimeCode(0xa))
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)
+genIFRwDataCode(2, 0x800, False, 0x10)
+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("--读取时间1")
+genIFRwDataCode(0, 0x100, False, 32)
+genIFRwDataCode(1, 0x100, False, 32)
+genIFRwDataCode(2, 0x100, False, 32)
+genIFRwDataCode(3, 0x100, False, 32)
+genIFRwDataCode(4, 0x100, False, 32)
+"#8000\n"
+genMessageCode("--读取时间2")
+genIFRwDataCode(0, 0x100, False, 32)
+genIFRwDataCode(1, 0x100, False, 32)
+genIFRwDataCode(2, 0x100, False, 32)
+genIFRwDataCode(3, 0x100, False, 32)
+genIFRwDataCode(4, 0x100, False, 32)
+genMessageCode("--读取时间3")
+genIFRwDataCode(0, 0x100, False, 8)
+genIFRwDataCode(0, 0x118, False, 8)
+genIFRwDataCode(1, 0x118, False, 8)
+genIFRwDataCode(2, 0x118, False, 8)
+genIFRwDataCode(3, 0x118, False, 8)
+genIFRwDataCode(4, 0x118, False, 8)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
return gen_file_def

View File

@@ -100,10 +100,6 @@ def bringup():
genPkt.addBeforeExc(genMessageCode("--设置环境,进行第二次嗅探"))
int_data=[0x00, 0x81]
clear_int = [0xff, 0xff, 0xff, 0xff]
main_int_en = [0x03, 0x00, 0x00, 0xf0]
slave_int_en= [0x00, 0x00, 0x00, 0xf0]
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
@@ -117,25 +113,25 @@ def bringup():
+genIFRwDataCode(4, 0xc0, False, 4)
+genMessageCode("--使能中断")
+genIFRwDataCode(0, 0x70, True, 4, main_int_en)
+genIFRwDataCode(1, 0x70, True, 4, slave_int_en)
+genIFRwDataCode(2, 0x70, True, 4, slave_int_en)
+genIFRwDataCode(3, 0x70, True, 4, slave_int_en)
+genIFRwDataCode(4, 0x70, True, 4, slave_int_en)
+genIFRwDataCode(0, 0x70, True, 4, [0x03, 0x00, 0x00, 0xf0])
+genIFRwDataCode(1, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0])
+genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0])
+genIFRwDataCode(3, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0])
+genIFRwDataCode(4, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0])
+genMessageCode("--设置中断为脉冲模式")
+genIFRwDataCode(0, 0x7c, True, 2, int_data)
+genIFRwDataCode(1, 0x7c, True, 2, int_data)
+genIFRwDataCode(2, 0x7c, True, 2, int_data)
+genIFRwDataCode(3, 0x7c, True, 2, int_data)
+genIFRwDataCode(4, 0x7c, True, 2, int_data)
+genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81])
+genIFRwDataCode(1, 0x7c, True, 2, [0x00, 0x81])
+genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81])
+genIFRwDataCode(3, 0x7c, True, 2, [0x00, 0x81])
+genIFRwDataCode(4, 0x7c, True, 2, [0x00, 0x81])
+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)
@@ -145,11 +141,11 @@ def bringup():
+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)

View File

@@ -160,18 +160,22 @@ def tc2():
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+"\n#50000\n"
+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, 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)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
@@ -222,18 +226,22 @@ def tc3():
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
+genIFRwDataCode(0, 0x22, False, 2)
+"\n#50000\n"
+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)