LibDriver TTP229
Loading...
Searching...
No Matches
driver_ttp229.h
Go to the documentation of this file.
1
36
37#ifndef DRIVER_TTP229_H
38#define DRIVER_TTP229_H
39
40#include <stdio.h>
41#include <stdint.h>
42#include <string.h>
43
44#ifdef __cplusplus
45extern "C"{
46#endif
47
53
58
67
71typedef enum
72{
76
80typedef struct ttp229_handle_s
81{
82 uint8_t (*iic_init)(void);
83 uint8_t (*iic_deinit)(void);
84 uint8_t (*iic_read_cmd)(uint8_t addr, uint8_t *buf, uint16_t len);
85 uint8_t (*spi_init)(void);
86 uint8_t (*spi_deinit)(void);
87 uint8_t (*spi_read_cmd)(uint8_t *buf, uint16_t len);
88 void (*delay_ms)(uint32_t ms);
89 void (*debug_print)(const char *const fmt, ...);
90 uint8_t inited;
91 uint8_t active;
92 uint8_t iic_spi;
94
110
114
121
128#define DRIVER_TTP229_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
129
136#define DRIVER_TTP229_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
137
144#define DRIVER_TTP229_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
145
152#define DRIVER_TTP229_LINK_IIC_READ_CMD(HANDLE, FUC) (HANDLE)->iic_read_cmd = FUC
153
160#define DRIVER_TTP229_LINK_SPI_INIT(HANDLE, FUC) (HANDLE)->spi_init = FUC
161
168#define DRIVER_TTP229_LINK_SPI_DEINIT(HANDLE, FUC) (HANDLE)->spi_deinit = FUC
169
176#define DRIVER_TTP229_LINK_SPI_READ_CMD(HANDLE, FUC) (HANDLE)->spi_read_cmd = FUC
177
184#define DRIVER_TTP229_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
185
192#define DRIVER_TTP229_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
193
197
204
213uint8_t ttp229_info(ttp229_info_t *info);
214
225
235uint8_t ttp229_get_interface(ttp229_handle_t *handle, ttp229_interface_t *interface);
236
247uint8_t ttp229_init(ttp229_handle_t *handle);
248
259uint8_t ttp229_deinit(ttp229_handle_t *handle);
260
271uint8_t ttp229_set_active(ttp229_handle_t *handle, ttp229_active_t active_level);
272
283uint8_t ttp229_get_active(ttp229_handle_t *handle, ttp229_active_t *active_level);
284
296uint8_t ttp229_read_16_keys(ttp229_handle_t *handle, uint8_t keys[16]);
297
309uint8_t ttp229_read_8_keys(ttp229_handle_t *handle, uint8_t keys[8]);
310
314
321
334uint8_t ttp229_get_reg(ttp229_handle_t *handle, uint8_t *buf, uint16_t len);
335
339
343
344#ifdef __cplusplus
345}
346#endif
347
348#endif
ttp229_active_t
ttp229 active enumeration definition
uint8_t ttp229_init(ttp229_handle_t *handle)
initialize the chip
struct ttp229_info_s ttp229_info_t
ttp229 information structure definition
ttp229_interface_t
ttp229 interface enumeration definition
uint8_t ttp229_set_active(ttp229_handle_t *handle, ttp229_active_t active_level)
set the active level
uint8_t ttp229_get_interface(ttp229_handle_t *handle, ttp229_interface_t *interface)
get the interface
uint8_t ttp229_deinit(ttp229_handle_t *handle)
close the chip
uint8_t ttp229_read_8_keys(ttp229_handle_t *handle, uint8_t keys[8])
read 8 keys
uint8_t ttp229_info(ttp229_info_t *info)
get chip's information
uint8_t ttp229_get_active(ttp229_handle_t *handle, ttp229_active_t *active_level)
get the active level
uint8_t ttp229_read_16_keys(ttp229_handle_t *handle, uint8_t keys[16])
read 16 keys
uint8_t ttp229_set_interface(ttp229_handle_t *handle, ttp229_interface_t interface)
set the interface
struct ttp229_handle_s ttp229_handle_t
ttp229 handle structure definition
@ TTP229_ACTIVE_HIGH
@ TTP229_ACTIVE_LOW
@ TTP229_INTERFACE_IIC
@ TTP229_INTERFACE_SPI
uint8_t ttp229_get_reg(ttp229_handle_t *handle, uint8_t *buf, uint16_t len)
get the chip register
ttp229 handle structure definition
uint8_t(* spi_init)(void)
void(* delay_ms)(uint32_t ms)
uint8_t(* spi_read_cmd)(uint8_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* spi_deinit)(void)
uint8_t(* iic_read_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
uint8_t(* iic_deinit)(void)
ttp229 information structure definition
float supply_voltage_max_v
uint32_t driver_version
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]