@@ -1551,3 +1551,573 @@ def tc7():
return gen_file_def
def tc8 ( ) :
genPkt = GenPkt ( )
gen_file_def = " sync_tc08 "
sm_idx = 0
tc_des = ( " 同步后, SYNC信号采用脉冲触发, 4个设备, 4个周期; 先用广播包发送公共周期; 然后3, 4, \\ n "
" 2设备单独指定周期。该同步数据之前没有补广播包。如果紧跟嗅探包而不是普通包之后, 可能会影响同步。 \\ n "
" 期望是无论前面发送得是什么包, 都不会影响同步的效果。一段时间后, 重新同步, 期望不要打断sync \\ n "
" 信号的输出。需要在波形文件里查看具体的效果。 "
)
#-------------------------------------------------------------------------
#>>>>>>设置同步信号的数据包
genPkt . clean ( )
genPkt . setPktType ( 0 )
sm_idx = 3
genPkt . addBeforeExc ( genTcStartFrameCode ( gen_file_def , tc_des )
+ genEnableInsertTimeCode ( 0xa )
+ ''' spi_trans( (16 ' h0100), (`SPI_READ), (8), (`IF_IDX(0))); \n '''
+ ''' _temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) + (rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56); \n '''
+ ''' _temp_time = _temp_time + 32 ' h3000; \n \n ''' )
genPkt . addSubPkt ( 0x0 , 0 , 0x0 , 0xc , 12 , b ' \0 ' * 12 )
genPkt . addSubPkt ( 0 , 0 , 0x18 , 0xe , 2 , [ 0x1 , 0x58 ] )
#subPkt参数: 索引、索引类型、地址、命令、长度、数据
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 2 ] = 0xa
data [ 4 ] = 0xa
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x80 #地址0x138, sync周期 4B
data [ 25 ] = 0x00 #地址0x139
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 0 , 0 , 0x120 , 0xe , 0x28 , data )
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 2 ] = 0xa
data [ 4 ] = 0xa
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x00 #地址0x138, sync周期 4B
data [ 25 ] = 0x01 #地址0x139
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 3 , 0 , 0x120 , 0x1 , 0x28 , data )
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 2 ] = 0xa
data [ 4 ] = 0xa
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x00 #地址0x138, sync周期 4B
data [ 25 ] = 0x02 #地址0x139
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 4 , 0 , 0x120 , 0x1 , 0x28 , data )
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 2 ] = 0xa
data [ 4 ] = 0xa
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x00 #地址0x138, sync周期 4B
data [ 25 ] = 0x04 #地址0x139genPkt.addBeforeExc(
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 2 , 0 , 0x120 , 0x1 , 0x28 , data )
genPkt . addSubPkt ( 0 , 0 , 0x18 , 0xe , 2 , [ 0x0 , 0x58 ] )
#gen_file_def_ap = gen_file_def + "_rw01"
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 ( )
genPkt . setPktType ( 0 )
#subPkt参数: 索引、索引类型、地址、命令、长度、数据
genPkt . addSubPkt ( 0x0 , 0 , 0x0 , 0xa , 12 , [ 0 , ] * 12 )
genPkt . addSubPkt ( 0x0 , 0 , 0x0 , 0xd , 10 , [ 0 , ] * 10 )
genPkt . addSubPkt ( 0x0 , 0 , 0x0 , 0xd , 10 , [ 0 , ] * 10 )
genPkt . addBeforeExc ( genEnableInsertTimeCode ( 0xa ) ) # + 18 + 18))
sm_idx = 0
gen_file_def_ap = gen_file_def + " _rw02 "
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 )
+ genCheckInsertTimeCode ( )
+ 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 )
+ " #50000 "
+ genIFRwDataCode ( 0 , 0x40 , True , 4 , [ 0x01 , 0x00 , 0x66 , 0x79 ] )
+ " #50000 "
+ genIFRwDataCode ( 1 , 0x40 , True , 4 , [ 0x01 , 0x00 , 0x66 , 0x79 ] )
) #+genDisableInsertTimeCode())
genPkt . gen ( " ./generated/shin/ %s .vh " % ( gen_file_def , ) , 1 , True , gen_file_def_ap )
genPkt . clean ( )
genPkt . setPktType ( 1 )
sm_idx = 1
genPkt . addBeforeExc ( " \n #5000 \n "
+ genIFRwDataCode ( 0 , 0x09 , True , 1 , [ 0 , ] , False , iface = 1 )
+ using_proper_transcode ( 0 )
+ genIFRwDataCode ( 0 , 0x74 , False , 4 )
+ genIFRwDataCode ( 0 , 0x00 , True , 1 , [ 0x1 , ] )
+ genIFRwDataCode ( 0 , 0x78 , True , 4 , [ 0xff , 0xff , 0xff , 0xff ] )
+ genIFRwDataCode ( 1 , 0x09 , True , 1 , [ 0 , ] , False , iface = 1 )
+ using_proper_transcode ( 1 )
+ genIFRwDataCode ( 1 , 0x74 , False , 4 )
+ genIFRwDataCode ( 1 , 0x00 , True , 1 , [ 0x2 , ] )
+ genIFRwDataCode ( 1 , 0x78 , True , 4 , [ 0xff , 0xff , 0xff , 0xff ] )
)
gen_file_def_ap = gen_file_def + " _rw03 "
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 , 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 ( )
genPkt . setPktType ( 0 )
sm_idx = 1
genPkt . addSubPkt ( 0x0 , 0 , 0 , 0xb , 2 , [ 0x3f , 0xff ] )
gen_file_def_ap = gen_file_def + " _rw04 "
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 , 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 ( )
genPkt . setPktType ( 0 )
sm_idx = 1
genPkt . addBeforeExc ( " \n #5000 \n "
+ genIFRwDataCode ( 0 , 0x09 , True , 1 , [ 0 , ] , False , iface = 1 )
+ using_proper_transcode ( 0 )
+ genIFRwDataCode ( 0 , 0x74 , False , 4 )
#+genIFRwDataCode(0, 0x40, False, 4)
+ genIFRwDataCode ( 0 , 0x00 , True , 1 , [ 0x1 , ] )
)
genPkt . addSubPkt ( 0x0 , 0 , 0x180 , 0xd , 10 , b ' \0 ' * 10 )
gen_file_def_ap = gen_file_def + " _rw05 "
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 , 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 ( )
genPkt . setPktType ( 0 )
sm_idx = 1
genPkt . addBeforeExc ( genEnableInsertTimeCode ( 0xa )
+ ''' spi_trans( (16 ' h0100), (`SPI_READ), (8), (`IF_IDX(0))); \n '''
+ ''' _temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) + (rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56); \n '''
+ ''' _temp_time = _temp_time + 32 ' h3000; \n \n '''
+ ''' txBuf[3] = 8 ' h0f; \n '''
+ ''' txBuf[4] = 8 ' h00; \n '''
+ ''' txBuf[5] = 8 ' h0a; \n '''
+ ''' txBuf[6] = 8 ' h00; \n '''
+ ''' txBuf[7] = 8 ' h0a; \n '''
+ ''' txBuf[8] = 8 ' h00; \n '''
+ ''' txBuf[9] = 8 ' h0a; \n '''
+ ''' txBuf[10] = 8 ' h00; \n '''
+ ''' txBuf[11] = 8 ' h01; \n '''
+ ''' txBuf[12] = 8 ' h00; \n '''
+ ''' txBuf[19] = (_temp_time & 8 ' hff); \n '''
+ ''' txBuf[20] = ( (_temp_time >> 8) & 8 ' hff); \n '''
+ ''' txBuf[21] = ((_temp_time >> 16) & 8 ' hff); \n '''
+ ''' txBuf[22] = ((_temp_time >> 24) & 8 ' hff); \n '''
+ ''' txBuf[23] = ((_temp_time >> 32) & 8 ' hff); \n '''
+ ''' txBuf[24] = 0; \n '''
+ ''' txBuf[25] = 0; \n '''
+ ''' txBuf[26] = 0; \n '''
+ ''' txBuf[27] = 8 ' h80; \n '''
+ ''' txBuf[28] = 8 ' h00; \n '''
+ ''' txBuf[29] = 8 ' h00; \n '''
+ ''' txBuf[30] = 8 ' h00; \n '''
+ ''' txBuf[31] = 8 ' h00; \n '''
+ ''' txBuf[32] = 8 ' h00; \n '''
+ ''' txBuf[33] = 8 ' h00; \n '''
+ ''' txBuf[34] = 8 ' h00; \n '''
+ ''' txBuf[35] = 8 ' h00; \n '''
+ ''' txBuf[36] = 8 ' h00; \n '''
+ ''' txBuf[37] = 8 ' h00; \n '''
+ ''' txBuf[38] = 8 ' h00; \n '''
+ ''' txBuf[39] = 8 ' h00; \n '''
+ ''' txBuf[40] = 8 ' h00; \n '''
+ ''' txBuf[41] = 8 ' h00; \n '''
+ ''' txBuf[42] = 8 ' h00; \n '''
+ ''' txBuf[43] = 8 ' h00; \n '''
+ ''' spi_trans( (16 ' h0120), (`SPI_WRITE), (40), (`IF_IDX(0))); \n '''
)
genPkt . addSubPkt ( 0x0 , 0 , 0x0 , 0xa , 12 , b ' \0 ' * 12 )
genPkt . addSubPkt ( 0 , 0 , 0x18 , 0xe , 2 , [ 0x1 , 0x58 ] )
#subPkt参数: 索引、索引类型、地址、命令、长度、数据
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 1 ] = 0x0
data [ 2 ] = 0xa
data [ 3 ] = 0x0
data [ 4 ] = 0xa
data [ 5 ] = 0x0
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x80 #地址0x138, sync周期 4B
data [ 25 ] = 0x00 #地址0x139
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 0 , 0 , 0x120 , 0xe , 0x28 , data )
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 2 ] = 0xa
data [ 4 ] = 0xa
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x00 #地址0x138, sync周期 4B
data [ 25 ] = 0x01 #地址0x139
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 3 , 0 , 0x120 , 0x1 , 0x28 , data )
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 2 ] = 0xa
data [ 4 ] = 0xa
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x00 #地址0x138, sync周期 4B
data [ 25 ] = 0x02 #地址0x139
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 4 , 0 , 0x120 , 0x1 , 0x28 , data )
data = [ 0 , ] * 100 #bytearray(b"\0" * 100)
data [ 0 ] = 0x0f #地址0x120
data [ 2 ] = 0xa
data [ 4 ] = 0xa
data [ 6 ] = 0xa
data [ 8 ] = 0xa
data [ 16 ] = ''' (_temp_time & 8 ' hff) ''' #地址0x130, sync同步点
data [ 17 ] = ''' (_temp_time >> 8) & 8 ' hff ''' #地址0x131
data [ 18 ] = ''' (_temp_time >> 16) & 8 ' hff '''
data [ 19 ] = ''' (_temp_time >> 24) & 8 ' hff '''
data [ 24 ] = 0x00 #地址0x138, sync周期 4B
data [ 25 ] = 0x04 #地址0x139genPkt.addBeforeExc(
data [ 28 ] = 0x0 #sync1偏移
data [ 29 ] = 0x0
data [ 36 ] = 0x0 #sync3偏移
data [ 37 ] = 0x0
genPkt . addSubPkt ( 2 , 0 , 0x120 , 0x1 , 0x28 , data )
genPkt . addSubPkt ( 0 , 0 , 0x18 , 0xe , 2 , [ 0x0 , 0x58 ] )
gen_file_def_ap = gen_file_def + " _rw06 "
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 , 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 ( )
genPkt . setPktType ( 0 )
#subPkt参数: 索引、索引类型、地址、命令、长度、数据
genPkt . addSubPkt ( 0x0 , 0 , 0x0 , 0xa , 12 , [ 0 , ] * 12 )
#genPkt.addSubPkt(0x0, 0, 0x0, 0xd, 10, [0, ] * 10)
#genPkt.addSubPkt(0x0, 0, 0x0, 0xd, 10, [0, ] * 10)
genPkt . addBeforeExc ( genEnableInsertTimeCode ( 0xa ) ) # + 18 + 18))
sm_idx = 0
gen_file_def_ap = gen_file_def + " _rw07 "
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 )
+ genCheckInsertTimeCode ( )
+ 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 )
) #+genDisableInsertTimeCode())
genPkt . gen ( " ./generated/shin/ %s .vh " % ( gen_file_def , ) , 1 , True , gen_file_def_ap )
return gen_file_def