- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
03-08-2017 07:16 AM - last edited on 07-24-2017 01:14 PM by Siliconlabs
I have a slexp8008a eval board for testing the CPT112S capacitive slider functionality. I have programmed the CPT112S configuration parameter Slider max pos. to 65534. Unfortunately this is NOT working correctly: the hardware is reporting incorrect/unexpected values.
Lower values of Slider max pos. (below about 2000) are reporting better values, but it still seems to be depending on how the slider is touched and most irregularity seems at the end with the higher values. Very likely some internal hardware registers are overflowing at certain internal calculation, but unfortunately I cannot check or prove this.
Could you post which maximum Slider max pos. values would be working correctly without irregularities and which programmable parameters are influencing that (accumulation? Touch delta?).
03-09-2017 03:22 AM
Do you mind elaborating the issue more in detail.
What do you mean by "the hardware is reporting incorrect/unexpected values"?
What kind of unexpected data you saw, do you see any irregular pattern?
My views are my own and do not necessarily represent the views of Silicon Labs
03-09-2017 04:12 AM
The CPT112S default setting of "Slider max pos" of 64 which comes with the eval-board works as expected: touching the slider at the right side reports values of 0 and when sliding to the left I get reported increasing values until the value of 64 when the touch position is at the left side of the slider. This is as expected.
I use the Simplicity Tool to program the CPT112S "Slider max pos" to 65534. According to the documentation the value "can be any value between 40 and 65534". Now I expect slider-event values from the hardware of 0 when touching the slider at the right side, increasing values when moving to the left, until the value of 65534 when the touch position is totally at the left side. However, the values I get from the event buffer are almost random, never reaching values higher than about 200.
The behavior I get when programming the "Slider max pos" parameter to 3000, is that it seems to be working somewhat okay when lightly touching with the tip of my pointing finger. However when touching with my thumb and sliding from left to right, there seems to be a wrap of the reported values back from 0 at a position of about 3/4 of the slider. My belly feeling is that there is some register overflow of the internal algorithm when more than one sensor of the slider is touched.
We are designing a slider hardware of more than 4 sensors (probably 6) which will be of a smaller size, closer to each other. So likely, when touching with a finger, multiple sensors will be touched.
So it would be great if you can try to reproduce this behavior, to exclude my CPT112S-eval board has a failure. If it can be reproduced, I would be great to know what is causing the behavior, so we can choose safe values of "Slider max pos" (we'd like the best resolution possible) and know the dependencies to the number of sensors for a slider and the limitations of how many sensors can be touched at a time, which would have requirements to the slider sensor size and the size of the object touching them.
Please find attached the programmed hex-file for "Slider max pos" of 65534.
04-03-2017 04:55 PM
I've observed the same unexpected behavior when setting the slider max position to 65534, then viewing the slider values in Cap Sense Profiler (instead of the I2C event buffer).
I've elevated this issue with the CPT112S team, and will reply once I have further information.
04-27-2017 06:23 PM
The investigation is now complete.
1. The slider feature is designed to be used with an overlay that covers the sensors. In the CPT112S evaluation kit, an overlay should have been included, but not installed on the board out-of-the-box. Please install the overlay to test the slider going forward.
2. The slider engine relies on a fairly accurate touch delta (the expected difference between a touched and untouched sensor). You can use Cap Sense Profiler to measure the actual touch delta.
3. In addition to the touch delta, there are additional constraints/dependencies that affect the max slider position. We have updated Xpress Configurator to help you determine the max slider position based on your touch delta -- if there is an erroneous configuration, it will indicate an error in the Problems tab and provide the max slider position value. Obtain the updated Xpress Configurator by clicking on the Update Software button (green down arrow in the toolbar).
So with an overlay, a touch delta of 992 for each slider sensor, Xpress Configurator provided a max slider position of 1698. And the expected slider values are observed:
We are also working on updating our documentation.