|
ChibiOS 21.11.4
|
I/O channels access. More...
Go to the source code of this file.
Data Structures | |
| struct | BaseChannelVMT |
BaseChannel virtual methods table. More... | |
| struct | BaseChannel |
| Base channel class. More... | |
| struct | BaseAsynchronousChannelVMT |
BaseAsynchronousChannel virtual methods table. More... | |
| struct | BaseAsynchronousChannel |
| Base asynchronous channel class. More... | |
Macros | |
| #define | _base_channel_methods |
BaseChannel specific methods. | |
| #define | _base_channel_data _base_sequential_stream_data |
BaseChannel specific data. | |
| #define | _base_asynchronous_channel_methods _base_channel_methods \ |
BaseAsynchronousChannel specific methods. | |
| #define | _base_asynchronous_channel_data |
BaseAsynchronousChannel specific data. | |
Default control operation codes. | |
| #define | CHN_CTL_INVALID 0 |
| Invalid operation code. | |
| #define | CHN_CTL_NOP 1 |
| Does nothing. | |
| #define | CHN_CTL_TX_WAIT 2 |
| Wait for TX completion. | |
Macro Functions (BaseChannel) | |
| #define | chnPutTimeout(ip, b, time) |
| Channel blocking byte write with timeout. | |
| #define | chnGetTimeout(ip, time) |
| Channel blocking byte read with timeout. | |
| #define | chnWrite(ip, bp, n) |
| Channel blocking write. | |
| #define | chnWriteTimeout(ip, bp, n, time) |
| Channel blocking write with timeout. | |
| #define | chnRead(ip, bp, n) |
| Channel blocking read. | |
| #define | chnReadTimeout(ip, bp, n, time) |
| Channel blocking read with timeout. | |
| #define | chnControl(ip, operation, arg) |
| Control operation on a channel. | |
I/O status flags added to the event listener | |
| #define | CHN_NO_ERROR (eventflags_t)0 |
| No pending conditions. | |
| #define | CHN_CONNECTED (eventflags_t)1 |
| Connection happened. | |
| #define | CHN_DISCONNECTED (eventflags_t)2 |
| Disconnection happened. | |
| #define | CHN_INPUT_AVAILABLE (eventflags_t)4 |
| Data available in the input queue. | |
| #define | CHN_OUTPUT_EMPTY (eventflags_t)8 |
| Output queue empty. | |
| #define | CHN_TRANSMISSION_END (eventflags_t)16 |
| Transmission end. | |
| #define | CHN_PARITY_ERROR (eventflags_t)32 |
| Parity error. | |
| #define | CHN_FRAMING_ERROR (eventflags_t)64 |
| Framing error. | |
| #define | CHN_NOISE_ERROR (eventflags_t)128 |
| Line noise error. | |
| #define | CHN_OVERRUN_ERROR (eventflags_t)256 |
| Overflow error. | |
| #define | CHN_IDLE_DETECTED (eventflags_t)512 |
| RX line idle. | |
| #define | CHN_BREAK_DETECTED (eventflags_t)1024 |
| LIN Break. | |
| #define | CHN_BUFFER_FULL_ERROR (eventflags_t)2048 |
Macro Functions (BaseAsynchronousChannel) | |
| #define | chnGetEventSource(ip) |
| Returns the I/O condition event source. | |
| #define | chnAddFlagsI(ip, flags) |
| Adds status flags to the listeners's flags mask. | |
I/O channels access.
This header defines an abstract interface useful to access generic I/O serial devices in a standardized way.
Definition in file hal_channels.h.