Pipe

Version: 

1.0.0

Description: 

FIFO Pipe class

Pipe
====

A virtual Arduino `Stream` device.

The Pipe class implements the Arduino `Stream` class to provide a virtual
device through which you can transfer data. You "send" data to it through the
standard Arduino `print()`, `println()` etc methods, and you can read from it
in the same way you read from `Serial`.

It's like having a serial port that talks to itself (*loopback*) without having
an actual serial port there.

The included example sketch, aimed at running on a chipKIT UNO32, implements a
buffered UART interface to the Serial device. It takes over the normal interrupt
vector of UART1 (mapped, on the UNO32, to `Serial`) and implements its own buffering
strategy for transmission and reception. Each direction has its own `Pipe` for transferring
the data to/from the ISR. Writing to the UART has write "blocking" turned on (when the pipe
is full the program waits for data to be read from the other end - only useful for
interrupts) so you don't lose data.

Git Repository: 

https://github.com/MajenkoLibraries/Pipe

Category: 

Storage

Subcategory: 

Buffer

Family: 

all

Core: 

all