Files
eb001/tb/shinTest/testcase/environment.py

149 lines
6.7 KiB
Python
Raw Normal View History

from pyutils import *
def bringup():
gen_file_def = "sys_bringup"
sm_idx = 0
2025-08-04 00:42:41 +08:00
tc_des = "系统环境建立包括1.配置主从栈的角色2.网络建立嗅探、设置顺序地址、嗅探3.配置中断。\\n" \
+ "\\n注意网络建立第一次嗅探包发送主要是为了建立拓扑每个从站都知道了自己的邻居状况发送顺序地址\\n"\
+ "则是让每个从站拥有合适的地址。第二次发送嗅探包非必要,主要是用于更新从站的邻居信息。"
genPkt = GenPkt()
genPkt.clean()
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des))
main_dev = [0x01, ]
slave_dev =[0x02, ]
2025-08-03 00:26:46 +08:00
genPkt.addAfterExc(genMessageCode("--设置主站,协议栈工作在主站模式")
+genIFRwDataCode(0, 0x0, True, 1, main_dev)
+"#5000\n"
2025-08-03 00:26:46 +08:00
+genMessageCode("--设置从站,协议栈工作在从站模式")
+genIFRwDataCode(1, 0x0, True, 1, slave_dev)
+genIFRwDataCode(2, 0x0, True, 1, slave_dev)
+genIFRwDataCode(3, 0x0, True, 1, slave_dev)
+genIFRwDataCode(4, 0x0, True, 1, slave_dev)
2025-08-03 00:26:46 +08:00
+genMessageCode("--读取寄存器,检查相关的配置")
+genIFRwDataCode(0, 0x0, False, 1)
+genIFRwDataCode(1, 0x0, False, 1)
+genIFRwDataCode(2, 0x0, False, 1)
+genIFRwDataCode(3, 0x0, False, 1)
+genIFRwDataCode(4, 0x0, False, 1)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
2025-08-03 00:26:46 +08:00
genPkt.clean()
genPkt.setPktType(1)
gen_file_def_ap = gen_file_def+"_step01"
sm_idx = 0
genPkt.addBeforeExc(genMessageCode("--设置环境,进行第一次嗅探"))
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(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
#------------------------------------------------------------------------------
genPkt.clean()
genPkt.setPktType(0)
gen_file_def_ap = gen_file_def + "_step02"
sm_idx = 0
data = [0x3f, 0xff]
genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data)
genPkt.addAfterExc(genMessageCode("--设置顺序地址")
+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)
#+genTcEndFrameCode(gen_file_def)
+genIFRwDataCode(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(1)
gen_file_def_ap = gen_file_def+"_step03"
sm_idx = 0
genPkt.addBeforeExc(genMessageCode("--设置环境,进行第二次嗅探"))
2025-08-04 10:49:48 +08:00
int_data=[0x00, 0x81]
clear_int = [0xff, 0xff, 0xff, 0xff]
2025-08-03 00:26:46 +08:00
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-03 00:26:46 +08:00
+genMessageCode("--嗅探后检查链路状态寄存器")
+genIFRwDataCode(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
+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)
+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)
+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)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
2025-08-03 00:26:46 +08:00
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
add_tc_2_runlist(gen_file_def)
def teardown():
#add_tc_2_runlist("")
pass