|
SatCat5
|
Multiplexers for selecting one of several I/O interfaces.
We define a "port" as a Readable pointer paired with a Writeable pointer, representing input from and output to the same logical interface. Examples include a UART (cfg::Uart), or a MailMap object (port::Mailbox), or a UDP socket (udp::Socket).
A "controller" is anything that attaches to a port and begins issuing read and write commands, such as an Ethernet network interface (eth::Dispatch) or a port adapter (port::MailAdapter, port::SlipAdapter). Some objects act as both a port and a controller, such as BufferedIO (io::BufferedIO).
Definition in file io_multiplexer.h.
Go to the source code of this file.
Classes | |
| class | satcat5::io::MuxPort |
| Helper object used inside io::MuxDown. More... | |
| class | satcat5::io::MuxDown |
| Multiplexer connecting a port to one of several controllers. More... | |
| class | satcat5::io::MuxUp |
| Multiplexer connecting a controller to one of several ports. More... | |
| class | satcat5::io::MuxDownStatic< SIZE > |
| Static allocator for io::MuxDown. More... | |
| class | satcat5::io::MuxUpStatic< SIZE > |
| Static allocator for io::MuxUp. More... | |