Gt911 Register Map <Full Version>
Read-only or writeable depending on the firmware version. It must match or exceed the version currently inside the chip to accept modifications.
The datasheet says, "Calculate the checksum of bytes 0x8047 to 0x80FD, then store the low byte at 0x80FE." Fine. But then you write 0x01 to 0x80FF... and the GT911 throws a tantrum if your checksum is wrong. It will simply ignore your config and revert to its internal "dumb" defaults. I spent two hours debugging why my X/Y axes were swapped until I realized I had a classic off-by-one in my checksum loop. The GT911 does not forgive. It does not forget. gt911 register map
If you hard-code a swap, but forget to swap your width/height registers, the touch point will be a mirror image across the diagonal. It’s a riddle wrapped in an enigma. The register map is logically laid out, but the interdependence of these bytes feels like a puzzle box. Read-only or writeable depending on the firmware version
Read 0x8140 to 0x8144 to verify I2C communication. A returned "911" confirms you're talking to the right chip. But then you write 0x01 to 0x80FF
Configures touch screen orientation, enabling X/Y mirroring or swapping for landscape/portrait adjustments. The Configuration Checksum (0x813C)
X=(High Byte≪8)|Low ByteX equals open paren High Byte is much less than 8 close paren vertical line Low Byte