87 lines
3.0 KiB
Python
87 lines
3.0 KiB
Python
from pyutils import *
|
||
|
||
|
||
|
||
def test_pkt_size(tc_id, size):
|
||
genPkt = GenPkt()
|
||
|
||
gen_file_def = "mac_tc%02d"%(tc_id, )
|
||
sm_idx = 0
|
||
tc_des = ("测试MAC的分包机制, %d = %d + 8(subheader+wkc) + 4(header) + 4(crc)\\n"%(size, size - 16)
|
||
)
|
||
|
||
|
||
#-------------------------------------------------------------------------
|
||
#>>>>>>普通数据包 sm1,2个读
|
||
genPkt.clean()
|
||
genPkt.setPktType(0)
|
||
|
||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||
#genPkt.addSubPkt(0x02, 0, 0x0830, 0x2, 56, None)
|
||
genPkt.addSubPkt(0x01, 0, 0x00, 0xd, size - 16, None)
|
||
#genPkt.addSubPkt(0x03, 0, 0xc0, 0x0, 64, None)
|
||
#genPkt.addSubPkt(10, 2, 0x300, 0x2, 4, None)
|
||
#genPkt.addSubPkt(11, 1, 0x300, 0x2, 4, None)
|
||
sm_idx = 1
|
||
|
||
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)
|
||
|
||
+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)
|
||
|
||
return gen_file_def
|
||
|
||
|
||
def tc1():
|
||
return test_pkt_size(1, 127)
|
||
|
||
def tc2():
|
||
return test_pkt_size(2, 128)
|
||
|
||
def tc3():
|
||
return test_pkt_size(3, 129)
|
||
|
||
def tc4():
|
||
return test_pkt_size(4, 130)
|
||
|
||
def tc5():
|
||
return test_pkt_size(5, 131)
|
||
|
||
def tc6():
|
||
return test_pkt_size(6, 132)
|
||
|
||
def tc7():
|
||
return test_pkt_size(7, 133) |