An embedded-hal
driver for the GT911 touchscreen controller.
The current state is pretty bare-bones. If you are missing a feature, please open an issue and/or MR.
- init device
- wake up
- address selection (might work already)
- configure device
- polling mode:
- read touch data
- read key presses
- read gestures
- interrupt mode (might work already)
- Alloc API
- Async API
- rotation
- more default configurations for popular development boards
cargo +esp run --release --example esp32_interrupt --config gt911-examples/esp32s3-box-3/config.toml
I only have access to a single device using this controller. Other devices probably will work as well, however, probably require different configuration.
If you successfully managed to use this crate with other development boards, then please open a MR to add the configuration you used and add an entry in the list of supported devices.
Supported Devices:
- ESP32-S3-BOX-3
- Limitations:
- The
ESP32-S3-BOX-3
seems to wire theGT911
in such a way, that the latter operates on 1.8v logic level. If this is the case, the GT911 would be to weak to drive against theESP32-S3
s 3.3v. As a consequence, theESP32-S3-BOX-3
might not support interrupt mode fully. Lowering the I2C bus frequency to i.e. 1kHz might help. - The address selection procedure does not work and the device seems to be limited to using the
0x5D
address.
- The
- Limitations:
- jessebrahm/tt21100
- Used as a reference rust touchscreen driver
- blackketter/gt911
- Used as a reference C-implementation for the GT911
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.