ChibiOS/HAL 9.0.0
hal_serial.h File Reference

Serial Driver macros and structures. More...

#include "hal_serial_lld.h"

Go to the source code of this file.

Data Structures

struct  SerialDriverVMT
 SerialDriver virtual methods table. More...
struct  hal_serial_driver
 Full duplex serial driver class. More...

Macros

#define _serial_driver_methods    _base_asynchronous_channel_methods
 SerialDriver specific methods.
Serial status flags (legacy)
#define SD_PARITY_ERROR   CHN_PARITY_ERROR
#define SD_FRAMING_ERROR   CHN_FRAMING_ERROR
#define SD_OVERRUN_ERROR   CHN_OVERRUN_ERROR
#define SD_NOISE_ERROR   CHN_NOISE_ERROR
#define SD_BREAK_DETECTED   CHN_BREAK_DETECTED
#define SD_QUEUE_FULL_ERROR   CHN_BUFFER_FULL_ERROR
Serial configuration options
#define SERIAL_DEFAULT_BITRATE   38400
 Default bit rate.
#define SERIAL_BUFFERS_SIZE   16
 Serial buffers size.
Macro Functions
#define sdPutI(sdp, b)
 Direct write to a SerialDriver.
#define sdPut(sdp, b)
 Direct write to a SerialDriver.
#define sdPutTimeout(sdp, b, t)
 Direct write to a SerialDriver with timeout specification.
#define sdGetI(sdp)
 Direct read from a SerialDriver.
#define sdGet(sdp)
 Direct read from a SerialDriver.
#define sdGetTimeout(sdp, t)
 Direct read from a SerialDriver with timeout specification.
#define sdWriteI(sdp, b, n)
 Direct non-blocking write to a SerialDriver.
#define sdWrite(sdp, b, n)
 Direct blocking write to a SerialDriver.
#define sdWriteTimeout(sdp, b, n, t)
 Direct blocking write to a SerialDriver with timeout specification.
#define sdAsynchronousWrite(sdp, b, n)
 Direct non-blocking write to a SerialDriver.
#define sdReadI(sdp, b, n)
 Direct non-blocking read from a SerialDriver.
#define sdRead(sdp, b, n)
 Direct blocking read from a SerialDriver.
#define sdReadTimeout(sdp, b, n, t)
 Direct blocking read from a SerialDriver with timeout specification.
#define sdAsynchronousRead(sdp, b, n)
 Direct non-blocking read from a SerialDriver.

Typedefs

typedef struct hal_serial_driver SerialDriver
 Structure representing a serial driver.

Enumerations

enum  sdstate_t { SD_UNINIT = 0 , SD_STOP = 1 , SD_READY = 2 }
 Driver state machine possible states. More...

Functions

void sdInit (void)
 Serial Driver initialization.
void sdObjectInit (SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify)
 Initializes a generic serial driver object.
msg_t sdStart (SerialDriver *sdp, const SerialConfig *config)
 Configures and starts the driver.
void sdStop (SerialDriver *sdp)
 Stops the driver.
void sdIncomingDataI (SerialDriver *sdp, uint8_t b)
 Handles incoming data.
msg_t sdRequestDataI (SerialDriver *sdp)
 Handles outgoing data.
bool sdPutWouldBlock (SerialDriver *sdp)
 Direct output check on a SerialDriver.
bool sdGetWouldBlock (SerialDriver *sdp)
 Direct input check on a SerialDriver.
msg_t sdControl (SerialDriver *sdp, unsigned int operation, void *arg)
 Control operation on a serial port.

Detailed Description

Serial Driver macros and structures.

Definition in file hal_serial.h.