ChibiOS/HAL 9.0.0
hal_channels.h File Reference

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.

Detailed Description

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.