aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/include/serial.h
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-08-09 08:24:22 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-08-09 08:24:22 +0000
commit8ca210a4af9fd039e290cfcc309adde543999c1f (patch)
tree1aa594d5e65d5ebabdd358acbe8d3a9ac29f2070 /os/hal/include/serial.h
parentcb453a3a12464dd71856b1354d083b5b02260870 (diff)
downloadChibiOS-8ca210a4af9fd039e290cfcc309adde543999c1f.tar.gz
ChibiOS-8ca210a4af9fd039e290cfcc309adde543999c1f.tar.bz2
ChibiOS-8ca210a4af9fd039e290cfcc309adde543999c1f.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6108 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/include/serial.h')
-rw-r--r--os/hal/include/serial.h318
1 files changed, 0 insertions, 318 deletions
diff --git a/os/hal/include/serial.h b/os/hal/include/serial.h
deleted file mode 100644
index ac3ea3130..000000000
--- a/os/hal/include/serial.h
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file serial.h
- * @brief Serial Driver macros and structures.
- *
- * @addtogroup SERIAL
- * @{
- */
-
-#ifndef _SERIAL_H_
-#define _SERIAL_H_
-
-#if HAL_USE_SERIAL || defined(__DOXYGEN__)
-
-/*===========================================================================*/
-/* Driver constants. */
-/*===========================================================================*/
-
-/**
- * @name Serial status flags
- * @{
- */
-#define SD_PARITY_ERROR 32 /**< @brief Parity error happened. */
-#define SD_FRAMING_ERROR 64 /**< @brief Framing error happened. */
-#define SD_OVERRUN_ERROR 128 /**< @brief Overflow happened. */
-#define SD_NOISE_ERROR 256 /**< @brief Noise on the line. */
-#define SD_BREAK_DETECTED 512 /**< @brief Break detected. */
-/** @} */
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/**
- * @name Serial configuration options
- * @{
- */
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-/** @} */
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-#if !CH_CFG_USE_QUEUES && !CH_CFG_USE_EVENTS
-#error "Serial Driver requires CH_CFG_USE_QUEUES and CH_CFG_USE_EVENTS"
-#endif
-
-/*===========================================================================*/
-/* Driver data structures and types. */
-/*===========================================================================*/
-
-/**
- * @brief Driver state machine possible states.
- */
-typedef enum {
- SD_UNINIT = 0, /**< Not initialized. */
- SD_STOP = 1, /**< Stopped. */
- SD_READY = 2 /**< Ready. */
-} sdstate_t;
-
-/**
- * @brief Structure representing a serial driver.
- */
-typedef struct SerialDriver SerialDriver;
-
-#include "serial_lld.h"
-
-/**
- * @brief @p SerialDriver specific methods.
- */
-#define _serial_driver_methods \
- _base_asynchronous_channel_methods
-
-/**
- * @extends BaseAsynchronousChannelVMT
- *
- * @brief @p SerialDriver virtual methods table.
- */
-struct SerialDriverVMT {
- _serial_driver_methods
-};
-
-/**
- * @extends BaseAsynchronousChannel
- *
- * @brief Full duplex serial driver class.
- * @details This class extends @p BaseAsynchronousChannel by adding physical
- * I/O queues.
- */
-struct SerialDriver {
- /** @brief Virtual Methods Table.*/
- const struct SerialDriverVMT *vmt;
- _serial_driver_data
-};
-
-/*===========================================================================*/
-/* Driver macros. */
-/*===========================================================================*/
-
-/**
- * @name Macro Functions
- * @{
- */
-/**
- * @brief Direct output check on a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * checks directly the output queue. This is faster but cannot
- * be used to check different channels implementations.
- *
- * @see chIOPutWouldBlock()
- * @deprecated
- *
- * @api
- */
-#define sdPutWouldBlock(sdp) chOQIsFullI(&(sdp)->oqueue)
-
-/**
- * @brief Direct input check on a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * checks directly the input queue. This is faster but cannot
- * be used to check different channels implementations.
- *
- * @see chIOGetWouldBlock()
- * @deprecated
- *
- * @api
- */
-#define sdGetWouldBlock(sdp) chIQIsEmptyI(&(sdp)->iqueue)
-
-/**
- * @brief Direct write to a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * writes directly on the output queue. This is faster but cannot
- * be used to write to different channels implementations.
- *
- * @see chIOPut()
- *
- * @api
- */
-#define sdPut(sdp, b) chOQPut(&(sdp)->oqueue, b)
-
-/**
- * @brief Direct write to a @p SerialDriver with timeout specification.
- * @note This function bypasses the indirect access to the channel and
- * writes directly on the output queue. This is faster but cannot
- * be used to write to different channels implementations.
- *
- * @see chIOPutTimeout()
- *
- * @api
- */
-#define sdPutTimeout(sdp, b, t) chOQPutTimeout(&(sdp)->oqueue, b, t)
-
-/**
- * @brief Direct read from a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * reads directly from the input queue. This is faster but cannot
- * be used to read from different channels implementations.
- *
- * @see chIOGet()
- *
- * @api
- */
-#define sdGet(sdp) chIQGet(&(sdp)->iqueue)
-
-/**
- * @brief Direct read from a @p SerialDriver with timeout specification.
- * @note This function bypasses the indirect access to the channel and
- * reads directly from the input queue. This is faster but cannot
- * be used to read from different channels implementations.
- *
- * @see chIOGetTimeout()
- *
- * @api
- */
-#define sdGetTimeout(sdp, t) chIQGetTimeout(&(sdp)->iqueue, t)
-
-/**
- * @brief Direct blocking write to a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * writes directly to the output queue. This is faster but cannot
- * be used to write from different channels implementations.
- *
- * @see chIOWriteTimeout()
- *
- * @api
- */
-#define sdWrite(sdp, b, n) \
- chOQWriteTimeout(&(sdp)->oqueue, b, n, TIME_INFINITE)
-
-/**
- * @brief Direct blocking write to a @p SerialDriver with timeout
- * specification.
- * @note This function bypasses the indirect access to the channel and
- * writes directly to the output queue. This is faster but cannot
- * be used to write to different channels implementations.
- *
- * @see chIOWriteTimeout()
- *
- * @api
- */
-#define sdWriteTimeout(sdp, b, n, t) \
- chOQWriteTimeout(&(sdp)->oqueue, b, n, t)
-
-/**
- * @brief Direct non-blocking write to a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * writes directly to the output queue. This is faster but cannot
- * be used to write to different channels implementations.
- *
- * @see chIOWriteTimeout()
- *
- * @api
- */
-#define sdAsynchronousWrite(sdp, b, n) \
- chOQWriteTimeout(&(sdp)->oqueue, b, n, TIME_IMMEDIATE)
-
-/**
- * @brief Direct blocking read from a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * reads directly from the input queue. This is faster but cannot
- * be used to read from different channels implementations.
- *
- * @see chIOReadTimeout()
- *
- * @api
- */
-#define sdRead(sdp, b, n) \
- chIQReadTimeout(&(sdp)->iqueue, b, n, TIME_INFINITE)
-
-/**
- * @brief Direct blocking read from a @p SerialDriver with timeout
- * specification.
- * @note This function bypasses the indirect access to the channel and
- * reads directly from the input queue. This is faster but cannot
- * be used to read from different channels implementations.
- *
- * @see chIOReadTimeout()
- *
- * @api
- */
-#define sdReadTimeout(sdp, b, n, t) \
- chIQReadTimeout(&(sdp)->iqueue, b, n, t)
-
-/**
- * @brief Direct non-blocking read from a @p SerialDriver.
- * @note This function bypasses the indirect access to the channel and
- * reads directly from the input queue. This is faster but cannot
- * be used to read from different channels implementations.
- *
- * @see chIOReadTimeout()
- *
- * @api
- */
-#define sdAsynchronousRead(sdp, b, n) \
- chIQReadTimeout(&(sdp)->iqueue, b, n, TIME_IMMEDIATE)
-/** @} */
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void sdInit(void);
- void sdObjectInit(SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify);
- void sdStart(SerialDriver *sdp, const SerialConfig *config);
- void sdStop(SerialDriver *sdp);
- void sdIncomingDataI(SerialDriver *sdp, uint8_t b);
- msg_t sdRequestDataI(SerialDriver *sdp);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* HAL_USE_SERIAL */
-
-#endif /* _SERIAL_H_ */
-
-/** @} */