|
|
/*------------------------------------------------------------------------------
|
|
|
-- 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@gmail.com
|
|
|
-------------------------------------------------------------------------------*/
|
|
|
#ifndef STMPE811_H
|
|
|
#define STMPE811_H
|
|
|
#include <stdio.h>
|
|
|
#include <uhandle.h>
|
|
|
#include <genericTC_Controler.h>
|
|
|
#include <stdint.h>
|
|
|
#include <fonts.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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|