Skip to main content

parse_rx_packet

Function parse_rx_packet 

Source
pub fn parse_rx_packet(data: &[u8], nddc: usize) -> Option<P1RxFrame>
Expand description

Parse a 1032-byte Protocol 1 RX packet into IQ samples per DDC.

The P1 USB frame contains two 512-byte sub-frames, each starting with a SYNC pattern (0x7F 0x7F 0x7F) followed by 5 control bytes (C0-C4) and then interleaved IQ data for nddc DDC channels.

Each IQ sample is 6 bytes (24-bit I, 24-bit Q). Samples are interleaved across DDCs: DDC0 sample, DDC1 sample, …, DDCn sample, DDC0 sample, …