初版
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
|
||||
/*
|
||||
* Privileged & confidential All Rights/Copyright Reserved by FocalTech.
|
||||
* ** Source code released bellows and hereby must be retained as
|
||||
* FocalTech's copyright and with the following disclaimer accepted by
|
||||
* Receiver.
|
||||
*
|
||||
* "THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
|
||||
* EVENT SHALL THE FOCALTECH'S AND ITS AFFILIATES'DIRECTORS AND OFFICERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
|
||||
*/
|
||||
|
||||
#ifndef __FOCALTECH_CORE_H__
|
||||
#define __FOCALTECH_CORE_H__
|
||||
/*****************************************************************************
|
||||
* Included header files
|
||||
*****************************************************************************/
|
||||
#include "app_config.h"
|
||||
#include "system/includes.h"
|
||||
#include "asm/iic_hw.h"
|
||||
// #include "asm/iic_soft.h"
|
||||
// #include "asm/gpio.h"
|
||||
// #include "ui/ui.h"
|
||||
#include "ui/ui_api.h"
|
||||
|
||||
/*****************************************************************************
|
||||
* Private constant and macro definitions using #define
|
||||
*****************************************************************************/
|
||||
#define HOST_MCU_DRIVER_VERSION "FocalTech MCU V1.0 20220316"
|
||||
|
||||
#define FTS_INFO(fmt, ...) printf("[FTS/I]%s:"fmt"\n", __func__, ##__VA_ARGS__)
|
||||
#define FTS_ERROR(fmt, ...) printf("[FTS/E]%s:"fmt"\n", __func__, ##__VA_ARGS__)
|
||||
#define FTS_DEBUG(fmt, ...) printf("[FTS/D]%s:"fmt"\n", __func__, ##__VA_ARGS__)
|
||||
|
||||
#define INTERVAL_READ_REG 200 /* unit:ms */
|
||||
|
||||
|
||||
#define FTS_CMD_READ_ID 0x90
|
||||
|
||||
/* chip id */
|
||||
#define FTS_CHIP_IDH 0x64
|
||||
#define FTS_CHIP_IDL 0x56
|
||||
|
||||
/* register address */
|
||||
#define FTS_REG_CHIP_ID 0xA3
|
||||
#define FTS_REG_CHIP_ID2 0x9F
|
||||
#define FTS_REG_FW_VER 0xA6
|
||||
#define FTS_REG_UPGRADE 0xFC
|
||||
|
||||
/*
|
||||
* Gesture function enable
|
||||
* default: disable
|
||||
*/
|
||||
#define FTS_GESTURE_EN 0
|
||||
|
||||
/*****************************************************************************
|
||||
* Private enumerations, structures and unions using typedef
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* Structures of point information
|
||||
*
|
||||
* @x: X coordinate of this point
|
||||
* @y: Y coordinate of this point
|
||||
* @p: pressure value of this point
|
||||
* @type: event type of this point, 0 means down event,
|
||||
* 1 means up event, 2 means contact event
|
||||
* @id: ID of this point
|
||||
* @area: touch area of this point
|
||||
*/
|
||||
struct fts_ts_event {
|
||||
int x; /*x coordinate */
|
||||
int y; /*y coordinate */
|
||||
int p; /* pressure */
|
||||
int type; /* touch event flag: 0 -- down; 1-- up; 2 -- contact */
|
||||
int id; /*touch ID */
|
||||
int area; /*touch area*/
|
||||
};
|
||||
|
||||
|
||||
struct fts_ts_data {
|
||||
int suspended: 1; /* suspended state, 1: suspended mode, 0:not suspended mode */
|
||||
int esd_support: 1; /* esd enable or disable, default: disable */
|
||||
int gesture_support: 1; /* gesture enable or disable, default: disable */
|
||||
int int_io_init: 1;
|
||||
int iic_delay: 8;
|
||||
int iic_hdl: 8;
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Global variable or extern global variabls/functions
|
||||
*****************************************************************************/
|
||||
extern struct fts_ts_data *fts_data;
|
||||
|
||||
void fts_msleep(unsigned long msec);
|
||||
|
||||
/* communication interface */
|
||||
int fts_read(uint8_t addr, uint8_t *data, uint16_t datalen);
|
||||
int fts_read_reg(uint8_t addr, uint8_t *value);
|
||||
int fts_write(uint8_t addr, uint8_t *data, uint16_t datalen);
|
||||
int fts_write_reg(uint8_t addr, uint8_t value);
|
||||
|
||||
void fts_ts_init(void);
|
||||
int fts_ts_suspend(void);
|
||||
int fts_ts_resume(void);
|
||||
|
||||
|
||||
#endif /* __FOCALTECH_CORE_H__ */
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user