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.

Revision:
22:ff8d071bf79e
Parent:
21:8d0624950dd1
Child:
23:807f66b435d6
--- 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