pub trait ProtocolDecoder<Mono: InfraMonotonic, Cmd> {
    fn event(&mut self, edge: bool, dt: Mono::Duration) -> State;
    fn command(&self) -> Option<Cmd>;
    fn reset(&mut self);
    fn spans(&self) -> &PulseSpans<Mono>;

    fn event_total(
        &mut self,
        edge: bool,
        dt: Mono::Duration
    ) -> Result<Option<Cmd>, DecodingError> { ... } }
Expand description

Protocol decode state machine

Required Methods§

Notify the state machine of a new event

  • edge: true = positive edge, false = negative edge
  • dt : Duration since last event

Get the command Returns the data if State == Done, otherwise None

Reset the decoder

Get the time spans

Provided Methods§

I don’t care about the details, just give me a command (or an error)!

Implementors§