Struct p25::message::data_unit::DataUnitReceiver
[−]
[src]
pub struct DataUnitReceiver { /* fields omitted */ }
State machine for low-level data unit reception.
The state machine consumes baseband samples and performs the following steps common to all data units:
- Track average power of input signal
- Lock onto frame synchronization
- Deinterleave status symbols
- Decode NID information
- Decode dibit symbols until stopped
Methods
impl DataUnitReceiver
[src]
pub fn new() -> DataUnitReceiver
[src]
Create a new DataUnitReceiver
in the initial reception state.
pub fn flush_pads(&mut self)
[src]
Flush any remaining padding symbols at the end of the current packet, and reenter the frame synchronization state afterwards.
pub fn resync(&mut self)
[src]
Force the receiver into frame synchronization.
pub fn feed(&mut self, s: f32) -> Option<Result<ReceiverEvent>>
[src]
Feed in a baseband symbol, possibly producing a receiver event. Return
Some(Ok(event))
for any normal event, Some(Err(err))
for any error, and None
if no event occurred.