1
0
Fork 0

downconn: loopback rx packet

This commit is contained in:
morgan 2024-10-03 15:45:32 +08:00
parent 0310793181
commit bea80d0c1e
1 changed files with 10 additions and 4 deletions

View File

@ -43,16 +43,22 @@ pub fn loopback_testing(channel: usize, timer: &mut GlobalTimer, speed: CXP_SPEE
cxp_proto::downconn_debug_send_trig_ack(channel);
const MAX_PACKET: usize = 128;
const DATA_MAXSIZE: usize = /*max size*/MAX_PACKET - /*Tag*/4 - /*Op code & length*/4 - /*addr*/4 - /*CRC*/4 ;
let data: u32 = 0x11;
let mut data_slice: [u8; DATA_MAXSIZE] = [0; DATA_MAXSIZE];
data_slice[..4].clone_from_slice(&data.to_be_bytes());
cxp_proto::downconn_debug_send(
channel,
&cxp_proto::Packet::CtrlRead {
addr: 0x00,
&cxp_proto::Packet::CtrlAckLoopback {
ackcode: 0x00,
length: 0x04,
data: data_slice,
},
)
.expect("loopback gtx tx error");
timer.delay_us(200); // wait packet has arrive at RX async fifo
timer.delay_us(1000); // wait packet has arrive at RX async fifo
(CXP[channel].downconn_tx_stb_write)(0);
info!("trig ack = {}", (CXP[channel].downconn_trigger_ack_read)());
@ -63,7 +69,7 @@ pub fn loopback_testing(channel: usize, timer: &mut GlobalTimer, speed: CXP_SPEE
info!("test error = {}", (CXP[channel].downconn_test_error_read)());
info!("packet type = {:#06X}", (CXP[channel].downconn_packet_type_read)());
cxp_proto::receive(channel);
cxp_proto::receive(channel).expect("loopback gtx rx error");
// DEBUG: print loopback packets
const LEN: usize = 20;
let mut pak_arr: [u32; LEN] = [0; LEN];