add ringbuffer for RX and implement a streaming float parser