diff options
Diffstat (limited to 'os/hal/include')
-rw-r--r-- | os/hal/include/hal_community.h | 45 | ||||
-rw-r--r-- | os/hal/include/hal_eeprom.h | 6 | ||||
-rw-r--r-- | os/hal/include/hal_qei.h | 130 | ||||
-rw-r--r-- | os/hal/include/hal_timcap.h | 6 | ||||
-rw-r--r-- | os/hal/include/hal_usbh.h | 5 |
5 files changed, 175 insertions, 17 deletions
diff --git a/os/hal/include/hal_community.h b/os/hal/include/hal_community.h index 6420964..75b3916 100644 --- a/os/hal/include/hal_community.h +++ b/os/hal/include/hal_community.h @@ -22,8 +22,46 @@ * @{
*/
-#ifndef _HAL_COMMUNITY_H_
-#define _HAL_COMMUNITY_H_
+#ifndef HAL_COMMUNITY_H
+#define HAL_COMMUNITY_H
+
+
+/* Error checks on the configuration header file.*/
+#if !defined(HAL_USE_CRC)
+#define HAL_USE_CRC FALSE
+#endif
+
+#if !defined(HAL_USE_EEPROM)
+#define HAL_USE_EEPROM FALSE
+#endif
+
+#if !defined(HAL_USE_EICU)
+#define HAL_USE_EICU FALSE
+#endif
+
+#if !defined(HAL_USE_NAND)
+#define HAL_USE_NAND FALSE
+#endif
+
+#if !defined(HAL_USE_ONEWIRE)
+#define HAL_USE_ONEWIRE FALSE
+#endif
+
+#if !defined(HAL_USE_QEI)
+#define HAL_USE_QEI FALSE
+#endif
+
+#if !defined(HAL_USE_RNG)
+#define HAL_USE_RNG FALSE
+#endif
+
+#if !defined(HAL_USE_TIMCAP)
+#define HAL_USE_TIMCAP FALSE
+#endif
+
+#if !defined(HAL_USE_USBH)
+#define HAL_USE_USBH FALSE
+#endif
/* Abstract interfaces.*/
@@ -35,6 +73,7 @@ #include "hal_rng.h"
#include "hal_usbh.h"
#include "hal_timcap.h"
+#include "hal_qei.h"
/* Complex drivers.*/
#include "hal_onewire.h"
@@ -73,6 +112,6 @@ extern "C" { }
#endif
-#endif /* _HAL_COMMUNITY_H_ */
+#endif /* HAL_COMMUNITY_H */
/** @} */
diff --git a/os/hal/include/hal_eeprom.h b/os/hal/include/hal_eeprom.h index c3ac3c6..cd05e14 100644 --- a/os/hal/include/hal_eeprom.h +++ b/os/hal/include/hal_eeprom.h @@ -32,10 +32,6 @@ #include "ch.h" #include "hal.h" -#ifndef HAL_USE_EEPROM -#define HAL_USE_EEPROM FALSE -#endif - #ifndef EEPROM_USE_EE25XX #define EEPROM_USE_EE25XX FALSE #endif @@ -44,7 +40,7 @@ #define EEPROM_USE_EE24XX FALSE #endif -#if HAL_USE_EEPROM +#if (HAL_USE_EEPROM == TRUE) || defined(__DOXYGEN__) #if EEPROM_USE_EE25XX && EEPROM_USE_EE24XX #define EEPROM_TABLE_SIZE 2 diff --git a/os/hal/include/hal_qei.h b/os/hal/include/hal_qei.h new file mode 100644 index 0000000..92f03fc --- /dev/null +++ b/os/hal/include/hal_qei.h @@ -0,0 +1,130 @@ +/*
+ ChibiOS - Copyright (C) 2006..2016 Martino Migliavacca
+
+ 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_qei.h
+ * @brief QEI Driver macros and structures.
+ *
+ * @addtogroup QEI
+ * @{
+ */
+
+#ifndef HAL_QEI_H
+#define HAL_QEI_H
+
+#if (HAL_USE_QEI == TRUE) || defined(__DOXYGEN__)
+
+/*===========================================================================*/
+/* Driver constants. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver pre-compile time settings. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Derived constants and error checks. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver data structures and types. */
+/*===========================================================================*/
+
+/**
+ * @brief Driver state machine possible states.
+ */
+typedef enum {
+ QEI_UNINIT = 0, /**< Not initialized. */
+ QEI_STOP = 1, /**< Stopped. */
+ QEI_READY = 2, /**< Ready. */
+ QEI_ACTIVE = 3, /**< Active. */
+} qeistate_t;
+
+/**
+ * @brief Type of a structure representing an QEI driver.
+ */
+typedef struct QEIDriver QEIDriver;
+
+/**
+ * @brief QEI notification callback type.
+ *
+ * @param[in] qeip pointer to a @p QEIDriver object
+ */
+typedef void (*qeicallback_t)(QEIDriver *qeip);
+
+#include "hal_qei_lld.h"
+
+/*===========================================================================*/
+/* Driver macros. */
+/*===========================================================================*/
+
+/**
+ * @name Macro Functions
+ * @{
+ */
+/**
+ * @brief Enables the input capture.
+ *
+ * @param[in] qeip pointer to the @p QEIDriver object
+ *
+ * @iclass
+ */
+#define qeiEnableI(qeip) qei_lld_enable(qeip)
+
+/**
+ * @brief Disables the input capture.
+ *
+ * @param[in] qeip pointer to the @p QEIDriver object
+ *
+ * @iclass
+ */
+#define qeiDisableI(qeip) qei_lld_disable(qeip)
+
+/**
+ * @brief Returns the counter value.
+ *
+ * @param[in] qeip pointer to the @p QEIDriver object
+ * @return The current counter value.
+ *
+ * @iclass
+ */
+#define qeiGetCountI(qeip) qei_lld_get_count(qeip)
+
+/*===========================================================================*/
+/* External declarations. */
+/*===========================================================================*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ void qeiInit(void);
+ void qeiObjectInit(QEIDriver *qeip);
+ void qeiStart(QEIDriver *qeip, const QEIConfig *config);
+ void qeiStop(QEIDriver *qeip);
+ void qeiEnable(QEIDriver *qeip);
+ void qeiDisable(QEIDriver *qeip);
+ qeicnt_t qeiGetCount(QEIDriver *qeip);
+ qeidelta_t qeiUpdate(QEIDriver *qeip);
+ qeidelta_t qeiUpdateI(QEIDriver *qeip);
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HAL_USE_QEI == TRUE */
+
+#endif /* HAL_QEI_H */
+
+/** @} */
diff --git a/os/hal/include/hal_timcap.h b/os/hal/include/hal_timcap.h index 9629564..bd43dd1 100644 --- a/os/hal/include/hal_timcap.h +++ b/os/hal/include/hal_timcap.h @@ -32,11 +32,7 @@ #include "ch.h" #include "hal.h" -#ifndef HAL_USE_TIMCAP -#define HAL_USE_TIMCAP FALSE -#endif - -#if HAL_USE_TIMCAP || defined(__DOXYGEN__) +#if (HAL_USE_TIMCAP == TRUE) || defined(__DOXYGEN__) /*===========================================================================*/ /* Driver constants. */ diff --git a/os/hal/include/hal_usbh.h b/os/hal/include/hal_usbh.h index 8029be8..5fd0047 100644 --- a/os/hal/include/hal_usbh.h +++ b/os/hal/include/hal_usbh.h @@ -20,9 +20,6 @@ #include "hal.h" -#ifndef HAL_USE_USBH -#define HAL_USE_USBH FALSE -#endif #ifndef HAL_USBH_USE_FTDI #define HAL_USBH_USE_FTDI FALSE @@ -40,7 +37,7 @@ #define HAL_USBH_USE_UVC FALSE #endif -#if HAL_USE_USBH +#if (HAL_USE_USBH == TRUE) || defined(__DOXYGEN__) #include "osal.h" #include "usbh/list.h" |