5 Replies Latest reply on Jul 3, 2020 6:14 AM by user_4656251

    CY8CMBR3106S Slider 1+2 not working

    user_4656251

      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

        • 1. Re: CY8CMBR3106S Slider 1+2 not working
          AH_96

          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

          • 2. Re: CY8CMBR3106S Slider 1+2 not working
            user_4656251

            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!

             

            CapaSCH.PNG

             

             

            CapaPAT.PNG

            • 3. Re: CY8CMBR3106S Slider 1+2 not working
              AH_96

              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

              • 4. Re: CY8CMBR3106S Slider 1+2 not working
                user_4656251

                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 ...

                • 5. Re: CY8CMBR3106S Slider 1+2 not working
                  user_4656251

                  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