Libreria para manejo de Touchpad

Dependents:   Module2-vibrations

Committer:
RafaB
Date:
Mon Jun 08 00:52:01 2015 +0000
Revision:
0:53d8d4e25c00
Librer?a Touchpad

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RafaB 0:53d8d4e25c00 1 /* Freescale Semiconductor Inc.
RafaB 0:53d8d4e25c00 2 * (c) Copyright 2004-2005 Freescale Semiconductor, Inc.
RafaB 0:53d8d4e25c00 3 * (c) Copyright 2001-2004 Motorola, Inc.
RafaB 0:53d8d4e25c00 4 *
RafaB 0:53d8d4e25c00 5 * mbed Microcontroller Library
RafaB 0:53d8d4e25c00 6 * (c) Copyright 2009-2012 ARM Limited.
RafaB 0:53d8d4e25c00 7 *
RafaB 0:53d8d4e25c00 8 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
RafaB 0:53d8d4e25c00 9 * and associated documentation files (the "Software"), to deal in the Software without
RafaB 0:53d8d4e25c00 10 * restriction, including without limitation the rights to use, copy, modify, merge, publish,
RafaB 0:53d8d4e25c00 11 * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
RafaB 0:53d8d4e25c00 12 * Software is furnished to do so, subject to the following conditions:
RafaB 0:53d8d4e25c00 13 *
RafaB 0:53d8d4e25c00 14 * The above copyright notice and this permission notice shall be included in all copies or
RafaB 0:53d8d4e25c00 15 * substantial portions of the Software.
RafaB 0:53d8d4e25c00 16 *
RafaB 0:53d8d4e25c00 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
RafaB 0:53d8d4e25c00 18 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
RafaB 0:53d8d4e25c00 19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
RafaB 0:53d8d4e25c00 20 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
RafaB 0:53d8d4e25c00 21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
RafaB 0:53d8d4e25c00 22 */
RafaB 0:53d8d4e25c00 23
RafaB 0:53d8d4e25c00 24 #ifndef TSISENSOR_H
RafaB 0:53d8d4e25c00 25 #define TSISENSOR_H
RafaB 0:53d8d4e25c00 26
RafaB 0:53d8d4e25c00 27 /**
RafaB 0:53d8d4e25c00 28 * TSISensor example
RafaB 0:53d8d4e25c00 29 *
RafaB 0:53d8d4e25c00 30 * @code
RafaB 0:53d8d4e25c00 31 * #include "mbed.h"
RafaB 0:53d8d4e25c00 32 * #include "TSISensor.h"
RafaB 0:53d8d4e25c00 33 *
RafaB 0:53d8d4e25c00 34 * int main(void) {
RafaB 0:53d8d4e25c00 35 * PwmOut led(LED_GREEN);
RafaB 0:53d8d4e25c00 36 * TSISensor tsi;
RafaB 0:53d8d4e25c00 37 *
RafaB 0:53d8d4e25c00 38 * while (true) {
RafaB 0:53d8d4e25c00 39 * led = 1.0 - tsi.readPercentage();
RafaB 0:53d8d4e25c00 40 * wait(0.1);
RafaB 0:53d8d4e25c00 41 * }
RafaB 0:53d8d4e25c00 42 * }
RafaB 0:53d8d4e25c00 43 * @endcode
RafaB 0:53d8d4e25c00 44 */
RafaB 0:53d8d4e25c00 45 class TSISensor {
RafaB 0:53d8d4e25c00 46 public:
RafaB 0:53d8d4e25c00 47 /**
RafaB 0:53d8d4e25c00 48 * Initialize the TSI Touch Sensor
RafaB 0:53d8d4e25c00 49 */
RafaB 0:53d8d4e25c00 50 TSISensor();
RafaB 0:53d8d4e25c00 51
RafaB 0:53d8d4e25c00 52 /**
RafaB 0:53d8d4e25c00 53 * Read Touch Sensor percentage value
RafaB 0:53d8d4e25c00 54 *
RafaB 0:53d8d4e25c00 55 * @returns percentage value between [0 ... 1]
RafaB 0:53d8d4e25c00 56 */
RafaB 0:53d8d4e25c00 57 float readPercentage();
RafaB 0:53d8d4e25c00 58
RafaB 0:53d8d4e25c00 59 /**
RafaB 0:53d8d4e25c00 60 * Read Touch Sensor distance
RafaB 0:53d8d4e25c00 61 *
RafaB 0:53d8d4e25c00 62 * @returns distance in mm. The value is between [0 ... 40]
RafaB 0:53d8d4e25c00 63 */
RafaB 0:53d8d4e25c00 64 uint8_t readDistance();
RafaB 0:53d8d4e25c00 65 uint16_t readValue(uint8_t);
RafaB 0:53d8d4e25c00 66 void TSISensor_reset(void);
RafaB 0:53d8d4e25c00 67
RafaB 0:53d8d4e25c00 68 private:
RafaB 0:53d8d4e25c00 69 void sliderRead(void);
RafaB 0:53d8d4e25c00 70 void selfCalibration(void);
RafaB 0:53d8d4e25c00 71 };
RafaB 0:53d8d4e25c00 72
RafaB 0:53d8d4e25c00 73 #endif