mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 19:03:16 +00:00
60 lines
1.5 KiB
C
60 lines
1.5 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @file
|
|
* @brief ESP LCD touch: AXS5106
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "esp_lcd_touch.h"
|
|
#include "driver/i2c_master.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief Create a new AXS5106 touch driver
|
|
*
|
|
* @note The I2C communication should be initialized before use this function.
|
|
*
|
|
* @param io LCD/Touch panel IO handle
|
|
* @param config: Touch configuration
|
|
* @param out_touch: Touch instance handle
|
|
* @return
|
|
* - ESP_OK on success
|
|
* - ESP_ERR_NO_MEM if there is no memory for allocating main structure
|
|
*/
|
|
esp_err_t esp_lcd_touch_new_i2c_axs5106(const esp_lcd_panel_io_handle_t io, const esp_lcd_touch_config_t *config, esp_lcd_touch_handle_t *out_touch);
|
|
|
|
/**
|
|
* @brief I2C address of the AXS5106 controller
|
|
*
|
|
*/
|
|
#define ESP_LCD_TOUCH_IO_I2C_AXS5106_ADDRESS (0x63)
|
|
|
|
/**
|
|
* @brief Touch IO configuration structure
|
|
*
|
|
*/
|
|
#define ESP_LCD_TOUCH_IO_I2C_AXS5106_CONFIG() \
|
|
{ \
|
|
.dev_addr = ESP_LCD_TOUCH_IO_I2C_AXS5106_ADDRESS, \
|
|
.control_phase_bytes = 1, \
|
|
.dc_bit_offset = 0, \
|
|
.lcd_cmd_bits = 8, \
|
|
.flags = \
|
|
{ \
|
|
.disable_control_phase = 1, \
|
|
} \
|
|
}
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|