Open ljunquera opened 2 months ago
I don't have any hardware to check these, @joelguittet could you verify that release events work on your boards?
@ljunquera that [00:00:05.567,932] <err> cst816s: Could not read x data
may be the handler failing on the release event, can you try to figure out more about the error? Is it a NACK from the device?
I can send you a device if you want.
I can send you a device if you want.
I'd rather you send me a PR with the fix instead. :-)
How can I get you more information? I can use a logic analyzer or add more debug statements?
Sure grab a trace or add some prints, printing the i2c error code in the log could be a start. That said, this is a contributed driver so you'll have to contribute the fix yourself (or find some other contributor to do it).
@fabiobaltieri do you know anybody who would be interested in contracting to do this?
Here are some testing results which were similar to the waveshare but with P169H002-CTP, which I think the Waveshare used:
Gesture | Results |
---|---|
1 | pressed event: 0, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 2, row: 33, col: 52 pressed event: 0, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 69 pressed event: 2, row: 278, col: 68 |
2 | pressed event: 0, row: 33, col: 118 pressed event: 2, row: 33, col: 118 pressed event: 2, row: 33, col: 118 pressed event: 2, row: 33, col: 118 pressed event: 2, row: 33, col: 118v pressed event: 2, row: 33, col: 118 pressed event: 2, row: 33, col: 118 pressed event: 2, row: 33, col: 118 pressed event: 2, row: 33, col: 118 pressed event: 2, row: 33, col: 118 pressed event: 0, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 pressed event: 2, row: 278, col: 104 |
3 | pressed event: 0, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 2, row: 51, col: 183 pressed event: 0, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 pressed event: 2, row: 278, col: 188 |
4 | pressed event: 0, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 151, col: 218 pressed event: 2, row: 150, col: 218 pressed event: 0, row: 94, col: 157 pressed event: 2, row: 94, col: 157 pressed event: 2, row: 94, col: 157 pressed event: 2, row: 94, col: 157 pressed event: 2, row: 94, col: 157 pressed event: 2, row: 94, col: 157 pressed event: 2, row: 94, col: 157 pressed event: 2, row: 93, col: 157 pressed event: 2, row: 92, col: 157 pressed event: 2, row: 91, col: 156 pressed event: 0, row: 81, col: 80 pressed event: 2, row: 81, col: 80 pressed event: 2, row: 81, col: 80 pressed event: 2, row: 81, col: 80 pressed event: 2, row: 81, col: 80 pressed event: 2, row: 81, col: 80 pressed event: 2, row: 80, col: 79 pressed event: 2, row: 79, col: 78 pressed event: 2, row: 78, col: 77 pressed event: 2, row: 77, col: 75 |
5 | pressed event: 0, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 2, row: 160, col: 214 pressed event: 0, row: 122, col: 125 pressed event: 2, row: 122, col: 125 pressed event: 2, row: 122, col: 125 pressed event: 2, row: 122, col: 125 pressed event: 2, row: 123, col: 124 pressed event: 2, row: 125, col: 123 pressed event: 2, row: 127, col: 122 pressed event: 2, row: 129, col: 121 pressed event: 2, row: 131, col: 120 pressed event: 2, row: 133, col: 119 pressed event: 0, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 pressed event: 2, row: 160, col: 0 |
6 | pressed event: 0, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 2, row: 241, col: 214 pressed event: 0, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 2, row: 251, col: 155 pressed event: 0, row: 213, col: 77 pressed event: 2, row: 213, col: 77 pressed event: 2, row: 213, col: 77 pressed event: 2, row: 213, col: 77 pressed event: 2, row: 213, col: 77 pressed event: 2, row: 214, col: 77 pressed event: 2, row: 216, col: 77 pressed event: 2, row: 218, col: 77 pressed event: 2, row: 220, col: 77 pressed event: 2, row: 222, col: 77 |
7 | pressed event: 0, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 2, row: 224, col: 186 pressed event: 0, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 pressed event: 2, row: 1, col: 155 |
8 | pressed event: 0, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 2, row: 240, col: 122 pressed event: 0, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 pressed event: 2, row: 1, col: 148 |
9 | pressed event: 0, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 2, row: 260, col: 45 pressed event: 0, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 pressed event: 2, row: 1, col: 87 |
10 | pressed event: 0, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 2, row: 179, col: 7 pressed event: 0, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 2, row: 238, col: 89 pressed event: 0, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 pressed event: 2, row: 238, col: 171 |
11 | pressed event: 0, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 2, row: 144, col: 7 pressed event: 0, row: 161, col: 111 pressed event: 2, row: 161, col: 111 pressed event: 2, row: 161, col: 111 pressed event: 2, row: 161, col: 111 pressed event: 2, row: 160, col: 111 pressed event: 2, row: 159, col: 111 pressed event: 2, row: 158, col: 111 pressed event: 2, row: 157, col: 111 pressed event: 2, row: 156, col: 111 pressed event: 2, row: 156, col: 111 pressed event: 0, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 pressed event: 2, row: 156, col: 237 |
12 | pressed event: 0, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 2, row: 54, col: 6 pressed event: 0, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 pressed event: 2, row: 90, col: 120 |
13 | pressed event: 0, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 pressed event: 2, row: 82, col: 47 |
14 | . pressed event: 0, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 pressed event: 2, row: 104, col: 176 |
15 | pressed event: 0, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 pressed event: 2, row: 163, col: 116 |
16 | pressed event: 0, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 pressed event: 2, row: 228, col: 42 |
17 | pressed event: 0, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 pressed event: 2, row: 238, col: 154 |
@fabiobaltieri do you know anybody who would be interested in contracting to do this?
Not really, try asking in #job-posting on http://chat.zephyrproject.org/
It's possible it might be the cst816t. Just a guess but I see that one referenced on one of their pages. Here is a reference to a library I found as well.
Describe the bug I am using a Waveshare 1.69inch Touch LCD Module 1 which states it uses a cst816s driver for touch, yet in my testing swipes and button presses are not being recognized properly. I don't see any one (1) events which seem to indicate a release.
There are numerous examples for other platforms using this Waveshare: Raspberry Pi Pico User Guide, ESP32S3 User Guide, STM32 User Guide, and Arduino User Guide. I was looking to create one for Zephyr. They have samples for each and cst816 reference documentation.
Please also mention any information which could help others to understand the problem you're facing:
To Reproduce Steps to reproduce the behavior:
#define CST816S_CHIP_ID 0xB5
and commented out//#define CST816S_CHIP_ID 0xB4
which is a recent change.Expected behavior
Impact Show stopper currently
Logs and console output This is a button press (with printk in interrupt):
This is a swipe from the left most of the screen to the right in the midpoint vertically of a 240x280 screen (removed the pintk from interrup):
Environment (please complete the following information):
**Additional Information -Waveshare provided me with some documentation on cst816d and cst816t, but support said the driver was cst816s.