mbed library for STMicroelectronics' X-NUCLEO-IKA01A1 expansion board.

Dependents:   HelloWorld_IKA01A1

Fork of X_NUCLEO_IKA01A1 by ST Expansion SW Team

Library for STMicroelectronics' X-NUCLEO-IKA01A1 multifunctional expansion board based on operational amplifiers.

Files at this revision

API Documentation at this revision

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

Components/Common/component.h Show diff for this revision Revisions of this file
Components/Common/component_def.h Show annotated file Show diff for this revision Revisions of this file
Components/Common/instrumentation_amp.h Show diff for this revision Revisions of this file
Components/Common/instrumentation_amp_def.h Show annotated file Show diff for this revision Revisions of this file
Components/Common/led_driver.h Show diff for this revision Revisions of this file
Components/Common/led_driver_def.h Show annotated file Show diff for this revision Revisions of this file
Components/Common/photosensor.h Show diff for this revision Revisions of this file
Components/Common/photosensor_def.h Show annotated file Show diff for this revision Revisions of this file
Components/Common/windcomp.h Show diff for this revision Revisions of this file
Components/Common/windcomp_def.h Show annotated file Show diff for this revision Revisions of this file
Components/Interfaces/Component.h Show annotated file Show diff for this revision Revisions of this file
Components/Interfaces/Component_class.h Show diff for this revision Revisions of this file
Components/Interfaces/InstrumentationAmp.h Show annotated file Show diff for this revision Revisions of this file
Components/Interfaces/Instrumentation_amp_class.h Show diff for this revision Revisions of this file
Components/Interfaces/LedDriver.h Show annotated file Show diff for this revision Revisions of this file
Components/Interfaces/Led_driver_class.h Show diff for this revision Revisions of this file
Components/Interfaces/PhotoSensor.h Show annotated file Show diff for this revision Revisions of this file
Components/Interfaces/PhotoSensor_class.h Show diff for this revision Revisions of this file
Components/Interfaces/Windcomp.h Show annotated file Show diff for this revision Revisions of this file
Components/Interfaces/Windcomp_class.h Show diff for this revision Revisions of this file
Components/TSU104/TSU104.cpp Show annotated file Show diff for this revision Revisions of this file
Components/TSU104/TSU104.h Show annotated file Show diff for this revision Revisions of this file
Components/TSU104/TSU104_def.h Show annotated file Show diff for this revision Revisions of this file
Components/TSV734/TSV734.cpp Show annotated file Show diff for this revision Revisions of this file
Components/TSV734/TSV734.h Show annotated file Show diff for this revision Revisions of this file
Components/TSV734/TSV734_def.h Show annotated file Show diff for this revision Revisions of this file
Components/TSZ124/TSZ124.cpp Show annotated file Show diff for this revision Revisions of this file
Components/TSZ124/TSZ124.h Show annotated file Show diff for this revision Revisions of this file
Components/TSZ124/TSZ124_def.h Show annotated file Show diff for this revision Revisions of this file
Components/tsu104/tsu104.h Show diff for this revision Revisions of this file
Components/tsu104/tsu104_class.cpp Show diff for this revision Revisions of this file
Components/tsu104/tsu104_class.h Show diff for this revision Revisions of this file
Components/tsv734/tsv734.h Show diff for this revision Revisions of this file
Components/tsv734/tsv734_class.cpp Show diff for this revision Revisions of this file
Components/tsv734/tsv734_class.h Show diff for this revision Revisions of this file
Components/tsz124/tsz124.h Show diff for this revision Revisions of this file
Components/tsz124/tsz124_class.cpp Show diff for this revision Revisions of this file
Components/tsz124/tsz124_class.h Show diff for this revision Revisions of this file
XNucleoIKA01A1.cpp Show annotated file Show diff for this revision Revisions of this file
XNucleoIKA01A1.h Show annotated file Show diff for this revision Revisions of this file
x_nucleo_ika01a1_class.cpp Show diff for this revision Revisions of this file
x_nucleo_ika01a1_class.h Show diff for this revision Revisions of this file
x_nucleo_ika01a1_config.h Show annotated file Show diff for this revision Revisions of this file
--- 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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>&copy; 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 */