STMPE811.h
112 lines
| 4.7 KiB
| text/x-c
|
CLexer
r71 | /*------------------------------------------------------------------------------ | |||
-- This file is a part of the libuc, microcontroler library | ||||
-- Copyright (C) 2013, Alexis Jeandet | ||||
-- | ||||
-- This program is free software; you can redistribute it and/or modify | ||||
-- it under the terms of the GNU General Public License as published by | ||||
-- the Free Software Foundation; either version 3 of the License, or | ||||
-- (at your option) any later version. | ||||
-- | ||||
-- This program is distributed in the hope that it will be useful, | ||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
-- GNU General Public License for more details. | ||||
-- | ||||
-- You should have received a copy of the GNU General Public License | ||||
-- along with this program; if not, write to the Free Software | ||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||||
------------------------------------------------------------------------------- | ||||
-- Author : Alexis Jeandet | ||||
-- Mail : alexis.jeandet@member.fsf.org | ||||
-------------------------------------------------------------------------------*/ | ||||
#ifndef STMPE811_H | ||||
#define STMPE811_H | ||||
#include <stdio.h> | ||||
#include <genericTC_Controler.h> | ||||
#include <i2c.h> | ||||
typedef struct STMPE811_t | ||||
{ | ||||
i2c_t i2cdev; | ||||
uint8_t devAddress; | ||||
}STMPE811_t; | ||||
extern int stmpe811init(STMPE811_t *dev, i2c_t i2cdev, uint8_t A0); | ||||
extern int stmpe811getID(STMPE811_t *dev); | ||||
#define STMPE811_REGISTER_CHIP_ID ((uint32_t) 0x0000 ) | ||||
#define STMPE811_REGISTER_ID_VER ((uint32_t) 0x0002 ) | ||||
#define STMPE811_REGISTER_SYS_CTRL1 ((uint32_t) 0x0003 ) | ||||
#define STMPE811_REGISTER_SYS_CTRL2 ((uint32_t) 0x0004 ) | ||||
#define STMPE811_REGISTER_SPI_CFG ((uint32_t) 0x0008 ) | ||||
#define STMPE811_REGISTER_INT_CTRL ((uint32_t) 0x0009 ) | ||||
#define STMPE811_REGISTER_INT_EN ((uint32_t) 0x000A ) | ||||
#define STMPE811_REGISTER_INT_STA ((uint32_t) 0x000B ) | ||||
#define STMPE811_REGISTER_GPIO_EN ((uint32_t) 0x000C ) | ||||
#define STMPE811_REGISTER_GPIO_INT_STA ((uint32_t) 0x000D ) | ||||
#define STMPE811_REGISTER_ADC_INT_EN ((uint32_t) 0x000E ) | ||||
#define STMPE811_REGISTER_ADC_INT_STA ((uint32_t) 0x000F ) | ||||
#define STMPE811_REGISTER_GPIO_SET_PIN ((uint32_t) 0x0010 ) | ||||
#define STMPE811_REGISTER_GPIO_CLR_PIN ((uint32_t) 0x0011 ) | ||||
#define STMPE811_REGISTER_GPIO_MP_STA ((uint32_t) 0x0012 ) | ||||
#define STMPE811_REGISTER_GPIO_DIR ((uint32_t) 0x0013 ) | ||||
#define STMPE811_REGISTER_GPIO_ED ((uint32_t) 0x0014 ) | ||||
#define STMPE811_REGISTER_GPIO_RE ((uint32_t) 0x0015 ) | ||||
#define STMPE811_REGISTER_GPIO_FE ((uint32_t) 0x0016 ) | ||||
#define STMPE811_REGISTER_GPIO_AF ((uint32_t) 0x0017 ) | ||||
#define STMPE811_REGISTER_ADC_CTRL1 ((uint32_t) 0x0020 ) | ||||
#define STMPE811_REGISTER_ADC_CTRL2 ((uint32_t) 0x0021 ) | ||||
#define STMPE811_REGISTER_ADC_CAPT ((uint32_t) 0x0022 ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH0 ((uint32_t) 0x0030 ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH1 ((uint32_t) 0x0032 ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH2 ((uint32_t) 0x0034 ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH3 ((uint32_t) 0x0036 ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH4 ((uint32_t) 0x0038 ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH5 ((uint32_t) 0x003A ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH6 ((uint32_t) 0x003C ) | ||||
#define STMPE811_REGISTER_ADC_DATA_CH7 ((uint32_t) 0x003E ) | ||||
#define STMPE811_REGISTER_TSC_CTRL ((uint32_t) 0x0040 ) | ||||
#define STMPE811_REGISTER_TSC_CFG ((uint32_t) 0x0041 ) | ||||
#define STMPE811_REGISTER_WDW_TR_X ((uint32_t) 0x0042 ) | ||||
#define STMPE811_REGISTER_WDW_TR_Y ((uint32_t) 0x0044 ) | ||||
#define STMPE811_REGISTER_WDW_BL_X ((uint32_t) 0x0046 ) | ||||
#define STMPE811_REGISTER_WDW_BL_Y ((uint32_t) 0x0048 ) | ||||
#define STMPE811_REGISTER_FIFO_TH ((uint32_t) 0x004A ) | ||||
#define STMPE811_REGISTER_FIFO_STA ((uint32_t) 0x004B ) | ||||
#define STMPE811_REGISTER_FIFO_SIZE ((uint32_t) 0x004C ) | ||||
#define STMPE811_REGISTER_TSC_DATA_X ((uint32_t) 0x004D ) | ||||
#define STMPE811_REGISTER_TSC_DATA_Y ((uint32_t) 0x004F ) | ||||
#define STMPE811_REGISTER_TSC_DATA_Z ((uint32_t) 0x0051 ) | ||||
#define STMPE811_REGISTER_TSC_DATA_XYZ ((uint32_t) 0x0052 ) | ||||
#define STMPE811_REGISTER_TSC_FRACTION_Z ((uint32_t) 0x0056 ) | ||||
#define STMPE811_REGISTER_TSC_DATA ((uint32_t) 0x0057 ) | ||||
#define STMPE811_REGISTER_TSC_I_DRIVE ((uint32_t) 0x0058 ) | ||||
#define STMPE811_REGISTER_TSC_SHIELD ((uint32_t) 0x0059 ) | ||||
#define STMPE811_REGISTER_TEMP_CTRL ((uint32_t) 0x0060 ) | ||||
#define STMPE811_REGISTER_TEMP_DATA ((uint32_t) 0x0061 ) | ||||
#define STMPE811_REGISTER_TEMP_TH ((uint32_t) 0x0062 ) | ||||
#endif | ||||