mbed library for STMicroelectronics' X-NUCLEO-IKA01A1 expansion board.
Dependents: HelloWorld_IKA01A1
Fork of X_NUCLEO_IKA01A1 by
Library for STMicroelectronics' X-NUCLEO-IKA01A1 multifunctional expansion board based on operational amplifiers.
Revision 22:ff8d071bf79e, committed 2017-05-09
- Comitter:
- Davidroid
- Date:
- Tue May 09 11:49:16 2017 +0000
- Parent:
- 21:8d0624950dd1
- Child:
- 23:807f66b435d6
- Commit message:
- Aligned to ARM mbed coding style.
Changed in this revision
--- a/Components/Common/component.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/**
- ******************************************************************************
- * @file component.h
- * @author AST
- * @version V1.0.0
- * @date 1 April 2015
- * @brief Generic header file containing a generic component's definitions
- * and I/O functions.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __COMPONENT_H
-#define __COMPONENT_H
-
-
-/* Types ---------------------------------------------------------------------*/
-
-/**
- * @brief Component's Context structure definition.
- */
-typedef struct
-{
- /* Identity. */
- uint8_t who_am_i;
-
- /* ACTION ----------------------------------------------------------------*/
- /* There should be only a unique identifier for each component, which */
- /* should be the "who_am_i" parameter, hence this parameter is optional. */
- /* -----------------------------------------------------------------------*/
- /* Type. */
- uint8_t type;
-
- /* Configuration. */
- uint8_t address;
-
- /* Pointer to the Data. */
- void *pData;
-
- /* Pointer to the Virtual Table. */
- void *pVTable;
-
- /* ACTION ----------------------------------------------------------------*/
- /* There should be only a unique virtual table for each component, which */
- /* should be the "pVTable" parameter, hence this parameter is optional. */
- /* -----------------------------------------------------------------------*/
- /* Pointer to the Extended Virtual Table. */
- void *pExtVTable;
-} Handle_t;
-
-/**
- * @brief Component's Status enumerator definition.
- */
-typedef enum
-{
- COMPONENT_OK = 0,
- COMPONENT_ERROR,
- COMPONENT_TIMEOUT,
- COMPONENT_NOT_IMPLEMENTED
-} Status_t;
-
-#endif /* __COMPONENT_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Common/component_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,93 @@
+/**
+ ******************************************************************************
+ * @file component_def.h
+ * @author AST
+ * @version V1.0.0
+ * @date 1 April 2015
+ * @brief Generic header file containing a generic component's definitions
+ * and I/O functions.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __COMPONENT_H
+#define __COMPONENT_H
+
+
+/* Types ---------------------------------------------------------------------*/
+
+/**
+ * @brief Component's Context structure definition.
+ */
+typedef struct
+{
+ /* Identity. */
+ uint8_t who_am_i;
+
+ /* ACTION ----------------------------------------------------------------*/
+ /* There should be only a unique identifier for each component, which */
+ /* should be the "who_am_i" parameter, hence this parameter is optional. */
+ /* -----------------------------------------------------------------------*/
+ /* Type. */
+ uint8_t type;
+
+ /* Configuration. */
+ uint8_t address;
+
+ /* Pointer to the Data. */
+ void *p_data;
+
+ /* Pointer to the Virtual Table. */
+ void *p_vt;
+
+ /* ACTION ----------------------------------------------------------------*/
+ /* There should be only a unique virtual table for each component, which */
+ /* should be the "p_vt" parameter, hence this parameter is optional. */
+ /* -----------------------------------------------------------------------*/
+ /* Pointer to the Extended Virtual Table. */
+ void *p_ext_vt;
+} handle_t;
+
+/**
+ * @brief Component's Status enumerator definition.
+ */
+typedef enum
+{
+ COMPONENT_OK = 0,
+ COMPONENT_ERROR,
+ COMPONENT_TIMEOUT,
+ COMPONENT_NOT_IMPLEMENTED
+} status_t;
+
+#endif /* __COMPONENT_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- a/Components/Common/instrumentation_amp.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/**
- ******************************************************************************
- * @file instrumentation_amp.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSZ124
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __INSTRUMENTATION_AMP_H
-#define __INSTRUMENTATION_AMP_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <stdint.h>
-#include "component.h"
-
-
-/* Types ---------------------------------------------------------------------*/
-
-/** @addtogroup BSP
- * @{
- */
-
-/** @addtogroup Components
- * @{
- */
-
-/** @addtogroup INSTRUMENTATION_AMP
- * @{
- */
-
-/** @defgroup INSTRUMENTATION_AMP_Exported_Types
- * @{
- */
-
-/**
- * @brief INSTRUMENTATION_AMP component identifier enumerator definition.
- */
-typedef enum
-{
- INSTRUMENTATION_AMP_NONE_COMPONENT = 0,
- INSTRUMENTATION_AMP_TSZ124_COMPONENT = 1
-} INSTRUMENTATION_AMP_Component_t;
-
-/**
- * @brief INSTRUMENTATION_AMP driver virtual table structure definition.
- */
-typedef struct
-{
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's generic functions. *
- * Tag this group of functions with the " Generic " C-style comment. *
- * A component's interface has to define at least the two generic *
- * functions provided here below within the "Example" section, as the *
- * first and second functions of its Virtual Table. They have to be *
- * specified exactly in the given way. *
- * *
- * Example: *
- * Status_t (*Init) (void *handle, void *init); *
- * Status_t (*ReadID) (void *handle, uint8_t *id); *
- *------------------------------------------------------------------------*/
- /* Generic */
- Status_t (*Init) (void *handle, void *init);
- Status_t (*ReadID) (void *handle, uint8_t *id);
-
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's specific functions. *
- * Tag this group of functions with the " Specific " C-style comment. *
- * Do not specify any function if not required. *
- * *
- * Example: *
- * Status_t (*GetValue) (void *handle, float *f); *
- *------------------------------------------------------------------------*/
- /* Specific */
- unsigned int (*GetVoltage) (void *handle);
- unsigned int (*GetCurrent) (void *handle);
-} INSTRUMENTATION_AMP_VTable_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __INSTRUMENTATION_AMP_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Common/instrumentation_amp_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,123 @@
+/**
+ ******************************************************************************
+ * @file instrumentation_amp.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSZ124
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __INSTRUMENTATION_AMP_H
+#define __INSTRUMENTATION_AMP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <stdint.h>
+#include "component_def.h"
+
+
+/* Types ---------------------------------------------------------------------*/
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup Components
+ * @{
+ */
+
+/** @addtogroup INSTRUMENTATION_AMP
+ * @{
+ */
+
+/** @defgroup INSTRUMENTATION_AMP_Exported_Types
+ * @{
+ */
+
+/**
+ * @brief INSTRUMENTATION_AMP component identifier enumerator definition.
+ */
+typedef enum
+{
+ INSTRUMENTATION_AMP_NONE_COMPONENT = 0,
+ INSTRUMENTATION_AMP_TSZ124_COMPONENT = 1
+} INSTRUMENTATION_AMP_component_t;
+
+/**
+ * @brief INSTRUMENTATION_AMP driver virtual table structure definition.
+ */
+typedef struct
+{
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's generic functions. *
+ * Tag this group of functions with the " Generic " C-style comment. *
+ * A component's interface has to define at least the two generic *
+ * functions provided here below within the "Example" section, as the *
+ * first and second functions of its Virtual Table. They have to be *
+ * specified exactly in the given way. *
+ * *
+ * Example: *
+ * status_t (*Init) (void *handle, void *init); *
+ * status_t (*ReadID) (void *handle, uint8_t *id); *
+ *------------------------------------------------------------------------*/
+ /* Generic */
+ status_t (*Init) (void *handle, void *init);
+ status_t (*ReadID) (void *handle, uint8_t *id);
+
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's specific functions. *
+ * Tag this group of functions with the " Specific " C-style comment. *
+ * Do not specify any function if not required. *
+ * *
+ * Example: *
+ * status_t (*GetValue) (void *handle, float *f); *
+ *------------------------------------------------------------------------*/
+ /* Specific */
+ unsigned int (*GetVoltage) (void *handle);
+ unsigned int (*GetCurrent) (void *handle);
+} INSTRUMENTATION_AMP_vt_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __INSTRUMENTATION_AMP_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- a/Components/Common/led_driver.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/**
- ******************************************************************************
- * @file led_driver.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSZ124
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __LED_DRIVER
-#define __LED_DRIVER
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <stdint.h>
-#include "component.h"
-
-
-/* Types ---------------------------------------------------------------------*/
-
-/** @addtogroup BSP
- * @{
- */
-
-/** @addtogroup Components
- * @{
- */
-
-/** @addtogroup INSTRUMENTATION_AMP
- * @{
- */
-
-/** @defgroup INSTRUMENTATION_AMP_Exported_Types
- * @{
- */
-
-/**
- * @brief INSTRUMENTATION_AMP component identifier enumerator definition.
- */
-typedef enum
-{
- LED_DRIVER_NONE_COMPONENT = 0,
- LED_DRIVER_TSV734_COMPONENT = 1
-} LED_DRIVER_Component_t;
-
-/**
- * @brief LED_DRIVER driver virtual table structure definition.
- */
-typedef struct
-{
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's generic functions. *
- * Tag this group of functions with the " Generic " C-style comment. *
- * A component's interface has to define at least the two generic *
- * functions provided here below within the "Example" section, as the *
- * first and second functions of its Virtual Table. They have to be *
- * specified exactly in the given way. *
- * *
- * Example: *
- * Status_t (*Init) (void *handle, void *init); *
- * Status_t (*ReadID) (void *handle, uint8_t *id); *
- *------------------------------------------------------------------------*/
- /* Generic */
- Status_t (*Init) (void *handle, void *init);
- Status_t (*ReadID) (void *handle, uint8_t *id);
-
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's specific functions. *
- * Tag this group of functions with the " Specific " C-style comment. *
- * Do not specify any function if not required. *
- * *
- * Example: *
- * Status_t (*GetValue) (void *handle, float *f); *
- *------------------------------------------------------------------------*/
- /* Specific */
- double (*SetDutyCycle) (void *handle, double dc);
-} LED_DRIVER_VTable_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __LED_DRIVER */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Common/led_driver_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,122 @@
+/**
+ ******************************************************************************
+ * @file led_driver.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSZ124
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __LED_DRIVER
+#define __LED_DRIVER
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <stdint.h>
+#include "component_def.h"
+
+
+/* Types ---------------------------------------------------------------------*/
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup Components
+ * @{
+ */
+
+/** @addtogroup INSTRUMENTATION_AMP
+ * @{
+ */
+
+/** @defgroup INSTRUMENTATION_AMP_Exported_Types
+ * @{
+ */
+
+/**
+ * @brief INSTRUMENTATION_AMP component identifier enumerator definition.
+ */
+typedef enum
+{
+ LED_DRIVER_NONE_COMPONENT = 0,
+ LED_DRIVER_TSV734_COMPONENT = 1
+} LED_DRIVER_component_t;
+
+/**
+ * @brief LED_DRIVER driver virtual table structure definition.
+ */
+typedef struct
+{
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's generic functions. *
+ * Tag this group of functions with the " Generic " C-style comment. *
+ * A component's interface has to define at least the two generic *
+ * functions provided here below within the "Example" section, as the *
+ * first and second functions of its Virtual Table. They have to be *
+ * specified exactly in the given way. *
+ * *
+ * Example: *
+ * status_t (*Init) (void *handle, void *init); *
+ * status_t (*ReadID) (void *handle, uint8_t *id); *
+ *------------------------------------------------------------------------*/
+ /* Generic */
+ status_t (*Init) (void *handle, void *init);
+ status_t (*ReadID) (void *handle, uint8_t *id);
+
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's specific functions. *
+ * Tag this group of functions with the " Specific " C-style comment. *
+ * Do not specify any function if not required. *
+ * *
+ * Example: *
+ * status_t (*GetValue) (void *handle, float *f); *
+ *------------------------------------------------------------------------*/
+ /* Specific */
+ double (*SetDutyCycle) (void *handle, double dc);
+} LED_DRIVER_vt_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __LED_DRIVER */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- a/Components/Common/photosensor.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/**
- ******************************************************************************
- * @file photodiode.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSU104
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __PHOTODIODE_H
-#define __PHOTODIODE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <stdint.h>
-#include "component.h"
-
-
-/* Types ---------------------------------------------------------------------*/
-
-/** @addtogroup BSP
- * @{
- */
-
-/** @addtogroup Components
- * @{
- */
-
-/** @addtogroup PHOTODIODE
- * @{
- */
-
-/** @defgroup PHOTODIODE_Exported_Types
- * @{
- */
-
-/**
- * @brief PHOTODIODE component identifier enumerator definition.
- */
-typedef enum
-{
- PHOTODIODE_NONE_COMPONENT = 0,
- PHOTODIODE_TSU104_COMPONENT = 1
-} PHOTODIODEE_Component_t;
-
-/**
- * @brief PHOTODIODE driver virtual table structure definition.
- */
-typedef struct
-{
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's generic functions. *
- * Tag this group of functions with the " Generic " C-style comment. *
- * A component's interface has to define at least the two generic *
- * functions provided here below within the "Example" section, as the *
- * first and second functions of its Virtual Table. They have to be *
- * specified exactly in the given way. *
- * *
- * Example: *
- * Status_t (*Init) (void *handle, void *init); *
- * Status_t (*ReadID) (void *handle, uint8_t *id); *
- *------------------------------------------------------------------------*/
- /* Generic */
- Status_t (*Init) (void *handle, void *init);
- Status_t (*ReadID) (void *handle, uint8_t *id);
-
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's specific functions. *
- * Tag this group of functions with the " Specific " C-style comment. *
- * Do not specify any function if not required. *
- * *
- * Example: *
- * Status_t (*GetValue) (void *handle, float *f); *
- *------------------------------------------------------------------------*/
- /* Specific */
- unsigned int (*GetGetVoltage) (void *handle);
-} WINDCOMP_VTable_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __PHOTODIODE_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Common/photosensor_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,121 @@
+/**
+ ******************************************************************************
+ * @file photodiode.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSU104
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __PHOTODIODE_H
+#define __PHOTODIODE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <stdint.h>
+#include "component_def.h"
+
+
+/* Types ---------------------------------------------------------------------*/
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup Components
+ * @{
+ */
+
+/** @addtogroup PHOTODIODE
+ * @{
+ */
+
+/** @defgroup PHOTODIODE_Exported_Types
+ * @{
+ */
+
+/**
+ * @brief PHOTODIODE component identifier enumerator definition.
+ */
+typedef enum
+{
+ PHOTODIODE_NONE_COMPONENT = 0,
+ PHOTODIODE_TSU104_COMPONENT = 1
+} PHOTODIODEE_component_t;
+
+/**
+ * @brief PHOTODIODE driver virtual table structure definition.
+ */
+typedef struct
+{
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's generic functions. *
+ * Tag this group of functions with the " Generic " C-style comment. *
+ * A component's interface has to define at least the two generic *
+ * functions provided here below within the "Example" section, as the *
+ * first and second functions of its Virtual Table. They have to be *
+ * specified exactly in the given way. *
+ * *
+ * Example: *
+ * status_t (*Init) (void *handle, void *init); *
+ * status_t (*ReadID) (void *handle, uint8_t *id); *
+ *------------------------------------------------------------------------*/
+ /* Generic */
+ status_t (*Init) (void *handle, void *init);
+ status_t (*ReadID) (void *handle, uint8_t *id);
+
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's specific functions. *
+ * Tag this group of functions with the " Specific " C-style comment. *
+ * Do not specify any function if not required. *
+ * *
+ * Example: *
+ * status_t (*GetValue) (void *handle, float *f); *
+ *------------------------------------------------------------------------*/
+ /* Specific */
+ unsigned int (*GetGetVoltage) (void *handle);
+} WINDCOMP_vt_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __PHOTODIODE_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- a/Components/Common/windcomp.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/**
- ******************************************************************************
- * @file WIND_COMP.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSU104
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __WIND_COMP_H
-#define __WIND_COMP_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <stdint.h>
-#include "component.h"
-
-
-/* Types ---------------------------------------------------------------------*/
-
-/** @addtogroup BSP
- * @{
- */
-
-/** @addtogroup Components
- * @{
- */
-
-/** @addtogroup WIND_COMP
- * @{
- */
-
-/** @defgroup WIND_COMP_Exported_Types
- * @{
- */
-
-/**
- * @brief WIND_COMP component identifier enumerator definition.
- */
-typedef enum
-{
- WIND_COMP_NONE_COMPONENT = 0,
- WIND_COMP_TSU104_COMPONENT = 1
-} WIND_COMPE_Component_t;
-
-/**
- * @brief WIND_COMP driver virtual table structure definition.
- */
-typedef struct
-{
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's generic functions. *
- * Tag this group of functions with the " Generic " C-style comment. *
- * A component's interface has to define at least the two generic *
- * functions provided here below within the "Example" section, as the *
- * first and second functions of its Virtual Table. They have to be *
- * specified exactly in the given way. *
- * *
- * Example: *
- * Status_t (*Init) (void *handle, void *init); *
- * Status_t (*ReadID) (void *handle, uint8_t *id); *
- *------------------------------------------------------------------------*/
- /* Generic */
- Status_t (*Init) (void *handle, void *init);
- Status_t (*ReadID) (void *handle, uint8_t *id);
-
- /* ACTION ----------------------------------------------------------------*
- * Declare here the component's specific functions. *
- * Tag this group of functions with the " Specific " C-style comment. *
- * Do not specify any function if not required. *
- * *
- * Example: *
- * Status_t (*GetValue) (void *handle, float *f); *
- *------------------------------------------------------------------------*/
- /* Specific */
- unsigned int (*GetSignal1) (void *handle);
- unsigned int (*GetSignal2) (void *handle);
-} WINDCOMP_VTable_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WIND_COMP_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Common/windcomp_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,123 @@
+/**
+ ******************************************************************************
+ * @file WIND_COMP.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSU104
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __WIND_COMP_H
+#define __WIND_COMP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <stdint.h>
+#include "component_def.h"
+
+
+/* Types ---------------------------------------------------------------------*/
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup Components
+ * @{
+ */
+
+/** @addtogroup WIND_COMP
+ * @{
+ */
+
+/** @defgroup WIND_COMP_Exported_Types
+ * @{
+ */
+
+/**
+ * @brief WIND_COMP component identifier enumerator definition.
+ */
+typedef enum
+{
+ WIND_COMP_NONE_COMPONENT = 0,
+ WIND_COMP_TSU104_COMPONENT = 1
+} WIND_COMPE_component_t;
+
+/**
+ * @brief WIND_COMP driver virtual table structure definition.
+ */
+typedef struct
+{
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's generic functions. *
+ * Tag this group of functions with the " Generic " C-style comment. *
+ * A component's interface has to define at least the two generic *
+ * functions provided here below within the "Example" section, as the *
+ * first and second functions of its Virtual Table. They have to be *
+ * specified exactly in the given way. *
+ * *
+ * Example: *
+ * status_t (*Init) (void *handle, void *init); *
+ * status_t (*ReadID) (void *handle, uint8_t *id); *
+ *------------------------------------------------------------------------*/
+ /* Generic */
+ status_t (*Init) (void *handle, void *init);
+ status_t (*ReadID) (void *handle, uint8_t *id);
+
+ /* ACTION ----------------------------------------------------------------*
+ * Declare here the component's specific functions. *
+ * Tag this group of functions with the " Specific " C-style comment. *
+ * Do not specify any function if not required. *
+ * *
+ * Example: *
+ * status_t (*GetValue) (void *handle, float *f); *
+ *------------------------------------------------------------------------*/
+ /* Specific */
+ unsigned int (*GetSignal1) (void *handle);
+ unsigned int (*GetSignal2) (void *handle);
+} WINDCOMP_vt_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WIND_COMP_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Interfaces/Component.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,81 @@
+/**
+ ******************************************************************************
+ * @file Component.h
+ * @author AST
+ * @version V1.0.0
+ * @date April 13th, 2015
+ * @brief This file contains the abstract class describing the interface of a
+ * generic component.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __COMPONENT_CLASS_H
+#define __COMPONENT_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <stdint.h>
+
+
+/* Classes ------------------------------------------------------------------*/
+
+/**
+ * An abstract class for Generic components.
+ */
+class Component {
+public:
+
+ /**
+ * @brief Initializing the component.
+ * @param[in] init pointer to device specific initalization structure.
+ * @retval "0" in case of success, an error code otherwise.
+ */
+ virtual int init(void *init) = 0;
+
+ /**
+ * @brief Getting the ID of the component.
+ * @param[out] id pointer to an allocated variable to store the ID into.
+ * @retval "0" in case of success, an error code otherwise.
+ */
+ virtual int read_id(uint8_t *id) = 0;
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~Component() {};
+};
+
+#endif /* __COMPONENT_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- a/Components/Interfaces/Component_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/**
- ******************************************************************************
- * @file Component_class.h
- * @author AST
- * @version V1.0.0
- * @date April 13th, 2015
- * @brief This file contains the abstract class describing the interface of a
- * generic component.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __COMPONENT_CLASS_H
-#define __COMPONENT_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <stdint.h>
-
-
-/* Classes ------------------------------------------------------------------*/
-
-/** An abstract class for Generic components.
- */
-class Component
-{
-public:
- /**
- * @brief Initializing the component.
- * @param[in] init pointer to device specific initalization structure.
- * @retval "0" in case of success, an error code otherwise.
- */
- virtual int Init(void *init) = 0;
-
- /**
- * @brief Getting the ID of the component.
- * @param[out] id pointer to an allocated variable to store the ID into.
- * @retval "0" in case of success, an error code otherwise.
- */
- virtual int ReadID(uint8_t *id) = 0;
-};
-
-#endif /* __COMPONENT_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Interfaces/InstrumentationAmp.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,103 @@
+/**
+ ******************************************************************************
+ * @file InstrumentationAmp.h
+ * @author AST
+ * @version V1.0.0
+ * @date April 13th, 2015
+ * @brief This file contains the abstract class describing the interface of a
+ * instrumentation_amp component.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/instrumentation_amp.h
+ Revision: 385
+*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __INSTRUMENTATION_AMP_CLASS_H
+#define __INSTRUMENTATION_AMP_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <Component.h>
+
+
+/* Classes ------------------------------------------------------------------*/
+
+/** An abstract class for InstrumentationAmp components.
+ */
+class InstrumentationAmp : public Component
+{
+public:
+ /* ACTION 1 --------------------------------------------------------------*
+ * Declare here the interface's methods. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table *
+ * (and extended virtual table, if any)'s functions, provided that *
+ * the component's driver implements them (i.e.: the corresponding *
+ * pointer to function is not "0"). *
+ * *
+ * Example: *
+ * virtual int get_value(float *f) = 0; *
+ *------------------------------------------------------------------------*/
+
+ /**
+ * @brief abstract method to obtain the amplified differential voltage in instrumentation Amplifier configuration
+ * @retval amplified differential voltage in instrumentation Amplifier configuration
+ */
+ virtual unsigned int get_voltage(void) = 0;
+
+ /**
+ * @brief abstract method to obtain the current consumed by the application in Current sensing configuration
+ * @retval current consumed by the application in Current sensing configuration
+ */
+ virtual unsigned int get_current(void) = 0;
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~InstrumentationAmp() {};
+};
+
+#endif /* __INSTRUMENTATION_AMP_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- a/Components/Interfaces/Instrumentation_amp_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/**
- ******************************************************************************
- * @file Instrumentation_amp_class.h
- * @author AST
- * @version V1.0.0
- * @date April 13th, 2015
- * @brief This file contains the abstract class describing the interface of a
- * instrumentation_amp component.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/instrumentation_amp.h
- Revision: 385
-*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __INSTRUMENTATION_AMP_CLASS_H
-#define __INSTRUMENTATION_AMP_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <Component_class.h>
-
-
-/* Classes ------------------------------------------------------------------*/
-
-/** An abstract class for Instrumentation_amp components.
- */
-class Instrumentation_amp : public Component
-{
-public:
- /* ACTION 1 --------------------------------------------------------------*
- * Declare here the interface's methods. *
- * They should be: *
- * + Methods with the same name of the C component's virtual table *
- * (and extended virtual table, if any)'s functions, provided that *
- * the component's driver implements them (i.e.: the corresponding *
- * pointer to function is not "0"). *
- * *
- * Example: *
- * virtual int GetValue(float *f) = 0; *
- *------------------------------------------------------------------------*/
-
- /**
- * @brief abstract method to obtain the amplified differential voltage in instrumentation Amplifier configuration
- * @retval amplified differential voltage in instrumentation Amplifier configuration
- */
- virtual unsigned int GetVoltage(void) = 0;
-
- /**
- * @brief abstract method to obtain the current consumed by the application in Current sensing configuration
- * @retval current consumed by the application in Current sensing configuration
- */
- virtual unsigned int GetCurrent(void) = 0;
-};
-
-#endif /* __INSTRUMENTATION_AMP_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Interfaces/LedDriver.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,98 @@
+/**
+ ******************************************************************************
+ * @file LedDriver.h
+ * @author AST
+ * @version V1.0.0
+ * @date April 13th, 2015
+ * @brief This file contains the abstract class describing the interface of a
+ * led_driver component.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/led_driver.h
+ Revision: 385
+*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __LED_DRIVER_CLASS_H
+#define __LED_DRIVER_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <Component.h>
+
+
+/* Classes ------------------------------------------------------------------*/
+
+/** An abstract class for LedDriver components.
+ */
+class LedDriver : public Component
+{
+public:
+ /* ACTION 1 --------------------------------------------------------------*
+ * Declare here the interface's methods. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table *
+ * (and extended virtual table, if any)'s functions, provided that *
+ * the component's driver implements them (i.e.: the corresponding *
+ * pointer to function is not "0"). *
+ * *
+ * Example: *
+ * virtual int get_value(float *f) = 0; *
+ *------------------------------------------------------------------------*/
+
+ /**
+ * @brief abstract method for setting the duty cycle of LED in LED driver configuration
+ * @param dc duty cycle to set
+ * @retval duty cycle in LED driver configuration
+ */
+ virtual double set_duty_cycle(double dc) = 0;
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~LedDriver() {};
+};
+
+#endif /* __LED_DRIVER_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- a/Components/Interfaces/Led_driver_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/**
- ******************************************************************************
- * @file Led_driver_class.h
- * @author AST
- * @version V1.0.0
- * @date April 13th, 2015
- * @brief This file contains the abstract class describing the interface of a
- * led_driver component.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/led_driver.h
- Revision: 385
-*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __LED_DRIVER_CLASS_H
-#define __LED_DRIVER_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <Component_class.h>
-
-
-/* Classes ------------------------------------------------------------------*/
-
-/** An abstract class for Led_driver components.
- */
-class Led_driver : public Component
-{
-public:
- /* ACTION 1 --------------------------------------------------------------*
- * Declare here the interface's methods. *
- * They should be: *
- * + Methods with the same name of the C component's virtual table *
- * (and extended virtual table, if any)'s functions, provided that *
- * the component's driver implements them (i.e.: the corresponding *
- * pointer to function is not "0"). *
- * *
- * Example: *
- * virtual int GetValue(float *f) = 0; *
- *------------------------------------------------------------------------*/
-
- /**
- * @brief abstract method for setting the duty cycle of LED in LED driver configuration
- * @param dc duty cycle to set
- * @retval duty cycle in LED driver configuration
- */
- virtual double SetDutyCycle(double dc) = 0;
-};
-
-#endif /* __LED_DRIVER_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Interfaces/PhotoSensor.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,97 @@
+/**
+ ******************************************************************************
+ * @file PhotoSensor.h
+ * @author AST
+ * @version V1.0.0
+ * @date April 13th, 2015
+ * @brief This file contains the abstract class describing the interface of a
+ * PHOTO_SENSOR component.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/PHOTO_SENSOR.h
+ Revision: 385
+*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __PHOTO_SENSOR_CLASS_H
+#define __PHOTO_SENSOR_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <Component.h>
+
+
+/* Classes ------------------------------------------------------------------*/
+
+/** An abstract class for photo sensor components.
+ */
+class PhotoSensor : public Component
+{
+public:
+ /* ACTION 1 --------------------------------------------------------------*
+ * Declare here the interface's methods. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table *
+ * (and extended virtual table, if any)'s functions, provided that *
+ * the component's driver implements them (i.e.: the corresponding *
+ * pointer to function is not "0"). *
+ * *
+ * Example: *
+ * virtual int get_value(float *f) = 0; *
+ *------------------------------------------------------------------------*/
+
+ /**
+ * @brief abstract method for obtaining the output voltage detected by photo sensor
+ * @param pin AnalogIn pin to use for detecting the voltage
+ * @retval voltage detected by photo sensor
+ */
+ virtual unsigned int get_voltage(void) = 0;
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~PhotoSensor() {};
+};
+
+#endif /* __PHOTO_SENSOR_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- a/Components/Interfaces/PhotoSensor_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/**
- ******************************************************************************
- * @file PHOTO_SENSOR_class.h
- * @author AST
- * @version V1.0.0
- * @date April 13th, 2015
- * @brief This file contains the abstract class describing the interface of a
- * PHOTO_SENSOR component.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/PHOTO_SENSOR.h
- Revision: 385
-*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __PHOTO_SENSOR_CLASS_H
-#define __PHOTO_SENSOR_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <Component_class.h>
-
-
-/* Classes ------------------------------------------------------------------*/
-
-/** An abstract class for photo sensor components.
- */
-class PhotoSensor : public Component
-{
-public:
- /* ACTION 1 --------------------------------------------------------------*
- * Declare here the interface's methods. *
- * They should be: *
- * + Methods with the same name of the C component's virtual table *
- * (and extended virtual table, if any)'s functions, provided that *
- * the component's driver implements them (i.e.: the corresponding *
- * pointer to function is not "0"). *
- * *
- * Example: *
- * virtual int GetValue(float *f) = 0; *
- *------------------------------------------------------------------------*/
-
- /**
- * @brief abstract method for obtaining the output voltage detected by photo sensor
- * @param pin AnalogIn pin to use for detecting the voltage
- * @retval voltage detected by photo sensor
- */
- virtual unsigned int GetVoltage(void) = 0;
-};
-
-#endif /* __PHOTO_SENSOR_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/Interfaces/Windcomp.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,103 @@
+/**
+ ******************************************************************************
+ * @file Windcomp.h
+ * @author AST
+ * @version V1.0.0
+ * @date April 13th, 2015
+ * @brief This file contains the abstract class describing the interface of a
+ * windcomp component.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/windcomp.h
+ Revision: 385
+*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __WINDCOMP_CLASS_H
+#define __WINDCOMP_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include <Component.h>
+
+
+/* Classes ------------------------------------------------------------------*/
+
+/** An abstract class for Windcomp components.
+ */
+class Windcomp : public Component
+{
+public:
+ /* ACTION 1 --------------------------------------------------------------*
+ * Declare here the interface's methods. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table *
+ * (and extended virtual table, if any)'s functions, provided that *
+ * the component's driver implements them (i.e.: the corresponding *
+ * pointer to function is not "0"). *
+ * *
+ * Example: *
+ * virtual int get_value(float *f) = 0; *
+ *------------------------------------------------------------------------*/
+
+ /**
+ * @brief abstract method for obtaining digital signal value 1 in windows comparator configuration
+ * @retval digital signal value 1
+ */
+ virtual unsigned int get_signal1(void) = 0;
+
+ /**
+ * @brief abstract method for obtaining digital signal value 2 in windows comparator configuration
+ * @retval digital signal value 2
+ */
+ virtual unsigned int get_signal2(void) = 0;
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~Windcomp() {};
+};
+
+#endif /* __WINDCOMP_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- a/Components/Interfaces/Windcomp_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/**
- ******************************************************************************
- * @file Windcomp_class.h
- * @author AST
- * @version V1.0.0
- * @date April 13th, 2015
- * @brief This file contains the abstract class describing the interface of a
- * windcomp component.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/Common/windcomp.h
- Revision: 385
-*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __WINDCOMP_CLASS_H
-#define __WINDCOMP_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include <Component_class.h>
-
-
-/* Classes ------------------------------------------------------------------*/
-
-/** An abstract class for Windcomp components.
- */
-class Windcomp : public Component
-{
-public:
- /* ACTION 1 --------------------------------------------------------------*
- * Declare here the interface's methods. *
- * They should be: *
- * + Methods with the same name of the C component's virtual table *
- * (and extended virtual table, if any)'s functions, provided that *
- * the component's driver implements them (i.e.: the corresponding *
- * pointer to function is not "0"). *
- * *
- * Example: *
- * virtual int GetValue(float *f) = 0; *
- *------------------------------------------------------------------------*/
-
- /**
- * @brief abstract method for obtaining digital signal value 1 in windows comparator configuration
- * @retval digital signal value 1
- */
- virtual unsigned int GetSignal1(void) = 0;
-
- /**
- * @brief abstract method for obtaining digital signal value 2 in windows comparator configuration
- * @retval digital signal value 2
- */
- virtual unsigned int GetSignal2(void) = 0;};
-
-#endif /* __WINDCOMP_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSU104/TSU104.cpp Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,73 @@
+/**
+ ******************************************************************************
+ * @file TSU104.cpp
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSU104
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsu104/tsu104.c
+ Revision: 410
+*/
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "TSU104.h"
+
+
+/* Methods -------------------------------------------------------------------*/
+
+/* TSU104's private functions. */
+
+status_t TSU104::TSU104_Init(void *init) {
+ return COMPONENT_OK;
+}
+
+status_t TSU104::TSU104_ReadID(void *init) {
+ return COMPONENT_OK;
+}
+
+status_t TSU104::TSU104_ConfigIT(void *init) {
+ return COMPONENT_OK;
+}
+
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSU104/TSU104.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,319 @@
+/**
+ ******************************************************************************
+ * @file TSU104.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSU104
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsu104/tsu104.h
+ Revision: 402
+*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __TSU104_CLASS_H
+#define __TSU104_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION 1 ------------------------------------------------------------------*
+ * Include here platform specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "mbed.h"
+/* ACTION 2 ------------------------------------------------------------------*
+ * Include here component specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "TSU104_def.h"
+/* ACTION 3 ------------------------------------------------------------------*
+ * Include here interface specific header files. *
+ * *
+ * Example: *
+ * #include "HumiditySensor.h" *
+ * #include "TemperatureSensor.h" *
+ *----------------------------------------------------------------------------*/
+#include "../Interfaces/Windcomp.h"
+#include "../Interfaces/PhotoSensor.h"
+
+
+/* Classes -------------------------------------------------------------------*/
+
+/**
+ * @brief Class representing a TSU104 operational amplifier component. The window comparator
+ * configuration allows the user to compare a signal to two threshold voltages. When the signal
+ * is out of the required voltage range, the output of the operational amplifier toggles
+ */
+class TSU104 : public Windcomp, public PhotoSensor
+{
+public:
+
+ /*** Constructor and Destructor Methods ***/
+
+ /**
+ * @brief Constructor.
+ */
+ TSU104(PinName photoSensorPin, PinName windCmpSignalPin_1,PinName windCmpSignalPin_2) : Windcomp()
+ {
+ photo_sensor_pin = photoSensorPin;
+ windCmp_signal_pin_1 = windCmpSignalPin_1;
+ windCmp_signal_pin_2 = windCmpSignalPin_2;
+ }
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~TSU104(void) {}
+
+
+ /*** Public Component Related Methods ***/
+
+ /* ACTION 5 --------------------------------------------------------------*
+ * Implement here the component's public methods, as wrappers of the C *
+ * component's functions. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table's *
+ * functions (1); *
+ * + Methods with the same name of the C component's extended virtual *
+ * table's functions, if any (2). *
+ * *
+ * Example: *
+ * virtual int get_value(float *p_data) //(1) *
+ * { *
+ * return COMPONENT_get_value(float *pf_data); *
+ * } *
+ * *
+ * virtual int enable_feature(void) //(2) *
+ * { *
+ * return COMPONENT_enable_feature(); *
+ * } *
+ *------------------------------------------------------------------------*/
+
+ /**
+ * @brief Public functions inherited from the Component Class
+ */
+
+ /**
+ * @brief initialize the class for TSU104 operational amplifier component
+ * @retval COMPONENT_OK if initialization is successfull
+ * @retval suitable error code otherwise
+ */
+ virtual int init(void *init = NULL)
+ {
+ return (int) TSU104_Init((void *) init);
+ }
+
+ /**
+ * @brief obtain component ID for TSU104 perational amplifier
+ * @retval component ID for TSU104 operational amplifier
+ */
+ virtual int read_id(uint8_t *id = NULL)
+ {
+ return (int) TSU104_ReadID((uint8_t *) id);
+ }
+
+ /**
+ * @brief Public functions inherited from the LedDriver Class
+ */
+
+ /**
+ * @brief get digital signal value 1 in windows comparator configuration
+ * @retval digital signal value 1
+ */
+ virtual unsigned int get_signal1(void)
+ {
+ DigitalIn windowsCompD2(windCmp_signal_pin_1);
+ return windowsCompD2.read();
+ }
+
+ /**
+ * @brief get digital signal value 2 in windows comparator configuration
+ * @retval digital signal value 2
+ */
+ virtual unsigned int get_signal2(void)
+ {
+ DigitalIn windowsCompD4(windCmp_signal_pin_2);
+ return windowsCompD4.read();
+ }
+
+
+ /**
+ * @brief obtain the output voltage detected by photo sensor
+ * @param pin AnalogIn pin to use for detecting the voltage
+ * @retval voltage detected by photo sensor
+ */
+ virtual unsigned int get_voltage(void)
+ {
+ AnalogIn photoSensor(photo_sensor_pin);
+ double voltage = photoSensor.read();
+ voltage = voltage*3.3*1000.0; // voltage in mV
+ return voltage;
+ }
+
+
+ /*** Public Interrupt Related Methods ***/
+
+ /* ACTION 6 --------------------------------------------------------------*
+ * Implement here interrupt related methods, if any. *
+ * Note that interrupt handling is platform dependent, e.g.: *
+ * + mbed: *
+ * InterruptIn feature_irq(pin); //Interrupt object. *
+ * feature_irq.fall(callback); //Attach a callback. *
+ * feature_irq.mode(PullNone); //Set interrupt mode. *
+ * feature_irq.enable_irq(); //Enable interrupt. *
+ * feature_irq.disable_irq(); //Disable interrupt. *
+ * + Arduino: *
+ * attachInterrupt(pin, callback, RISING); //Attach a callback. *
+ * detachInterrupt(pin); //Detach a callback. *
+ * *
+ * Example (mbed): *
+ * void attach_feature_irq(void (*fptr) (void)) *
+ * { *
+ * feature_irq.rise(fptr); *
+ * } *
+ * *
+ * void enable_feature_irq(void) *
+ * { *
+ * feature_irq.enable_irq(); *
+ * } *
+ * *
+ * void disable_feature_irq(void) *
+ * { *
+ * feature_irq.disable_irq(); *
+ * } *
+ *------------------------------------------------------------------------*/
+
+
+protected:
+
+ /*** Protected Component Related Methods ***/
+
+ /**
+ * arduino pin for photosensor output voltage
+ */
+ PinName photo_sensor_pin;
+
+ /**
+ * arduino pin for signal 1 of windows comparator configuration
+ */
+ PinName windCmp_signal_pin_1;
+
+ /**
+ * arduino pin for signal 1 of windows comparator configuration
+ */
+ PinName windCmp_signal_pin_2;
+
+ /* ACTION 7 --------------------------------------------------------------*
+ * Declare here the component's specific methods. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table's *
+ * functions (1); *
+ * + Methods with the same name of the C component's extended virtual *
+ * table's functions, if any (2); *
+ * + Helper methods, if any, like functions declared in the component's *
+ * source files but not pointed by the component's virtual table (3). *
+ * *
+ * Example: *
+ * status_t COMPONENT_get_value(float *f); //(1) *
+ * status_t COMPONENT_enable_feature(void); //(2) *
+ * status_t COMPONENT_compute_average(void); //(3) *
+ *------------------------------------------------------------------------*/
+ /* TSU104's generic functions. */
+ status_t TSU104_Init(void *init);
+ status_t TSU104_ReadID(void *id);
+
+ /* TSU104's interrupts related functions. */
+ status_t TSU104_ConfigIT(void* a);
+
+
+ /*** Component's I/O Methods ***/
+
+ /*** Component's Instance Variables ***/
+
+ /* ACTION 9 --------------------------------------------------------------*
+ * Declare here interrupt related variables, if needed. *
+ * Note that interrupt handling is platform dependent, see *
+ * "Interrupt Related Methods" above. *
+ * *
+ * Example: *
+ * + mbed: *
+ * InterruptIn feature_irq; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 10 -------------------------------------------------------------*
+ * Declare here other pin related variables, if needed. *
+ * *
+ * Example: *
+ * + mbed: *
+ * DigitalOut standby_reset; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 11 -------------------------------------------------------------*
+ * Declare here communication related variables, if needed. *
+ * *
+ * Example: *
+ * + mbed: *
+ * DigitalOut address; *
+ * DevI2C &dev_i2c; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 12 -------------------------------------------------------------*
+ * Declare here identity related variables, if needed. *
+ * Note that there should be only a unique identifier for each component, *
+ * which should be the "who_am_i" parameter. *
+ *------------------------------------------------------------------------*/
+ /* Identity */
+ uint8_t who_am_i;
+
+ /* ACTION 13 -------------------------------------------------------------*
+ * Declare here the component's static and non-static data, one variable *
+ * per line. *
+ * *
+ * Example: *
+ * float measure; *
+ * int instance_id; *
+ * static int number_of_instances; *
+ *------------------------------------------------------------------------*/
+};
+
+#endif /* __TSU104_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSU104/TSU104_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,109 @@
+/**
+ ******************************************************************************
+ * @file TSU124_def.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSU104
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __TSU104_H
+#define __TSU104_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION --------------------------------------------------------------------*
+ * Include here interface specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "../Common/windcomp_def.h"
+
+
+/* Definitions ---------------------------------------------------------------*/
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup Components
+ * @{
+ */
+
+/** @addtogroup tsz124
+ * @{
+ */
+
+/** @defgroup tsz124_Exported_Defines tsz124_Exported_Defines
+ * @{
+ */
+#ifndef NULL
+ #define NULL (void *) 0
+#endif
+
+/**
+ * @brief Device Address
+ */
+#define TSU104_ADDRESS (0x10)
+
+/* ACTION --------------------------------------------------------------------*
+ * Put here the component's registers' addresses. *
+ *----------------------------------------------------------------------------*/
+
+/**
+ * @brief Device identification register.
+ * \code
+ * Read
+ * Default value: 0xXX
+ * 7:0 This read-only register contains the device identifier.
+ * \endcode
+*/
+#define TSU104_WHO_AM_I_ADDR (0x11)
+
+/**
+ * @brief Device Identifier. Default value of the WHO_AM_I register.
+ */
+#define I_AM_TSU104 ((uint8_t) (0x24))
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif /* __TSU104_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSV734/TSV734.cpp Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,70 @@
+/**
+ ******************************************************************************
+ * @file TSV734.cpp
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSV734
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsv734/tsv734.c
+ Revision: 410
+*/
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "TSV734.h"
+
+
+/* Methods -------------------------------------------------------------------*/
+
+/* TSV734's private functions. */
+
+
+status_t TSV734::TSV734_Init(void *init) {
+ return COMPONENT_OK;
+}
+
+status_t TSV734::TSV734_ReadID(void *init) {
+ return COMPONENT_OK;
+}
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSV734/TSV734.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,285 @@
+/**
+ ******************************************************************************
+ * @file TSV734.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSV734
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsv734/tsv734.h
+ Revision: 402
+*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __TSV734_CLASS_H
+#define __TSV734_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION 1 ------------------------------------------------------------------*
+ * Include here platform specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "mbed.h"
+/* ACTION 2 ------------------------------------------------------------------*
+ * Include here component specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "TSV734_def.h"
+/* ACTION 3 ------------------------------------------------------------------*
+ * Include here interface specific header files. *
+ * *
+ * Example: *
+ * #include "HumiditySensor.h" *
+ * #include "TemperatureSensor.h" *
+ *----------------------------------------------------------------------------*/
+#include "../Interfaces/LedDriver.h"
+
+
+/* Classes -------------------------------------------------------------------*/
+
+/**
+ * @brief Class representing a TSV734 operational amplifier component.
+ */
+class TSV734 : public LedDriver
+{
+public:
+
+ /*** Constructor and Destructor Methods ***/
+
+ /**
+ * @brief Constructor.
+ */
+ TSV734(PinName ledDriverPin, double ledPeriod) : LedDriver()
+ {
+ led_driver_pin = ledDriverPin;
+
+ period_us = ledPeriod;
+ PwmOut ledOut(led_driver_pin);
+ ledOut.period_us(period_us);
+ }
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~TSV734(void) {}
+
+
+ /*** Public Component Related Methods ***/
+
+ /* ACTION 5 --------------------------------------------------------------*
+ * Implement here the component's public methods, as wrappers of the C *
+ * component's functions. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table's *
+ * functions (1); *
+ * + Methods with the same name of the C component's extended virtual *
+ * table's functions, if any (2). *
+ * *
+ * Example: *
+ * virtual int get_value(float *p_data) //(1) *
+ * { *
+ * return COMPONENT_get_value(float *pf_data); *
+ * } *
+ * *
+ * virtual int enable_feature(void) //(2) *
+ * { *
+ * return COMPONENT_enable_feature(); *
+ * } *
+ *------------------------------------------------------------------------*/
+
+ /**
+ * @brief Public functions inherited from the Component Class
+ */
+
+ /**
+ * @brief initialize the class for TSV734 operational amplifier component
+ * @retval COMPONENT_OK if initialization is successfull
+ * @retval suitable error code otherwise
+ */
+ virtual int init(void *init = NULL)
+ {
+ return (int) TSV734_Init((void *) init);
+ }
+
+ /**
+ * @brief obtain component ID for TSV734 perational amplifier
+ * @retval component ID for TSV734 operational amplifier
+ */
+ virtual int read_id(uint8_t *id = NULL)
+ {
+ return (int) TSV734_ReadID((uint8_t *) id);
+ }
+
+ /**
+ * @brief Public functions inherited from the LedDriver Class
+ */
+
+ /**
+ * @brief set the duty cycle of LED in LED driver configuration
+ * @param dc duty cycle to set
+ * @retval duty cycle in LED driver configuration
+ */
+ virtual double set_duty_cycle(double dc)
+ {
+ PwmOut ledOut(led_driver_pin);
+ ledOut.pulsewidth_us(period_us*dc);
+ return (double) dc;
+ }
+
+
+ /*** Public Interrupt Related Methods ***/
+
+ /* ACTION 6 --------------------------------------------------------------*
+ * Implement here interrupt related methods, if any. *
+ * Note that interrupt handling is platform dependent, e.g.: *
+ * + mbed: *
+ * InterruptIn feature_irq(pin); //Interrupt object. *
+ * feature_irq.fall(callback); //Attach a callback. *
+ * feature_irq.mode(PullNone); //Set interrupt mode. *
+ * feature_irq.enable_irq(); //Enable interrupt. *
+ * feature_irq.disable_irq(); //Disable interrupt. *
+ * + Arduino: *
+ * attachInterrupt(pin, callback, RISING); //Attach a callback. *
+ * detachInterrupt(pin); //Detach a callback. *
+ * *
+ * Example (mbed): *
+ * void attach_feature_irq(void (*fptr) (void)) *
+ * { *
+ * feature_irq.rise(fptr); *
+ * } *
+ * *
+ * void enable_feature_irq(void) *
+ * { *
+ * feature_irq.enable_irq(); *
+ * } *
+ * *
+ * void disable_feature_irq(void) *
+ * { *
+ * feature_irq.disable_irq(); *
+ * } *
+ *------------------------------------------------------------------------*/
+
+
+protected:
+
+ /*** Protected Component Related Methods ***/
+
+ /* ACTION 7 --------------------------------------------------------------*
+ * Declare here the component's specific methods. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table's *
+ * functions (1); *
+ * + Methods with the same name of the C component's extended virtual *
+ * table's functions, if any (2); *
+ * + Helper methods, if any, like functions declared in the component's *
+ * source files but not pointed by the component's virtual table (3). *
+ * *
+ * Example: *
+ * status_t COMPONENT_get_value(float *f); //(1) *
+ * status_t COMPONENT_enable_feature(void); //(2) *
+ * status_t COMPONENT_compute_average(void); //(3) *
+ *------------------------------------------------------------------------*/
+ /* TSV734's generic functions. */
+ status_t TSV734_Init(void *init);
+ status_t TSV734_ReadID(void *id);
+
+ /* TSV734's interrupts related functions. */
+ status_t TSV734_ConfigIT(void* a);
+ status_t TSV734_SetDutyCycle(float dutyCycle);
+ double period_us;
+ PinName led_driver_pin;
+
+
+ /*** Component's I/O Methods ***/
+
+ /*** Component's Instance Variables ***/
+
+ /* ACTION 9 --------------------------------------------------------------*
+ * Declare here interrupt related variables, if needed. *
+ * Note that interrupt handling is platform dependent, see *
+ * "Interrupt Related Methods" above. *
+ * *
+ * Example: *
+ * + mbed: *
+ * InterruptIn feature_irq; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 10 -------------------------------------------------------------*
+ * Declare here other pin related variables, if needed. *
+ * *
+ * Example: *
+ * + mbed: *
+ * DigitalOut standby_reset; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 11 -------------------------------------------------------------*
+ * Declare here communication related variables, if needed. *
+ * *
+ * Example: *
+ * + mbed: *
+ * DigitalOut address; *
+ * DevI2C &dev_i2c; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 12 -------------------------------------------------------------*
+ * Declare here identity related variables, if needed. *
+ * Note that there should be only a unique identifier for each component, *
+ * which should be the "who_am_i" parameter. *
+ *------------------------------------------------------------------------*/
+ /* Identity */
+ uint8_t who_am_i;
+
+
+ /* ACTION 13 -------------------------------------------------------------*
+ * Declare here the component's static and non-static data, one variable *
+ * per line. *
+ * *
+ * Example: *
+ * float measure; *
+ * int instance_id; *
+ * static int number_of_instances; *
+ *------------------------------------------------------------------------*/
+};
+
+#endif /* __TSV734_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSV734/TSV734_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,111 @@
+/**
+ ******************************************************************************
+ * @file TSV734_def.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSV734
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __TSV734_H
+#define __TSV734_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION --------------------------------------------------------------------*
+ * Include here interface specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "../Common/instrumentation_amp_def.h"
+
+
+/* Definitions ---------------------------------------------------------------*/
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup Components
+ * @{
+ */
+
+/** @addtogroup TSV734
+ * @{
+ */
+
+/** @defgroup TSV734_Exported_Defines TSV734_Exported_Defines
+ * @{
+ */
+#ifndef NULL
+ #define NULL (void *) 0
+#endif
+
+/**
+ * @brief Device Address
+ */
+#define TSV734_ADDRESS (0x12)
+
+/* ACTION --------------------------------------------------------------------*
+ * Put here the component's registers' addresses. *
+ *----------------------------------------------------------------------------*/
+
+/**
+ * @brief Device identification register.
+ * \code
+ * Read
+ * Default value: 0xXX
+ * 7:0 This read-only register contains the device identifier.
+ * \endcode
+*/
+#define TSV734_WHO_AM_I_ADDR (0x22)
+
+/**
+ * @brief Device Identifier. Default value of the WHO_AM_I register.
+ */
+#define I_AM_TSV734 ((uint8_t) (0x24))
+
+extern status_t TSV734_Write_Pin_D3(unsigned int dc);
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif /* __TSV734_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSZ124/TSZ124.cpp Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,69 @@
+/**
+ ******************************************************************************
+ * @file TSZ124.cpp
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSZ124
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsz124/tsz124.c
+ Revision: 410
+*/
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "TSZ124.h"
+
+
+/* Methods -------------------------------------------------------------------*/
+
+/* TSZ124's private functions. */
+
+status_t TSZ124::TSZ124_Init(void *init) {
+ return COMPONENT_OK;
+}
+
+unsigned int TSZ124::TSZ124_ReadID(void *init) {
+ return I_AM_TSZ124;
+}
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSZ124/TSZ124.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,286 @@
+/**
+ ******************************************************************************
+ * @file TSZ124.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSZ124
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Revision ------------------------------------------------------------------*/
+/*
+ Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
+ Branch/Trunk/Tag: trunk
+ Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsz124/tsz124.h
+ Revision: 402
+*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __TSZ124_CLASS_H
+#define __TSZ124_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION 1 ------------------------------------------------------------------*
+ * Include here platform specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "mbed.h"
+/* ACTION 2 ------------------------------------------------------------------*
+ * Include here component specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "TSZ124_def.h"
+/* ACTION 3 ------------------------------------------------------------------*
+ * Include here interface specific header files. *
+ * *
+ * Example: *
+ * #include "HumiditySensor.h" *
+ * #include "TemperatureSensor.h" *
+ *----------------------------------------------------------------------------*/
+#include "../Interfaces/InstrumentationAmp.h"
+#include "x_nucleo_ika01a1_config.h"
+
+
+/* Classes -------------------------------------------------------------------*/
+
+/**
+ * @brief Class representing a TSZ124 operational amplifier component.
+ */
+class TSZ124 : public InstrumentationAmp
+{
+public:
+
+ /*** Constructor and Destructor Methods ***/
+
+ /**
+ * @brief Constructor.
+ */
+ TSZ124(PinName instrumentAmpPin, PinName currentSensorPin) : InstrumentationAmp()
+ {
+ instrAmpPin = instrumentAmpPin;
+ currentSensPin = currentSensorPin;
+ }
+
+ /**
+ * @brief Destructor.
+ */
+ virtual ~TSZ124(void) {}
+
+
+ /*** Public Component Related Methods ***/
+
+ /* ACTION 5 --------------------------------------------------------------*
+ * Implement here the component's public methods, as wrappers of the C *
+ * component's functions. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table's *
+ * functions (1); *
+ * + Methods with the same name of the C component's extended virtual *
+ * table's functions, if any (2). *
+ * *
+ * Example: *
+ * virtual int get_value(float *p_data) //(1) *
+ * { *
+ * return COMPONENT_get_value(float *pf_data); *
+ * } *
+ * *
+ * virtual int enable_feature(void) //(2) *
+ * { *
+ * return COMPONENT_enable_feature(); *
+ * } *
+ *------------------------------------------------------------------------*/
+
+ /**
+ * @brief Public functions inherited from the Component Class
+ */
+
+ /**
+ * @brief initialize class for TSZ124 operational amplifier component
+ * @retval COMPONENT_OK if initialization is successfull
+ * @retval suitable error code otherwise
+ */
+ virtual int init(void *init = NULL)
+ {
+ return (int) TSZ124_Init((void *) init);
+ }
+
+ /**
+ * @brief obtain component ID for TSZ124 perational amplifier
+ * @retval component ID for TSZ124 operational amplifier
+ */
+ virtual int read_id(uint8_t *id = NULL)
+ {
+ return (int) TSZ124_ReadID((uint8_t *) id);
+ }
+
+ /**
+ * @brief Public functions inherited from the InstrumentationAmp Class
+ */
+
+ /**
+ * @brief obtain the amplified differential voltage in instrumentation Amplifier configuration
+ * @retval amplified differential voltage in instrumentation Amplifier configuration
+ */
+ virtual unsigned int get_voltage(void)
+ {
+ const unsigned int ADC_RANGE_12_BIT = 0xFFF;
+ AnalogIn ain(instrAmpPin);
+ return ((double)ain.read())*805.0*ADC_RANGE_12_BIT/1000.0;
+ }
+
+ /**
+ * @brief obtain the current consumed by the application in Current sensing configuration
+ * @retval current consumed by the application in Current sensing configuration
+ */
+ virtual unsigned int get_current(void)
+ {
+ const unsigned int ADC_RANGE_12_BIT = 0xFFF;
+ AnalogIn ain(currentSensPin);
+ return ((double)ain.read())*1000.0*805.0*ADC_RANGE_12_BIT/1000.0/1586.0;
+ }
+
+
+ /*** Public Interrupt Related Methods ***/
+
+ /* ACTION 6 --------------------------------------------------------------*
+ * Implement here interrupt related methods, if any. *
+ * Note that interrupt handling is platform dependent, e.g.: *
+ * + mbed: *
+ * InterruptIn feature_irq(pin); //Interrupt object. *
+ * feature_irq.fall(callback); //Attach a callback. *
+ * feature_irq.mode(PullNone); //Set interrupt mode. *
+ * feature_irq.enable_irq(); //Enable interrupt. *
+ * feature_irq.disable_irq(); //Disable interrupt. *
+ * + Arduino: *
+ * attachInterrupt(pin, callback, RISING); //Attach a callback. *
+ * detachInterrupt(pin); //Detach a callback. *
+ * *
+ * Example (mbed): *
+ * void attach_feature_irq(void (*fptr) (void)) *
+ * { *
+ * feature_irq.rise(fptr); *
+ * } *
+ * *
+ * void enable_feature_irq(void) *
+ * { *
+ * feature_irq.enable_irq(); *
+ * } *
+ * *
+ * void disable_feature_irq(void) *
+ * { *
+ * feature_irq.disable_irq(); *
+ * } *
+ *------------------------------------------------------------------------*/
+
+
+protected:
+
+ /*** Protected Component Related Methods ***/
+
+ /* ACTION 7 --------------------------------------------------------------*
+ * Declare here the component's specific methods. *
+ * They should be: *
+ * + Methods with the same name of the C component's virtual table's *
+ * functions (1); *
+ * + Methods with the same name of the C component's extended virtual *
+ * table's functions, if any (2); *
+ * + Helper methods, if any, like functions declared in the component's *
+ * source files but not pointed by the component's virtual table (3). *
+ * *
+ * Example: *
+ * status_t COMPONENT_get_value(float *f); //(1) *
+ * status_t COMPONENT_enable_feature(void); //(2) *
+ * status_t COMPONENT_compute_average(void); //(3) *
+ *------------------------------------------------------------------------*/
+ /* TSZ124's generic functions. */
+ status_t TSZ124_Init(void *init);
+ unsigned int TSZ124_ReadID(void *id);
+ PinName instrAmpPin;
+ PinName currentSensPin;
+
+
+ /*** Component's Instance Variables ***/
+
+ /* ACTION 9 --------------------------------------------------------------*
+ * Declare here interrupt related variables, if needed. *
+ * Note that interrupt handling is platform dependent, see *
+ * "Interrupt Related Methods" above. *
+ * *
+ * Example: *
+ * + mbed: *
+ * InterruptIn feature_irq; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 10 -------------------------------------------------------------*
+ * Declare here other pin related variables, if needed. *
+ * *
+ * Example: *
+ * + mbed: *
+ * DigitalOut standby_reset; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 11 -------------------------------------------------------------*
+ * Declare here communication related variables, if needed. *
+ * *
+ * Example: *
+ * + mbed: *
+ * DigitalOut address; *
+ * DevI2C &dev_i2c; *
+ *------------------------------------------------------------------------*/
+
+ /* ACTION 12 -------------------------------------------------------------*
+ * Declare here identity related variables, if needed. *
+ * Note that there should be only a unique identifier for each component, *
+ * which should be the "who_am_i" parameter. *
+ *------------------------------------------------------------------------*/
+ /* Identity */
+ uint8_t who_am_i;
+
+ /* ACTION 13 -------------------------------------------------------------*
+ * Declare here the component's static and non-static data, one variable *
+ * per line. *
+ * *
+ * Example: *
+ * float measure; *
+ * int instance_id; *
+ * static int number_of_instances; *
+ *------------------------------------------------------------------------*/
+};
+
+#endif /* __TSZ124_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Components/TSZ124/TSZ124_def.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,112 @@
+/**
+ ******************************************************************************
+ * @file TSZ124_def.h
+ * @author Central Labs
+ * @version 1.0.0
+ * @date 11-February-2016
+ * @brief Portable architecture for TSZ124
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __TSZ124_H
+#define __TSZ124_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION --------------------------------------------------------------------*
+ * Include here interface specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "../Common/instrumentation_amp_def.h"
+
+
+/* Definitions ---------------------------------------------------------------*/
+
+/** @addtogroup BSP
+ * @{
+ */
+
+/** @addtogroup Components
+ * @{
+ */
+
+/** @addtogroup tsz124
+ * @{
+ */
+
+/** @defgroup tsz124_Exported_Defines tsz124_Exported_Defines
+ * @{
+ */
+#ifndef NULL
+ #define NULL (void *) 0
+#endif
+
+/**
+ * @brief Device Address
+ */
+#define TSZ124_ADDRESS (0x10)
+
+/* ACTION --------------------------------------------------------------------*
+ * Put here the component's registers' addresses. *
+ *----------------------------------------------------------------------------*/
+
+/**
+ * @brief Device identification register.
+ * \code
+ * Read
+ * Default value: 0xXX
+ * 7:0 This read-only register contains the device identifier.
+ * \endcode
+*/
+#define TSZ124_WHO_AM_I_ADDR (0x11)
+
+/**
+ * @brief Device Identifier. Default value of the WHO_AM_I register.
+ */
+#define I_AM_TSZ124 ((uint8_t) (0x24))
+
+extern status_t TSZ124_Read_Pin_A1();
+extern status_t TSZ124_Read_Pin_A2();
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif /* __TSZ124_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
--- a/Components/tsu104/tsu104.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/**
- ******************************************************************************
- * @file tsz124.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSU104
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __TSU104_H
-#define __TSU104_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION --------------------------------------------------------------------*
- * Include here interface specific header files. *
- *----------------------------------------------------------------------------*/
-#include "../Common/windcomp.h"
-
-
-/* Definitions ---------------------------------------------------------------*/
-
-/** @addtogroup BSP
- * @{
- */
-
-/** @addtogroup Components
- * @{
- */
-
-/** @addtogroup tsz124
- * @{
- */
-
-/** @defgroup tsz124_Exported_Defines tsz124_Exported_Defines
- * @{
- */
-#ifndef NULL
- #define NULL (void *) 0
-#endif
-
-/**
- * @brief Device Address
- */
-#define TSU104_ADDRESS (0x10)
-
-/* ACTION --------------------------------------------------------------------*
- * Put here the component's registers' addresses. *
- *----------------------------------------------------------------------------*/
-
-/**
- * @brief Device identification register.
- * \code
- * Read
- * Default value: 0xXX
- * 7:0 This read-only register contains the device identifier.
- * \endcode
-*/
-#define TSU104_WHO_AM_I_ADDR (0x11)
-
-/**
- * @brief Device Identifier. Default value of the WHO_AM_I register.
- */
-#define I_AM_TSU104 ((uint8_t) (0x24))
-
-#ifdef __cplusplus
- }
-#endif
-
-#endif /* __TSU104_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- a/Components/tsu104/tsu104_class.cpp Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/**
- ******************************************************************************
- * @file tsu104_class.cpp
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSU104
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsu104/tsu104.c
- Revision: 410
-*/
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include "tsu104_class.h"
-#include "tsu104.h"
-
-
-/* Methods -------------------------------------------------------------------*/
-
-/* TSU104's private functions. */
-
-
-Status_t TSU104::TSU104_Init(void *init) {
- return COMPONENT_OK;
-}
-
-Status_t TSU104::TSU104_ReadID(void *init) {
- return COMPONENT_OK;
-}
-
-Status_t TSU104::TSU104_ConfigIT(void *init) {
- return COMPONENT_OK;
-
-}
-
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- a/Components/tsu104/tsu104_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +0,0 @@
-/**
- ******************************************************************************
- * @file tsu104_class.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSU104
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsu104/tsu104.h
- Revision: 402
-*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __TSU104_CLASS_H
-#define __TSU104_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION 1 ------------------------------------------------------------------*
- * Include here platform specific header files. *
- *----------------------------------------------------------------------------*/
-#include "mbed.h"
-/* ACTION 2 ------------------------------------------------------------------*
- * Include here component specific header files. *
- *----------------------------------------------------------------------------*/
-#include "tsu104.h"
-/* ACTION 3 ------------------------------------------------------------------*
- * Include here interface specific header files. *
- * *
- * Example: *
- * #include "../Interfaces/Humidity_class.h" *
- * #include "../Interfaces/Temperature_class.h" *
- *----------------------------------------------------------------------------*/
-#include "../Interfaces/Windcomp_class.h"
-#include "../Interfaces/PhotoSensor_class.h"
-
-
-/* Classes -------------------------------------------------------------------*/
-
-/**
- * @brief Class representing a TSU104 operational amplifier component. The window comparator
- * configuration allows the user to compare a signal to two threshold voltages. When the signal
- * is out of the required voltage range, the output of the operational amplifier toggles
- */
-class TSU104 : public Windcomp, public PhotoSensor
-{
-public:
-
- /*** Constructor and Destructor Methods ***/
-
- /**
- * @brief Constructor.
- */
- TSU104(PinName photoSensorPin, PinName windCmpSignalPin_1,PinName windCmpSignalPin_2) : Windcomp()
- {
- photo_sensor_pin = photoSensorPin;
- windCmp_signal_pin_1 = windCmpSignalPin_1;
- windCmp_signal_pin_2 = windCmpSignalPin_2;
- }
-
- /**
- * @brief Destructor.
- */
- virtual ~TSU104(void) {}
-
-
- /*** Public Component Related Methods ***/
-
- /**
- * @brief initialize the class for TSU104 operational amplifier component
- * @retval COMPONENT_OK if initialization is successfull
- * @retval suitable error code otherwise
- */
- virtual int Init(void *init = NULL)
- {
- return (int) TSU104_Init((void *) init);
- }
-
- /**
- * @brief obtain component ID for TSU104 perational amplifier
- * @retval component ID for TSU104 operational amplifier
- */
- virtual int ReadID(uint8_t *id = NULL)
- {
- return (int) TSU104_ReadID((uint8_t *) id);
- }
- /**
- * @brief get digital signal value 1 in windows comparator configuration
- * @retval digital signal value 1
- */
- virtual unsigned int GetSignal1(void)
- {
- DigitalIn windowsCompD2(windCmp_signal_pin_1);
- return windowsCompD2.read();
- }
-
- /**
- * @brief get digital signal value 2 in windows comparator configuration
- * @retval digital signal value 2
- */
- virtual unsigned int GetSignal2(void)
- {
- DigitalIn windowsCompD4(windCmp_signal_pin_2);
- return windowsCompD4.read();
- }
-
-
- /**
- * @brief obtain the output voltage detected by photo sensor
- * @param pin AnalogIn pin to use for detecting the voltage
- * @retval voltage detected by photo sensor
- */
- virtual unsigned int GetVoltage(void)
- {
- AnalogIn photoSensor(photo_sensor_pin);
- double voltage = photoSensor.read();
- voltage = voltage*3.3*1000.0; // voltage in mV
- return voltage;
- }
-
-
- /*** Public Interrupt Related Methods ***/
-
- /* ACTION 6 --------------------------------------------------------------*
- * Implement here interrupt related methods, if any. *
- * Note that interrupt handling is platform dependent, e.g.: *
- * + mbed: *
- * InterruptIn feature_irq(pin); //Interrupt object. *
- * feature_irq.fall(callback); //Attach a callback. *
- * feature_irq.mode(PullNone); //Set interrupt mode. *
- * feature_irq.enable_irq(); //Enable interrupt. *
- * feature_irq.disable_irq(); //Disable interrupt. *
- * + Arduino: *
- * attachInterrupt(pin, callback, RISING); //Attach a callback. *
- * detachInterrupt(pin); //Detach a callback. *
- * *
- * Example (mbed): *
- * void AttachFeatureIRQ(void (*fptr) (void)) *
- * { *
- * feature_irq.fall(fptr); *
- * } *
- * *
- * void EnableFeatureIRQ(void) *
- * { *
- * feature_irq.enable_irq(); *
- * } *
- * *
- * void DisableFeatureIRQ(void) *
- * { *
- * feature_irq.disable_irq(); *
- * } *
- *------------------------------------------------------------------------*/
-
-
-protected:
-
- /*** Protected Component Related Methods ***/
-
- /**
- * arduino pin for photosensor output voltage
- */
- PinName photo_sensor_pin;
-
- /**
- * arduino pin for signal 1 of windows comparator configuration
- */
- PinName windCmp_signal_pin_1;
-
- /**
- * arduino pin for signal 1 of windows comparator configuration
- */
- PinName windCmp_signal_pin_2;
-
- /* ACTION 7 --------------------------------------------------------------*
- * Declare here the component's specific methods. *
- * They should be: *
- * + Methods with the same name of the C component's virtual table's *
- * functions (1); *
- * + Methods with the same name of the C component's extended virtual *
- * table's functions, if any (2); *
- * + Helper methods, if any, like functions declared in the component's *
- * source files but not pointed by the component's virtual table (3). *
- * *
- * Example: *
- * Status_t COMPONENT_GetValue(float *f); //(1) *
- * Status_t COMPONENT_EnableFeature(void); //(2) *
- * Status_t COMPONENT_ComputeAverage(void); //(3) *
- *------------------------------------------------------------------------*/
- /* TSU104's generic functions. */
- Status_t TSU104_Init(void *init);
- Status_t TSU104_ReadID(void *id);
-
- /* TSU104's interrupts related functions. */
- Status_t TSU104_ConfigIT(void* a);
-
-
- /*** Component's I/O Methods ***/
-
- /*** Component's Instance Variables ***/
-
- /* ACTION 9 --------------------------------------------------------------*
- * Declare here interrupt related variables, if needed. *
- * Note that interrupt handling is platform dependent, see *
- * "Interrupt Related Methods" above. *
- * *
- * Example: *
- * + mbed: *
- * InterruptIn feature_irq; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 10 -------------------------------------------------------------*
- * Declare here other pin related variables, if needed. *
- * *
- * Example: *
- * + mbed: *
- * DigitalOut standby_reset; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 11 -------------------------------------------------------------*
- * Declare here communication related variables, if needed. *
- * *
- * Example: *
- * + mbed: *
- * DigitalOut address; *
- * DevI2C &dev_i2c; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 12 -------------------------------------------------------------*
- * Declare here identity related variables, if needed. *
- * Note that there should be only a unique identifier for each component, *
- * which should be the "who_am_i" parameter. *
- *------------------------------------------------------------------------*/
- /* Identity */
- uint8_t who_am_i;
-
- /* ACTION 13 -------------------------------------------------------------*
- * Declare here the component's static and non-static data, one variable *
- * per line. *
- * *
- * Example: *
- * float measure; *
- * int instance_id; *
- * static int number_of_instances; *
- *------------------------------------------------------------------------*/
-};
-
-#endif /* __TSU104_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- a/Components/tsv734/tsv734.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/**
- ******************************************************************************
- * @file tsz124.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSV734
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __TSV734_H
-#define __TSV734_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION --------------------------------------------------------------------*
- * Include here interface specific header files. *
- *----------------------------------------------------------------------------*/
-#include "../Common/instrumentation_amp.h"
-
-
-/* Definitions ---------------------------------------------------------------*/
-
-/** @addtogroup BSP
- * @{
- */
-
-/** @addtogroup Components
- * @{
- */
-
-/** @addtogroup TSV734
- * @{
- */
-
-/** @defgroup TSV734_Exported_Defines TSV734_Exported_Defines
- * @{
- */
-#ifndef NULL
- #define NULL (void *) 0
-#endif
-
-/**
- * @brief Device Address
- */
-#define TSV734_ADDRESS (0x12)
-
-/* ACTION --------------------------------------------------------------------*
- * Put here the component's registers' addresses. *
- *----------------------------------------------------------------------------*/
-
-/**
- * @brief Device identification register.
- * \code
- * Read
- * Default value: 0xXX
- * 7:0 This read-only register contains the device identifier.
- * \endcode
-*/
-#define TSV734_WHO_AM_I_ADDR (0x22)
-
-/**
- * @brief Device Identifier. Default value of the WHO_AM_I register.
- */
-#define I_AM_TSV734 ((uint8_t) (0x24))
-
-extern Status_t TSV734_Write_Pin_D3(unsigned int dc);
-
-#ifdef __cplusplus
- }
-#endif
-
-#endif /* __TSV734_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- a/Components/tsv734/tsv734_class.cpp Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/**
- ******************************************************************************
- * @file TSV734.c
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSV734
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsv734/tsv734.c
- Revision: 410
-*/
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include "tsv734_class.h"
-#include "tsv734.h"
-
-
-/* Methods -------------------------------------------------------------------*/
-
-/* TSV734's private functions. */
-
-
-Status_t TSV734::TSV734_Init(void *init) {
- return COMPONENT_OK;
-}
-
-Status_t TSV734::TSV734_ReadID(void *init) {
- return COMPONENT_OK;
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- a/Components/tsv734/tsv734_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,260 +0,0 @@
-/**
- ******************************************************************************
- * @file TSV734.c
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSV734
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsv734/tsv734.h
- Revision: 402
-*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __TSV734_CLASS_H
-#define __TSV734_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION 1 ------------------------------------------------------------------*
- * Include here platform specific header files. *
- *----------------------------------------------------------------------------*/
-#include "mbed.h"
-/* ACTION 2 ------------------------------------------------------------------*
- * Include here component specific header files. *
- *----------------------------------------------------------------------------*/
-#include "tsv734.h"
-/* ACTION 3 ------------------------------------------------------------------*
- * Include here interface specific header files. *
- * *
- * Example: *
- * #include "../Interfaces/Humidity_class.h" *
- * #include "../Interfaces/Temperature_class.h" *
- *----------------------------------------------------------------------------*/
-#include "../Interfaces/Led_driver_class.h"
-
-
-/* Classes -------------------------------------------------------------------*/
-
-/**
- * @brief Class representing a TSV734 operational amplifier component.
- */
-class TSV734 : public Led_driver
-{
-public:
-
- /*** Constructor and Destructor Methods ***/
-
- /**
- * @brief Constructor.
- */
- TSV734(PinName ledDriverPin, double ledPeriod) : Led_driver()
- {
- led_driver_pin = ledDriverPin;
-
- period_us = ledPeriod;
- PwmOut ledOut(led_driver_pin);
- ledOut.period_us(period_us);
- }
-
- /**
- * @brief Destructor.
- */
- virtual ~TSV734(void) {}
-
-
- /*** Public Component Related Methods ***/
-
- /**
- * @brief initialize the class for TSV734 operational amplifier component
- * @retval COMPONENT_OK if initialization is successfull
- * @retval suitable error code otherwise
- */
- virtual int Init(void *init = NULL)
- {
- return (int) TSV734_Init((void *) init);
- }
-
- /**
- * @brief obtain component ID for TSV734 perational amplifier
- * @retval component ID for TSV734 operational amplifier
- */
- virtual int ReadID(uint8_t *id = NULL)
- {
- return (int) TSV734_ReadID((uint8_t *) id);
- }
-
-
- /**
- * @brief set the duty cycle of LED in LED driver configuration
- * @param dc duty cycle to set
- * @retval duty cycle in LED driver configuration
- */
- virtual double SetDutyCycle(double dc)
- {
- PwmOut ledOut(led_driver_pin);
- ledOut.pulsewidth_us(period_us*dc);
- return (double) dc;
- }
-
-
- /*** Public Interrupt Related Methods ***/
-
- /* ACTION 6 --------------------------------------------------------------*
- * Implement here interrupt related methods, if any. *
- * Note that interrupt handling is platform dependent, e.g.: *
- * + mbed: *
- * InterruptIn feature_irq(pin); //Interrupt object. *
- * feature_irq.fall(callback); //Attach a callback. *
- * feature_irq.mode(PullNone); //Set interrupt mode. *
- * feature_irq.enable_irq(); //Enable interrupt. *
- * feature_irq.disable_irq(); //Disable interrupt. *
- * + Arduino: *
- * attachInterrupt(pin, callback, RISING); //Attach a callback. *
- * detachInterrupt(pin); //Detach a callback. *
- * *
- * Example (mbed): *
- * void AttachFeatureIRQ(void (*fptr) (void)) *
- * { *
- * feature_irq.fall(fptr); *
- * } *
- * *
- * void EnableFeatureIRQ(void) *
- * { *
- * feature_irq.enable_irq(); *
- * } *
- * *
- * void DisableFeatureIRQ(void) *
- * { *
- * feature_irq.disable_irq(); *
- * } *
- *------------------------------------------------------------------------*/
-
-
-protected:
-
- /*** Protected Component Related Methods ***/
-
- /* ACTION 7 --------------------------------------------------------------*
- * Declare here the component's specific methods. *
- * They should be: *
- * + Methods with the same name of the C component's virtual table's *
- * functions (1); *
- * + Methods with the same name of the C component's extended virtual *
- * table's functions, if any (2); *
- * + Helper methods, if any, like functions declared in the component's *
- * source files but not pointed by the component's virtual table (3). *
- * *
- * Example: *
- * Status_t COMPONENT_GetValue(float *f); //(1) *
- * Status_t COMPONENT_EnableFeature(void); //(2) *
- * Status_t COMPONENT_ComputeAverage(void); //(3) *
- *------------------------------------------------------------------------*/
- /* TSV734's generic functions. */
- Status_t TSV734_Init(void *init);
- Status_t TSV734_ReadID(void *id);
-
- /* TSV734's interrupts related functions. */
- Status_t TSV734_ConfigIT(void* a);
- Status_t TSV734_SetDutyCycle(float dutyCycle);
- double period_us;
- PinName led_driver_pin;
-
-
-
- /*** Component's I/O Methods ***/
-
-
-
- /*** Component's Instance Variables ***/
-
- /* ACTION 9 --------------------------------------------------------------*
- * Declare here interrupt related variables, if needed. *
- * Note that interrupt handling is platform dependent, see *
- * "Interrupt Related Methods" above. *
- * *
- * Example: *
- * + mbed: *
- * InterruptIn feature_irq; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 10 -------------------------------------------------------------*
- * Declare here other pin related variables, if needed. *
- * *
- * Example: *
- * + mbed: *
- * DigitalOut standby_reset; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 11 -------------------------------------------------------------*
- * Declare here communication related variables, if needed. *
- * *
- * Example: *
- * + mbed: *
- * DigitalOut address; *
- * DevI2C &dev_i2c; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 12 -------------------------------------------------------------*
- * Declare here identity related variables, if needed. *
- * Note that there should be only a unique identifier for each component, *
- * which should be the "who_am_i" parameter. *
- *------------------------------------------------------------------------*/
- /* Identity */
- uint8_t who_am_i;
-
-
- /* ACTION 13 -------------------------------------------------------------*
- * Declare here the component's static and non-static data, one variable *
- * per line. *
- * *
- * Example: *
- * float measure; *
- * int instance_id; *
- * static int number_of_instances; *
- *------------------------------------------------------------------------*/
-};
-
-#endif /* __TSV734_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- a/Components/tsz124/tsz124.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/**
- ******************************************************************************
- * @file tsz124.h
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSZ124
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __TSZ124_H
-#define __TSZ124_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION --------------------------------------------------------------------*
- * Include here interface specific header files. *
- *----------------------------------------------------------------------------*/
-#include "../Common/instrumentation_amp.h"
-
-
-/* Definitions ---------------------------------------------------------------*/
-
-/** @addtogroup BSP
- * @{
- */
-
-/** @addtogroup Components
- * @{
- */
-
-/** @addtogroup tsz124
- * @{
- */
-
-/** @defgroup tsz124_Exported_Defines tsz124_Exported_Defines
- * @{
- */
-#ifndef NULL
- #define NULL (void *) 0
-#endif
-
-/**
- * @brief Device Address
- */
-#define TSZ124_ADDRESS (0x10)
-
-/* ACTION --------------------------------------------------------------------*
- * Put here the component's registers' addresses. *
- *----------------------------------------------------------------------------*/
-
-/**
- * @brief Device identification register.
- * \code
- * Read
- * Default value: 0xXX
- * 7:0 This read-only register contains the device identifier.
- * \endcode
-*/
-#define TSZ124_WHO_AM_I_ADDR (0x11)
-
-/**
- * @brief Device Identifier. Default value of the WHO_AM_I register.
- */
-#define I_AM_TSZ124 ((uint8_t) (0x24))
-
-extern Status_t TSZ124_Read_Pin_A1();
-extern Status_t TSZ124_Read_Pin_A2();
-
-#ifdef __cplusplus
- }
-#endif
-
-#endif /* __TSZ124_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- a/Components/tsz124/tsz124_class.cpp Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/**
- ******************************************************************************
- * @file TSZ124.c
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSZ124
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsz124/tsz124.c
- Revision: 410
-*/
-
-
-/* Includes ------------------------------------------------------------------*/
-
-#include "tsz124_class.h"
-#include "tsz124.h"
-
-
-/* Methods -------------------------------------------------------------------*/
-
-/* TSZ124's private functions. */
-
-Status_t TSZ124::TSZ124_Init(void *init) {
- return COMPONENT_OK;
-}
-
-unsigned int TSZ124::TSZ124_ReadID(void *init) {
- return I_AM_TSZ124;
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
--- a/Components/tsz124/tsz124_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/**
- ******************************************************************************
- * @file TSZ124.c
- * @author Central Labs
- * @version 1.0.0
- * @date 11-February-2016
- * @brief Portable architecture for TSZ124
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Revision ------------------------------------------------------------------*/
-/*
- Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
- Branch/Trunk/Tag: trunk
- Based on: X-CUBE-IKA01A1/trunk/Drivers/BSP/Components/tsz124/tsz124.h
- Revision: 402
-*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __TSZ124_CLASS_H
-#define __TSZ124_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION 1 ------------------------------------------------------------------*
- * Include here platform specific header files. *
- *----------------------------------------------------------------------------*/
-#include "mbed.h"
-/* ACTION 2 ------------------------------------------------------------------*
- * Include here component specific header files. *
- *----------------------------------------------------------------------------*/
-#include "tsz124.h"
-/* ACTION 3 ------------------------------------------------------------------*
- * Include here interface specific header files. *
- * *
- * Example: *
- * #include "../Interfaces/Humidity_class.h" *
- * #include "../Interfaces/Temperature_class.h" *
- *----------------------------------------------------------------------------*/
-#include "../Interfaces/Instrumentation_amp_class.h"
-#include "x_nucleo_ika01a1_config.h"
-
-
-/* Classes -------------------------------------------------------------------*/
-
-/**
- * @brief Class representing a TSZ124 operational amplifier component.
- */
-class TSZ124 : public Instrumentation_amp
-{
-public:
-
- /*** Constructor and Destructor Methods ***/
-
- /**
- * @brief Constructor.
- */
- TSZ124(PinName instrumentAmpPin, PinName currentSensorPin) : Instrumentation_amp()
- {
- instrAmpPin = instrumentAmpPin;
- currentSensPin = currentSensorPin;
- }
-
- /**
- * @brief Destructor.
- */
- virtual ~TSZ124(void) {}
-
-
- /*** Public Component Related Methods ***/
-
-
- /**
- * @brief initialize class for TSZ124 operational amplifier component
- * @retval COMPONENT_OK if initialization is successfull
- * @retval suitable error code otherwise
- */
- virtual int Init(void *init = NULL)
- {
- return (int) TSZ124_Init((void *) init);
- }
-
- /**
- * @brief obtain component ID for TSZ124 perational amplifier
- * @retval component ID for TSZ124 operational amplifier
- */
- virtual int ReadID(uint8_t *id = NULL)
- {
- return (int) TSZ124_ReadID((uint8_t *) id);
- }
-
- /**
- * @brief obtain the amplified differential voltage in instrumentation Amplifier configuration
- * @retval amplified differential voltage in instrumentation Amplifier configuration
- */
- virtual unsigned int GetVoltage(void)
- {
- const unsigned int ADC_RANGE_12_BIT = 0xFFF;
- AnalogIn ain(instrAmpPin);
- return ((double)ain.read())*805.0*ADC_RANGE_12_BIT/1000.0;
- }
-
- /**
- * @brief obtain the current consumed by the application in Current sensing configuration
- * @retval current consumed by the application in Current sensing configuration
- */
- virtual unsigned int GetCurrent(void)
- {
- const unsigned int ADC_RANGE_12_BIT = 0xFFF;
- AnalogIn ain(currentSensPin);
- return ((double)ain.read())*1000.0*805.0*ADC_RANGE_12_BIT/1000.0/1586.0;
- }
-
-
- /*** Public Interrupt Related Methods ***/
-
- /* ACTION 6 --------------------------------------------------------------*
- * Implement here interrupt related methods, if any. *
- * Note that interrupt handling is platform dependent, e.g.: *
- * + mbed: *
- * InterruptIn feature_irq(pin); //Interrupt object. *
- * feature_irq.fall(callback); //Attach a callback. *
- * feature_irq.mode(PullNone); //Set interrupt mode. *
- * feature_irq.enable_irq(); //Enable interrupt. *
- * feature_irq.disable_irq(); //Disable interrupt. *
- * + Arduino: *
- * attachInterrupt(pin, callback, RISING); //Attach a callback. *
- * detachInterrupt(pin); //Detach a callback. *
- * *
- * Example (mbed): *
- * void AttachFeatureIRQ(void (*fptr) (void)) *
- * { *
- * feature_irq.fall(fptr); *
- * } *
- * *
- * void EnableFeatureIRQ(void) *
- * { *
- * feature_irq.enable_irq(); *
- * } *
- * *
- * void DisableFeatureIRQ(void) *
- * { *
- * feature_irq.disable_irq(); *
- * } *
- *------------------------------------------------------------------------*/
-
-
-protected:
-
- /*** Protected Component Related Methods ***/
-
- /* ACTION 7 --------------------------------------------------------------*
- * Declare here the component's specific methods. *
- * They should be: *
- * + Methods with the same name of the C component's virtual table's *
- * functions (1); *
- * + Methods with the same name of the C component's extended virtual *
- * table's functions, if any (2); *
- * + Helper methods, if any, like functions declared in the component's *
- * source files but not pointed by the component's virtual table (3). *
- * *
- * Example: *
- * Status_t COMPONENT_GetValue(float *f); //(1) *
- * Status_t COMPONENT_EnableFeature(void); //(2) *
- * Status_t COMPONENT_ComputeAverage(void); //(3) *
- *------------------------------------------------------------------------*/
- /* TSZ124's generic functions. */
- Status_t TSZ124_Init(void *init);
- unsigned int TSZ124_ReadID(void *id);
- PinName instrAmpPin;
- PinName currentSensPin;
-
-
- /*** Component's Instance Variables ***/
-
- /* ACTION 9 --------------------------------------------------------------*
- * Declare here interrupt related variables, if needed. *
- * Note that interrupt handling is platform dependent, see *
- * "Interrupt Related Methods" above. *
- * *
- * Example: *
- * + mbed: *
- * InterruptIn feature_irq; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 10 -------------------------------------------------------------*
- * Declare here other pin related variables, if needed. *
- * *
- * Example: *
- * + mbed: *
- * DigitalOut standby_reset; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 11 -------------------------------------------------------------*
- * Declare here communication related variables, if needed. *
- * *
- * Example: *
- * + mbed: *
- * DigitalOut address; *
- * DevI2C &dev_i2c; *
- *------------------------------------------------------------------------*/
-
- /* ACTION 12 -------------------------------------------------------------*
- * Declare here identity related variables, if needed. *
- * Note that there should be only a unique identifier for each component, *
- * which should be the "who_am_i" parameter. *
- *------------------------------------------------------------------------*/
- /* Identity */
- uint8_t who_am_i;
-
- /* ACTION 13 -------------------------------------------------------------*
- * Declare here the component's static and non-static data, one variable *
- * per line. *
- * *
- * Example: *
- * float measure; *
- * int instance_id; *
- * static int number_of_instances; *
- *------------------------------------------------------------------------*/
-};
-
-#endif /* __TSZ124_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/XNucleoIKA01A1.cpp Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,232 @@
+/**
+ ******************************************************************************
+ * @file XNucleoIKA01A1.cpp
+ * @author AST / Software Platforms and Cloud
+ * @version V1.0
+ * @date October 1st, 2015
+ * @brief Implementation file for the X_NUCLEO_IKA01A1 expansion board.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION 1 ------------------------------------------------------------------*
+ * Include here platform specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "mbed.h"
+/* ACTION 2 ------------------------------------------------------------------*
+ * Include here expansion board specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "XNucleoIKA01A1.h"
+
+
+/* Variables -----------------------------------------------------------------*/
+
+/* Singleton instance of XNucleoIKA01A1 class. */
+XNucleoIKA01A1 *XNucleoIKA01A1::_instance;
+
+
+/* Methods -------------------------------------------------------------------*/
+
+/**
+ * @brief Constructor.
+ */
+XNucleoIKA01A1::XNucleoIKA01A1(PinName instrumentAmpPin,
+ PinName currentSensorPin,
+ PinName photoSensorPin,
+ PinName windCmpSignalPin_1,
+ PinName windCmpSignalPin_2,
+ PinName ledDriverPin,
+ double ledDriverPeriod_us)
+{
+ /* Instantiating the components. */
+ /* ACTION 3 --------------------------------------------------------------*
+ * Instantiate here the expansion board's components. *
+ * *
+ * Example: *
+ * component_1 = new COMPONENT_1(); *
+ * component_2 = new COMPONENT_2(); *
+ *------------------------------------------------------------------------*/
+ tsz124 = new TSZ124(instrumentAmpPin, currentSensorPin);
+ tsu104 = new TSU104(photoSensorPin, windCmpSignalPin_1, windCmpSignalPin_2);
+ tsv734 = new TSV734(ledDriverPin, ledDriverPeriod_us);
+}
+
+/**
+ * @brief Getting a singleton instance of XNucleoIKA01A1 class.
+ * @retval a singleton instance of XNucleoIKA01A1 class.
+ */
+XNucleoIKA01A1 *XNucleoIKA01A1::instance(PinName instrumentAmpPin,
+ PinName currentSensorPin,
+ PinName photoSensorPin,
+ PinName windCmpSignalPin_1,
+ PinName windCmpSignalPin_2,
+ PinName ledDriverPin,
+ double ledDriverPeriod_us)
+{
+ if (_instance == NULL)
+ {
+ /* Instantiating the board. */
+ _instance = new XNucleoIKA01A1(instrumentAmpPin, currentSensorPin, photoSensorPin, windCmpSignalPin_1, windCmpSignalPin_2, ledDriverPin, ledDriverPeriod_us);
+
+ /* Initializing the components. */
+ if (!_instance->init())
+ error("Initialization of the X_NUCLEO_IKA01A1 expansion board failed.\n");
+ }
+
+ return _instance;
+}
+
+/**
+ * @brief Initializing the X_NUCLEO_IKA01A1 board.
+ * @retval true if initialization is successful
+ * @retval false otherwise.
+ */
+bool XNucleoIKA01A1::init(void)
+{
+ /* Initializing the components. */
+ /* ACTION 4 --------------------------------------------------------------*
+ * Initialize here the expansion board's components. *
+ * *
+ * Example: *
+ * return (init_COMPONENT_1() && init_COMPONENT_2()); *
+ *------------------------------------------------------------------------*/
+ //return (init_TSZ124() && init_TSU104() && init_TSV734());
+ return true;
+}
+
+
+/**
+ * @brief Initialize the TSZ124 component.
+ * @retval true if initialization is successful
+ * @retval false otherwise
+ */
+bool XNucleoIKA01A1::init_TSZ124(void)
+{
+ /* Verifying identity. */
+ uint8_t id = 0;
+ int ret = tsz124->read_id(&id);
+ if ((ret != COMPONENT_OK) || (id != I_AM_TSZ124))
+ {
+ delete tsz124;
+ tsz124 = NULL;
+ return true;
+ }
+
+ /* Configuration. */
+ void* init_structure = NULL;
+ /* ACTION ----------------------------------------------------------------*
+ * Configure here the component's initialization structure. *
+ * *
+ * Example: *
+ * init_structure.Property_1 = COMPONENT_PROPERY_1_INIT; *
+ * init_structure.Property_N = COMPONENT_PROPERY_N_INIT; *
+ *------------------------------------------------------------------------*/
+
+ /* Initialization. */
+ if (tsz124->init(&init_structure) != COMPONENT_OK)
+ return false;
+
+ return true;
+}
+
+/**
+ * @brief Initialize the TSU104 component.
+ * @retval true if initialization is successful
+ * @retval false otherwise
+ */
+bool XNucleoIKA01A1::init_TSU104(void)
+{
+ /* Verifying identity. */
+ uint8_t id = 0;
+ int ret = tsu104->read_id(&id);
+ if ((ret != COMPONENT_OK) || (id != I_AM_TSU104))
+ {
+ delete tsu104;
+ tsu104 = NULL;
+ return true;
+ }
+
+ /* Configuration. */
+ void* init_structure = NULL;
+ /* ACTION ----------------------------------------------------------------*
+ * Configure here the component's initialization structure. *
+ * *
+ * Example: *
+ * init_structure.Property_1 = COMPONENT_PROPERY_1_INIT; *
+ * init_structure.Property_N = COMPONENT_PROPERY_N_INIT; *
+ *------------------------------------------------------------------------*/
+
+ /* Initialization. */
+ if (tsu104->init(&init_structure) != COMPONENT_OK)
+ return false;
+
+ return true;
+}
+
+/**
+ * @brief Initialize the TSV734 component.
+ * @retval true if initialization is successful
+ * @retval false otherwise
+ */
+bool XNucleoIKA01A1::init_TSV734(void)
+{
+ /* Verifying identity. */
+ uint8_t id = 0;
+ int ret = tsv734->read_id(&id);
+ if ((ret != COMPONENT_OK) || (id != I_AM_TSV734))
+ {
+ delete tsv734;
+ tsv734 = NULL;
+ return true;
+ }
+
+ /* Configuration. */
+ void* init_structure = NULL;
+ /* ACTION ----------------------------------------------------------------*
+ * Configure here the component's initialization structure. *
+ * *
+ * Example: *
+ * init_structure.Property_1 = COMPONENT_PROPERY_1_INIT; *
+ * init_structure.Property_N = COMPONENT_PROPERY_N_INIT; *
+ *------------------------------------------------------------------------*/
+
+ /* Initialization. */
+ if (tsv734->init(&init_structure) != COMPONENT_OK)
+ return false;
+
+ return true;
+}
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/XNucleoIKA01A1.h Tue May 09 11:49:16 2017 +0000
@@ -0,0 +1,163 @@
+/**
+ ******************************************************************************
+ * @file XNucleoIKA01A1.h
+ * @author AST / Software Platforms and Cloud
+ * @version V1.0
+ * @date October 1st, 2015
+ * @brief Class header file for the X_NUCLEO_IKA01A1 expansion board.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+
+/* Generated with STM32CubeTOO -----------------------------------------------*/
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __X_NUCLEO_IKA01A1_CLASS_H
+#define __X_NUCLEO_IKA01A1_CLASS_H
+
+
+/* Includes ------------------------------------------------------------------*/
+
+/* ACTION 1 ------------------------------------------------------------------*
+ * Include here platform specific header files. *
+ *----------------------------------------------------------------------------*/
+#include "mbed.h"
+/* ACTION 2 ------------------------------------------------------------------*
+ * Include here expansion board configuration's header files. *
+ *----------------------------------------------------------------------------*/
+#include "XNucleoIKA01A1.h"
+/* ACTION 3 ------------------------------------------------------------------*
+ * Include here expansion board's components' header files. *
+ * *
+ * Example: *
+ * #include "COMPONENT_1.h" *
+ * #include "COMPONENT_2.h" *
+ *----------------------------------------------------------------------------*/
+#include "TSZ124.h"
+#include "TSU104.h"
+#include "TSV734.h"
+
+
+/* Classes -------------------------------------------------------------------*/
+
+/** Class XNucleoIKA01A1 represents multifunctional expansion board based on operational amplifiers.
+ * It provides an easy-to-use and affordable solution for different multifunctional use cases with your
+ * STM32 Nucleo board. For current sensing configuration and the instrumentation amplifier configuration,
+ * a highly accurate operational amplifier (TSZ124) is used. The expansion board also contains Nanopower (TSU104)
+ * and Micropower (TSV734) operational amplifiers for mobile applications.
+ * It is intentionally implemented as a singleton because only one
+ * XNucleoIKA01A1 at a time might be deployed in a HW component stack.\n
+ * In order to get the singleton instance you have to call class method `Instance()`,
+ * e.g.:
+ * @code
+ * // Inertial & Environmental expansion board singleton instance
+ * static XNucleoIKA01A1 *<TODO>_expansion_board = XNucleoIKA01A1::instance();
+ * @endcode
+ *
+ */
+class XNucleoIKA01A1
+{
+public:
+
+ /*** Instance, Initialization and Destructor Methods ***/
+
+ /**
+ * @brief Getting a singleton instance of XNucleoIKA01A1 class.
+ * @retval a singleton instance of XNucleoIKA01A1 class.
+ */
+ static XNucleoIKA01A1 *instance(PinName instrumentAmpPin, PinName currentSensorPin, PinName photoSensorPin, PinName windCmpSignalPin_1,
+ PinName windCmpSignalPin_2, PinName ledDriverPin, double ledDriverPeriod_us);
+
+ /**
+ * @brief Initialize the singleton's operational amplifiers to default settings
+ * @retval true if initialization is successful
+ * @retval false otherwise.
+ */
+ bool init(void);
+
+ /**
+ * @brief Destructor.
+ */
+ ~XNucleoIKA01A1(void) {}
+
+
+ /*** Public Expansion Board Related Attributes ***/
+
+ /* ACTION 4 --------------------------------------------------------------*
+ * Declare here a public attribute for each expansion board's component. *
+ * You will have to call these attributes' public methods within your *
+ * main program. *
+ * *
+ * Example: *
+ * COMPONENT_1 *component_1; *
+ * COMPONENT_2 *component_2; *
+ *------------------------------------------------------------------------*/
+ TSZ124 *tsz124;
+ TSU104 *tsu104;
+ TSV734 *tsv734;
+
+
+protected:
+
+ /*** Protected Constructor Method ***/
+
+ /**
+ * @brief Constructor.
+ */
+ XNucleoIKA01A1(PinName instrumentAmpPin, PinName currentSensorPin, PinName photoSensorPin, PinName windCmpSignalPin_1,
+ PinName windCmpSignalPin_2, PinName ledDriverPin, double ledDriverPeriod_us);
+
+
+ /*** Protected Expansion Board Related Initialization Methods ***/
+
+ /* ACTION 5 --------------------------------------------------------------*
+ * Declare here a protected initialization method for each expansion *
+ * board's component. *
+ * *
+ * Example: *
+ * bool init_COMPONENT_1(void); *
+ * bool init_COMPONENT_2(void); *
+ *------------------------------------------------------------------------*/
+ bool init_TSZ124(void);
+ bool init_TSU104(void);
+ bool init_TSV734(void);
+
+
+ /*** Component's Instance Variables ***/
+
+ /* Singleton instance of XNucleoIKA01A1 class. */
+ static XNucleoIKA01A1 *_instance;
+};
+
+#endif /* __X_NUCLEO_IKA01A1_CLASS_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- a/x_nucleo_ika01a1_class.cpp Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/**
- ******************************************************************************
- * @file x_nucleo_ika01a1_class.cpp
- * @author AST / Software Platforms and Cloud
- * @version V1.0
- * @date October 1st, 2015
- * @brief Implementation file for the X_NUCLEO_IKA01A1 expansion board.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION 1 ------------------------------------------------------------------*
- * Include here platform specific header files. *
- *----------------------------------------------------------------------------*/
-#include "mbed.h"
-/* ACTION 2 ------------------------------------------------------------------*
- * Include here expansion board specific header files. *
- *----------------------------------------------------------------------------*/
-#include "x_nucleo_ika01a1_class.h"
-
-
-/* Variables -----------------------------------------------------------------*/
-
-/* Singleton instance of X_NUCLEO_IKA01A1 class. */
-X_NUCLEO_IKA01A1 *X_NUCLEO_IKA01A1::_instance;
-
-
-/* Methods -------------------------------------------------------------------*/
-
-/**
- * @brief Constructor.
- */
-X_NUCLEO_IKA01A1::X_NUCLEO_IKA01A1(PinName instrumentAmpPin,
- PinName currentSensorPin,
- PinName photoSensorPin,
- PinName windCmpSignalPin_1,
- PinName windCmpSignalPin_2,
- PinName ledDriverPin,
- double ledDriverPeriod_us)
-
-{
- /* Instantiating the components. */
- /* ACTION 3 --------------------------------------------------------------*
- * Instantiate here the expansion board's components. *
- * *
- * Example: *
- * component_1 = new COMPONENT_1(); *
- * component_2 = new COMPONENT_2(); *
- *------------------------------------------------------------------------*/
- tsz124 = new TSZ124(instrumentAmpPin, currentSensorPin);
- tsu104 = new TSU104(photoSensorPin, windCmpSignalPin_1, windCmpSignalPin_2);
- tsv734 = new TSV734(ledDriverPin, ledDriverPeriod_us);
-}
-
-/**
- * @brief Getting a singleton instance of X_NUCLEO_IKA01A1 class.
- * @retval a singleton instance of X_NUCLEO_IKA01A1 class.
- */
-X_NUCLEO_IKA01A1 *X_NUCLEO_IKA01A1::Instance(PinName instrumentAmpPin,
- PinName currentSensorPin,
- PinName photoSensorPin,
- PinName windCmpSignalPin_1,
- PinName windCmpSignalPin_2,
- PinName ledDriverPin,
- double ledDriverPeriod_us)
-{
- if (_instance == NULL)
- {
- /* Instantiating the board. */
- _instance = new X_NUCLEO_IKA01A1(instrumentAmpPin, currentSensorPin, photoSensorPin, windCmpSignalPin_1, windCmpSignalPin_2, ledDriverPin, ledDriverPeriod_us);
-
- /* Initializing the components. */
- if (!_instance->Init())
- error("Initialization of the X_NUCLEO_IKA01A1 expansion board failed.\n");
- }
-
- return _instance;
-}
-
-/**
- * @brief Initializing the X_NUCLEO_IKA01A1 board.
- * @retval true if initialization is successful
- * @retval false otherwise.
- */
-bool X_NUCLEO_IKA01A1::Init(void)
-{
- /* Initializing the components. */
- /* ACTION 4 --------------------------------------------------------------*
- * Initialize here the expansion board's components. *
- * *
- * Example: *
- * return (Init_COMPONENT_1() && Init_COMPONENT_2()); *
- *------------------------------------------------------------------------*/
- //return (Init_TSZ124() && Init_TSU104() && Init_TSV734());
- return true;
-}
-
-
-/**
- * @brief Initialize the TSZ124 component.
- * @retval true if initialization is successful
- * @retval false otherwise
- */
-bool X_NUCLEO_IKA01A1::Init_TSZ124(void)
-{
- /* Verifying identity. */
- uint8_t id = 0;
- int ret = tsz124->ReadID(&id);
- if ((ret != COMPONENT_OK) || (id != I_AM_TSZ124))
- {
- delete tsz124;
- tsz124 = NULL;
- return true;
- }
-
- /* Configuration. */
- void* InitStructure = NULL;
- /* ACTION ----------------------------------------------------------------*
- * Configure here the component's initialization structure. *
- * *
- * Example: *
- * InitStructure.Property_1 = COMPONENT_PROPERY_1_INIT; *
- * InitStructure.Property_N = COMPONENT_PROPERY_N_INIT; *
- *------------------------------------------------------------------------*/
-
- /* Initialization. */
- if (tsz124->Init(&InitStructure) != COMPONENT_OK)
- return false;
-
- return true;
-}
-
-/**
- * @brief Initialize the TSU104 component.
- * @retval true if initialization is successful
- * @retval false otherwise
- */
-bool X_NUCLEO_IKA01A1::Init_TSU104(void)
-{
- /* Verifying identity. */
- uint8_t id = 0;
- int ret = tsu104->ReadID(&id);
- if ((ret != COMPONENT_OK) || (id != I_AM_TSU104))
- {
- delete tsu104;
- tsu104 = NULL;
- return true;
- }
-
- /* Configuration. */
- void* InitStructure = NULL;
- /* ACTION ----------------------------------------------------------------*
- * Configure here the component's initialization structure. *
- * *
- * Example: *
- * InitStructure.Property_1 = COMPONENT_PROPERY_1_INIT; *
- * InitStructure.Property_N = COMPONENT_PROPERY_N_INIT; *
- *------------------------------------------------------------------------*/
-
- /* Initialization. */
- if (tsu104->Init(&InitStructure) != COMPONENT_OK)
- return false;
-
- return true;
-}
-
-/**
- * @brief Initialize the TSV734 component.
- * @retval true if initialization is successful
- * @retval false otherwise
- */
-bool X_NUCLEO_IKA01A1::Init_TSV734(void)
-{
- /* Verifying identity. */
- uint8_t id = 0;
- int ret = tsv734->ReadID(&id);
- if ((ret != COMPONENT_OK) || (id != I_AM_TSV734))
- {
- delete tsv734;
- tsv734 = NULL;
- return true;
- }
-
- /* Configuration. */
- void* InitStructure = NULL;
- /* ACTION ----------------------------------------------------------------*
- * Configure here the component's initialization structure. *
- * *
- * Example: *
- * InitStructure.Property_1 = COMPONENT_PROPERY_1_INIT; *
- * InitStructure.Property_N = COMPONENT_PROPERY_N_INIT; *
- *------------------------------------------------------------------------*/
-
- /* Initialization. */
- if (tsv734->Init(&InitStructure) != COMPONENT_OK)
- return false;
-
- return true;
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- a/x_nucleo_ika01a1_class.h Wed Apr 13 06:21:46 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/**
- ******************************************************************************
- * @file x_nucleo_ika01a1_class.h
- * @author AST / Software Platforms and Cloud
- * @version V1.0
- * @date October 1st, 2015
- * @brief Class header file for the X_NUCLEO_IKA01A1 expansion board.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __X_NUCLEO_IKA01A1_CLASS_H
-#define __X_NUCLEO_IKA01A1_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION 1 ------------------------------------------------------------------*
- * Include here platform specific header files. *
- *----------------------------------------------------------------------------*/
-#include "mbed.h"
-/* ACTION 2 ------------------------------------------------------------------*
- * Include here expansion board configuration's header files. *
- *----------------------------------------------------------------------------*/
-#include "x_nucleo_ika01a1_config.h"
-/* ACTION 3 ------------------------------------------------------------------*
- * Include here expansion board's components' header files. *
- * *
- * Example: *
- * #include "component_1_class.h" *
- * #include "component_2_class.h" *
- *----------------------------------------------------------------------------*/
-#include "tsz124_class.h"
-#include "tsu104_class.h"
-#include "tsv734_class.h"
-
-
-/* Classes -------------------------------------------------------------------*/
-
-/** Class X_NUCLEO_IKA01A1 represents multifunctional expansion board based on operational amplifiers.
- * It provides an easy-to-use and affordable solution for different multifunctional use cases with your
- * STM32 Nucleo board. For current sensing configuration and the instrumentation amplifier configuration,
- * a highly accurate operational amplifier (TSZ124) is used. The expansion board also contains Nanopower (TSU104)
- * and Micropower (TSV734) operational amplifiers for mobile applications.
- * It is intentionally implemented as a singleton because only one
- * X_NUCLEO_IKA01A1 at a time might be deployed in a HW component stack.\n
- * In order to get the singleton instance you have to call class method `Instance()`,
- * e.g.:
- * @code
- * // Inertial & Environmental expansion board singleton instance
- * static X_NUCLEO_IKA01A1 *<TODO>_expansion_board = X_NUCLEO_IKA01A1::Instance();
- * @endcode
- *
- */
-class X_NUCLEO_IKA01A1
-{
-public:
-
- /*** Instance, Initialization and Destructor Methods ***/
-
- /**
- * @brief Getting a singleton instance of X_NUCLEO_IKA01A1 class.
- * @retval a singleton instance of X_NUCLEO_IKA01A1 class.
- */
- static X_NUCLEO_IKA01A1 *Instance(PinName instrumentAmpPin, PinName currentSensorPin, PinName photoSensorPin, PinName windCmpSignalPin_1,
- PinName windCmpSignalPin_2, PinName ledDriverPin, double ledDriverPeriod_us);
-
- /**
- * @brief Initialize the singleton's operational amplifiers to default settings
- * @retval true if initialization is successful
- * @retval false otherwise.
- */
- bool Init(void);
-
- /**
- * @brief Destructor.
- */
- ~X_NUCLEO_IKA01A1(void) {}
-
-
- /*** Public Expansion Board Related Attributes ***/
-
- /* ACTION 4 --------------------------------------------------------------*
- * Declare here a public attribute for each expansion board's component. *
- * You will have to call these attributes' public methods within your *
- * main program. *
- * *
- * Example: *
- * COMPONENT_1 *component_1; *
- * COMPONENT_2 *component_2; *
- *------------------------------------------------------------------------*/
- TSZ124 *tsz124;
- TSU104 *tsu104;
- TSV734 *tsv734;
-
-
-protected:
-
- /*** Protected Constructor Method ***/
-
- /**
- * @brief Constructor.
- */
- X_NUCLEO_IKA01A1(PinName instrumentAmpPin, PinName currentSensorPin, PinName photoSensorPin, PinName windCmpSignalPin_1,
- PinName windCmpSignalPin_2, PinName ledDriverPin, double ledDriverPeriod_us);
-
-
- /*** Protected Expansion Board Related Initialization Methods ***/
-
- /* ACTION 5 --------------------------------------------------------------*
- * Declare here a protected initialization method for each expansion *
- * board's component. *
- * *
- * Example: *
- * bool Init_COMPONENT_1(void); *
- * bool Init_COMPONENT_2(void); *
- *------------------------------------------------------------------------*/
- bool Init_TSZ124(void);
- bool Init_TSU104(void);
- bool Init_TSV734(void);
-
-
- /*** Component's Instance Variables ***/
-
- /* Singleton instance of X_NUCLEO_IKA01A1 class. */
- static X_NUCLEO_IKA01A1 *_instance;
-};
-
-#endif /* __X_NUCLEO_IKA01A1_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
\ No newline at end of file
--- a/x_nucleo_ika01a1_config.h Wed Apr 13 06:21:46 2016 +0000 +++ b/x_nucleo_ika01a1_config.h Tue May 09 11:49:16 2017 +0000 @@ -64,20 +64,20 @@ * #define EXPANSION_BOARD_PIN_INT_1 (A2) * *----------------------------------------------------------------------------*/ - /* instrumentation amplifier configuration */ - #define X_NUCLEO_IKA01A1_PIN_INSTRUMENTATION_AMP (A1) - - /* Current sensing configuration */ - #define X_NUCLEO_IKA01A1_PIN_CURRENT_SENSING (A2) +/* instrumentation amplifier configuration */ +#define X_NUCLEO_IKA01A1_PIN_INSTRUMENTATION_AMP (A1) + +/* Current sensing configuration */ +#define X_NUCLEO_IKA01A1_PIN_CURRENT_SENSING (A2) /* Photo sensor configuration output pin. */ -#define X_NUCLEO_IKA01A1_PIN_PHOTO_SENSOR (A3) +#define X_NUCLEO_IKA01A1_PIN_PHOTO_SENSOR (A3) /* Windows */ #define X_NUCLEO_IKA01A1_PIN_WINDOWS_COMP_SIGNAL_1 (D2) #define X_NUCLEO_IKA01A1_PIN_WINDOWS_COMP_SIGNAL_2 (D4) /* LED Driver Configuration PWM out pin. */ -#define X_NUCLEO_IKA01A1_PIN_PWM_LED_DRIVER_OUTPUT (D3) +#define X_NUCLEO_IKA01A1_PIN_PWM_LED_DRIVER_OUTPUT (D3) #endif /* __X_NUCLEO_IKA01A1_CONFIG_H */

X-NUCLEO-IKA01A1 Multifunctional board based on operational amplifiers.