diff --git a/src/libboard_artiq/src/cxp_upconn.rs b/src/libboard_artiq/src/cxp_upconn.rs index 06f8be3..baf96e6 100644 --- a/src/libboard_artiq/src/cxp_upconn.rs +++ b/src/libboard_artiq/src/cxp_upconn.rs @@ -28,10 +28,10 @@ pub fn tx_test(timer: &mut GlobalTimer) { // the 8bit shift is k symbol // const K28_1: u16 = 0x3C | (1 << 8); // const K28_5: u16 = 0xBC | (1 << 8); - const D31_1: u16 = 0x3F; const D01_1: u16 = 0x21; + const D31_1: u16 = 0x3F; - const LEN: usize = 100; + const LEN: usize = 200; let mut arr: [u16; LEN] = [0; LEN]; unsafe { @@ -40,40 +40,47 @@ pub fn tx_test(timer: &mut GlobalTimer) { csr::cxp::upconn_clk_reset_write(0); loop { // TODO: verify the char & word boundary thingy - for _ in 0..8 { - csr::cxp::upconn_symbol1_write(D01_1); - } - - for _ in 0..4 { + for _ in 0..12 { csr::cxp::upconn_symbol2_write(D31_1); } - timer.delay_us(1); csr::cxp::upconn_tx_enable_write(1); + timer.delay_us(1); + + for _ in 0..3 { + csr::cxp::upconn_symbol0_write(D01_1); + } for i in 0..LEN { arr[i] = get_encoded(); } + let mut last_encoded: u16 = 0; for i in 0..LEN { - match arr[i] { - 0b1010111001 | 0b0101001001 => { - println!("encoded = {:#012b} D31.1", arr[i]) - } - 0b0111011001 | 0b1000101001 => { - println!("encoded = {:#012b} D01.1", arr[i]) - } - 0b0011111010 | 0b1100000101 => { - println!("encoded = {:#012b} K28.5 start idling....", arr[i]) - } - 0b0011111001 | 0b1100000110 => { - println!("encoded = {:#012b} K28.1 idling...", arr[i]) - } - 0b0011101010 => { - println!("encoded = {:#012b} D28.5 END idle", arr[i]) - } - _ => { - println!("encoded = {:#012b}", arr[i]) + if last_encoded != arr[i] { + match arr[i] { + 0b1010111001 | 0b0101001001 => { + println!("D31.1") + } + 0b0111011001 | 0b1000101001 => { + println!("D01.1") + } + 0b1101010010 | 0b0010101101 => { + println!("D04.4") + } + 0b0011111010 | 0b1100000101 => { + println!("K28.5 start idling....") + } + 0b0011111001 | 0b1100000110 => { + println!("K28.1 idling...") + } + 0b0011101010 => { + println!("D28.5 END idle") + } + _ => { + println!("encoded = {:#012b}", arr[i]) + } } + last_encoded = arr[i] } } println!("-------------------------------------");