ChibiOS/RT Logo ChibiOS/RT

Architecture - Reference Manual - Guides

serial.h File Reference

Serial Driver macros and structures. More...

#include "serial_lld.h"

Go to the source code of this file.

Data Structures

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

Defines

#define SD_NO_ERROR   0
 No pending conditions.
#define SD_CONNECTED   1
 Connection happened.
#define SD_DISCONNECTED   2
 Disconnection happened.
#define SD_PARITY_ERROR   4
 Parity error happened.
#define SD_FRAMING_ERROR   8
 Framing error happened.
#define SD_OVERRUN_ERROR   16
 Overflow happened.
#define SD_NOISE_ERROR   32
 Noise on the line.
#define SD_BREAK_DETECTED   64
 Break detected.
#define SERIAL_DEFAULT_BITRATE   38400
 Default bit rate.
#define SERIAL_BUFFERS_SIZE   64
 Serial buffers size.
#define _serial_driver_methods   _base_asynchronous_channel_methods
 SerialDriver specific methods.
#define sdPutWouldBlock(sdp)   chOQIsFull(&(sdp)->oqueue)
 Direct output check on a SerialDriver.
#define sdGetWouldBlock(sdp)   chIQIsEmpty(&(sdp)->iqueue)
 Direct input check on a SerialDriver.
#define sdPut(sdp, b)   chOQPut(&(sdp)->oqueue, b)
 Direct write to a SerialDriver.
#define sdPutTimeout(sdp, b, t)   chOQPutTimeout(&(sdp)->iqueue, b, t)
 Direct write to a SerialDriver with timeout specification.
#define sdGet(sdp)   chIQGet(&(sdp)->iqueue)
 Direct read from a SerialDriver.
#define sdGetTimeout(sdp, t)   chIQGetTimeout(&(sdp)->iqueue, t)
 Direct read from a SerialDriver with timeout specification.
#define sdWrite(sdp, b, n)   chOQWriteTimeout(&(sdp)->oqueue, b, n, TIME_INFINITE)
 Direct blocking write to a SerialDriver.
#define sdWriteTimeout(sdp, b, n, t)   chOQWriteTimeout(&(sdp)->oqueue, b, n, t)
 Direct blocking write to a SerialDriver with timeout specification.
#define sdAsynchronousWrite(sdp, b, n)   chOQWriteTimeout(&(sdp)->oqueue, b, n, TIME_IMMEDIATE)
 Direct non-blocking write to a SerialDriver.
#define sdRead(sdp, b, n)   chIQReadTimeout(&(sdp)->iqueue, b, n, TIME_INFINITE)
 Direct blocking read from a SerialDriver.
#define sdReadTimeout(sdp, b, n, t)   chIQReadTimeout(&(sdp)->iqueue, b, n, t)
 Direct blocking read from a SerialDriver with timeout specification.
#define sdAsynchronousRead(sdp, b, n)   chIQReadTimeout(&(sdp)->iqueue, b, n, TIME_IMMEDIATE)
 Direct non-blocking read from a SerialDriver.
#define sdGetStatusChangeEventSource(ip)   (&((ip)->vmt->sevent))
 Returns the status change event source.

Typedefs

typedef struct _SerialDriver 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 full duplex driver object.
void 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.
void sdAddFlagsI (SerialDriver *sdp, sdflags_t mask)
 Handles communication events/errors.
sdflags_t sdGetAndClearFlags (SerialDriver *sdp)
 Returns and clears the errors mask associated to the driver.

Detailed Description

Serial Driver macros and structures.

Definition in file serial.h.


Generated on Sun Jul 11 13:13:03 2010 for ChibiOS/RT by doxygen 1.6.3