- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I configured my device with EZClick (and since it didn't work, checked the most relevant configuration registers by hand...). [Find the config bellow]
My problem is following: I have a radial slider using 8 segments (according to the available documentation, I used the 5 from slider 1 and the 3 first ones from slider 2 combined in a so called "high resolution slider"). I could check by reading DIFFERENCE_COUNT_SENSORx registers that they all work (individually), however, when reading the SLIDER1_POSITION register (description is as follows: Slider 1 or high-resolution slider (depending on configuration) position indicator (units: counts). 255 indicates no touch), the value increases as long as I stay on the first 5 segments (slider1) and jumps to 255-no touch as soon as I reach the 6th one (or the 8th one when going backward [keeping in mind it's radial] ).
I pretty much tried everything I could ... so you're my only hope
I'd be happy to answer questions!
Config from EZClick:
const unsigned char CY8CMBR3106S-LQXI_configuration[128] = {
0xC9u, 0x3Fu, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x1Fu, 0x7Fu, 0x7Fu, 0x80u,
0x7Fu, 0x7Fu, 0x7Fu, 0x7Fu, 0x7Fu, 0x7Fu, 0x7Fu, 0x7Fu,
0x7Fu, 0x7Fu, 0x7Fu, 0x7Fu, 0x03u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x01u, 0x01u,
0x05u, 0x00u, 0x00u, 0x02u, 0x00u, 0x02u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x1Eu, 0x00u, 0x00u,
0x00u, 0x1Eu, 0x00u, 0x00u, 0x00u, 0x00u, 0x01u, 0x01u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x24u, 0x03u, 0x01u, 0x59u,
0x00u, 0x37u, 0x04u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u,
0x00u, 0x25u, 0xFEu, 0x80u, 0x00u, 0x00u, 0x00u, 0x03u,
0x2Du, 0x80u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0xFAu, 0xB2u
};
If necessary I could provide a video example of what's happening....
Thanks in advance
PS: joined the EZClick config file
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi user_4656251
1. Can you please reduce the "Resolution" from 254 to a lower value to check? Please keep it at 160 and check the performance.
2. Can you share the schematic of the board and a picture of the sensor pattern?
Thanks,
Hari
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi AH_96,
Thanks for your reply. Sorry for the delay, I was away for a 2 days so had no chance to have my hands on the device.
Indeed, it was lower initially. I just changed it recently in a desperate attempt to get it working!
So I changed it to 160 but ... it still behaves exactly the same!
I attached a picture of the sensors pattern (I did it using Cypress touch library in Altium). I do know it's a little bit close but the space is really constrained ... and still it's working when reading individual sensors so I see no reason why it should be a problem for the slider...
I also attached the schematic ... even though I'm not sure it'll be much usefull.
Thank you very much for your help!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi user_4656251
The schematic and the layout seems to be correct, so there is some error in implementation.
Can you run the system diagnostic on the sensors in EZ-Click to make sure everything is correct? Also, could you please give us a log of the difference counts on the sensors, especially the sensors on slider2 so that we can make sure it is working as expected?
Best regards,
Hari
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Hari,
Unfortunately I don't have a device that connects directly to EZ-Click. Instead the CY8CMBR3106S is connected via I2C to a STM32f7 microcontroller. So I believe I won't be able to run system diagnostic, right?
As for the difference counts on sensors, especially the ones of slider2, sure. There below you can find a few values I reported by reading from the host (sequential read of 59 registers starting at BUTTON_STAT).
I also joined 2 little videos.
On the first one [actually Vid2], each led is controlled by a PWM value (0x00-0xFF) that is the difference count of the sensor it is located in.
We can see that each sensor responds pretty well...
On the second one [actually Vid1], I configured them to display the binary value of SLIDER1_POSITION (which, according to the datasheet [CapSense® Express™ Controllers Registers TRM (Technical Reference Manual) Document No. 001-91082 Rev. *E] should contain "Slider 1 or high-resolution slider (depending on configuration) position indicator (units: counts). 255 indicates no touch."). (I actually also tried to read SLIDER2_POSITION in another desperate attempt... but I always get 255 [as one would expect!] )
We can see we get an increasing binary value displayed on the leds when sliding my finger CCW (as expected) until I reach the 3 rightmost segments ... it then switches all the leds on, that is 1111 1111b = 255d = "no touch" ... I also tried going CW ... the value decreases until again I reach the 3 rightmost segments: it then also displays "no touch".
Actualisation frequency: ~44Hz (attached oscillogram corresponds to the first video)
If I can do anything else to explain ...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Hari,
Unfortunately, I have to leave the project right now. (and there's summer vacations coming so we'll close)
However, I gave the link to the one that'll follow it up ... and I'll still keep up with it but I won't be able to have my hands back on the device anymore.
Thanks for your help !!
Really looking forward to see it working (in video...) ... I hate to leave unfinished work behind.
Best regards,
Kévin