internal SensorStream(IObservable<byte> outputFromRoomba) { Aligning = new Aligning(this); AwaitingStart = new AwaitingStart(this); ReadingLength = new ReadingLength(this); ReadingPayload = new ReadingPayload(this); ReadingComplete = new ReadingComplete(this); _readMode = AwaitingStart; outputFromRoomba.Subscribe(Output); }
private void Output(byte b) => _readMode = _readMode.Output(b);