## I2C TT21100 Example This example shows how to configure I2C bus and read data from TT21100(touch pad) by POSIX APIs, this decreases dependence on hardware and platform. ## How to Use Example Before project configuration and build, be sure to set the correct chip target using `idf.py set-target <chip_name>`. ### Hardware Required * A development board based on espressif SoC * A USB cable for power supply and programming * A TT21100 connecting to your configured GPIO, Power and GND, if your development board doesn't integrate TT21100 ### Configure the Project Open the project configuration menu (`idf.py menuconfig`). In the `Example Configuration` menu: * Set the I2C GPIO number used for the signal in the following option: - I2C SDA Pin Number - I2C SCL Pin Number - TT21100 Ready Pin Number * Set the reading sensor data count in the `I2C Testing Count of Reading Sensor's Data` option. ### Build and Flash Run `idf.py -p PORT flash monitor` to build, flash and monitor the project. (To exit the serial monitor, type ``Ctrl-]``.) ## Example Output As you run the example, you will see following log: ``` I (0) cpu_start: Starting scheduler on APP CPU. I (315) ext_vfs: Extended VFS version: 0.1.0 I (315) gpio: GPIO[3]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 TT21100 touch screen is initialized, and start reading touch point information: ``` Then you can touch the TT21100 touch pad and see touch point location information as following: ``` X0=122 Y0=146 X0=122 Y0=146 X0=122 Y0=146 X0=122 Y0=146 X0=122 Y0=146 X0=122 Y0=146 X0=152 Y0=169 X0=152 Y0=169 X0=152 Y0=169 X0=152 Y0=169 X0=152 Y0=169 X0=152 Y0=169 X0=153 Y0=169 X0=153 Y0=169 X0=217 Y0=170 X0=217 Y0=170 X0=219 Y0=170 X0=220 Y0=170 X0=221 Y0=169 X0=221 Y0=169 X0=217 Y0=168 X0=217 Y0=168 X0=106 Y0=186 X0=106 Y0=186 X0=106 Y0=186 X0=106 Y0=186 X0=106 Y0=186 X0=106 Y0=186 X0=106 Y0=186 X0=106 Y0=186 X0=68 Y0=173 X0=68 Y0=173 X0=68 Y0=173 X0=67 Y0=173 X0=67 Y0=173 X0=66 Y0=171 X0=65 Y0=166 X0=65 Y0=166 X0=95 Y0=106 X0=95 Y0=106 X0=95 Y0=106 X0=95 Y0=106 X0=94 Y0=106 X0=93 Y0=106 X0=93 Y0=106 X0=93 Y0=106 X0=91 Y0=79 X0=91 Y0=79 X0=91 Y0=79 X0=90 Y0=79 X0=87 Y0=80 X0=84 Y0=82 X0=82 Y0=84 X0=80 Y0=85 X0=80 Y0=85 X0=54 Y0=106 X0=54 Y0=106 X0=54 Y0=106 X0=53 Y0=108 X0=52 Y0=110 X0=50 Y0=111 X0=50 Y0=112 X0=49 Y0=112 X0=49 Y0=112 X0=48 Y0=141 X0=48 Y0=141 X0=48 Y0=141 X0=47 Y0=141 X0=47 Y0=141 X0=46 Y0=141 X0=45 Y0=141 X0=45 Y0=141 X0=67 Y0=152 X0=67 Y0=152 X0=67 Y0=152 X0=67 Y0=152 X0=67 Y0=152 X0=67 Y0=152 X0=66 Y0=152 X0=66 Y0=152 X0=78 Y0=165 X0=78 Y0=165 X0=78 Y0=164 X0=78 Y0=164 X0=78 Y0=163 X0=79 Y0=163 X0=79 Y0=162 X0=79 Y0=162 X0=140 Y0=139 X0=140 Y0=139 X0=140 Y0=139 X0=140 Y0=139 X0=140 Y0=139 X0=141 Y0=138 X0=142 Y0=137 X0=144 Y0=134 X0=144 Y0=134 X0=178 Y0=128 X0=178 Y0=128 X0=178 Y0=128 I (4145) gpio: GPIO[3]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 Test done and de-initialize TT21100 touch screen. ```
To create a project from this example, run:
idf.py create-project-from-example "espressif/extended_vfs^0.3.2:i2c_tt21100"