From ccae24379ddc423b8e10cdd0fac527360fedd633 Mon Sep 17 00:00:00 2001
From: Giovanni Di Sirio <gdisirio@gmail.com>
Date: Thu, 27 Sep 2018 15:03:34 +0000
Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12299
 110e8d01-0319-4d1e-a829-52ad28d1bb01

---
 os/hal/include/hal_sio.h | 99 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)
 create mode 100644 os/hal/include/hal_sio.h

(limited to 'os/hal/include/hal_sio.h')

diff --git a/os/hal/include/hal_sio.h b/os/hal/include/hal_sio.h
new file mode 100644
index 000000000..4d31940fd
--- /dev/null
+++ b/os/hal/include/hal_sio.h
@@ -0,0 +1,99 @@
+/*
+    ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+*/
+
+/**
+ * @file    hal_sio.h
+ * @brief   SIO Driver macros and structures.
+ *
+ * @addtogroup SIO
+ * @{
+ */
+
+#ifndef HAL_SIO_H
+#define HAL_SIO_H
+
+#if (HAL_USE_SIO == TRUE) || defined(__DOXYGEN__)
+
+/*===========================================================================*/
+/* Driver constants.                                                         */
+/*===========================================================================*/
+
+/**
+ * @name    SIO status flags
+ * @{
+ */
+#define SIO_NO_ERROR           0    /**< @brief No pending conditions.      */
+#define SIO_PARITY_ERROR       4    /**< @brief Parity error happened.      */
+#define SIO_FRAMING_ERROR      8    /**< @brief Framing error happened.     */
+#define SIO_OVERRUN_ERROR      16   /**< @brief Overflow happened.          */
+#define SIO_NOISE_ERROR        32   /**< @brief Noise on the line.          */
+#define SIO_BREAK_DETECTED     64   /**< @brief Break detected.             */
+/** @} */
+
+/*===========================================================================*/
+/* Driver pre-compile time settings.                                         */
+/*===========================================================================*/
+
+/**
+ * @name    SIO configuration options
+ * @{
+ */
+
+/** @} */
+
+/*===========================================================================*/
+/* Derived constants and error checks.                                       */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver data structures and types.                                         */
+/*===========================================================================*/
+
+/**
+ * @brief   Driver state machine possible states.
+ */
+typedef enum {
+  SIO_UNINIT = 0,                   /**< Not initialized.                   */
+  SIO_STOP = 1,                     /**< Stopped.                           */
+  SIO_READY = 2                     /**< Ready.                             */
+} siostate_t;
+
+#include "hal_sio_lld.h"
+
+/*===========================================================================*/
+/* Driver macros.                                                            */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* External declarations.                                                    */
+/*===========================================================================*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+  void sioInit(void);
+  void sioObjectInit(SIODriver *siop);
+  void sioStart(SIODriver *siop, const SIOConfig *config);
+  void sioStop(SIODriver *siop);
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HAL_USE_SIO == TRUE */
+
+#endif /* HAL_SIO_H */
+
+/** @} */
-- 
cgit v1.2.3