Capsense how to dynamically adjust sensitivity

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
AdamCheng
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Hi 

 I try  assgin  different value to " CapSense_dsRam.wdgtList.number1.fingerTh" to adjust button sensitivity.

When I tested it no difference. 

If I need dynamically adjust capsense button sensitivity. 

How can I do ?

0 Likes
1 Solution
ncbs
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 sign-ins

Hi @AdamCheng,

No, dsRam contents will not be lost when the device is in sleep mode.

The contents are lost when the device enters hibernate or stop modes.

 

Regards,
Nikhil

View solution in original post

6 Replies
ncbs
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 sign-ins

Hi @AdamCheng,

Changing the dsRam contents should serve the change.

 

Can you send the tuner waveforms and values of all CapSense parameters?

 

Regards
Nikhil

0 Likes
AdamCheng
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Dear Nikhil,

I attach one button of seeting, Because I only try to modify this dsRam parameter.

The current design is no problem, but it I want to add the adjustment method to change the sensitivity after production assembly.

Capsense_Button_setting.png

In the test program, I added like red circled on the below.

When press num 4~9 can change num1 button finger threshold value.

Change_dsRam_testCode.png

Regards

Adam

0 Likes
lock attach
Attachments are accessible only for community members.
ncbs
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 sign-ins

Hi @AdamCheng,

The current design is no problem >>> Okay.

The procedure followed by you is correct. The finger threshold does get changed when you use 

CapSense_dsRam.wdgtList.number1.fingerTh = <number>;

 

I am attaching my project here (done on the 4200M Pioneer kit). 

In my project, I have the total scan time approximately equal to 5ms. In the code, the conditions are given such that for every 5 seconds, the finger threshold gets updated between 90 and 70 (I am starting the application with an initial finger threshold of 100).

You may verify the same by going to debug mode and observing the dsRam contents.

Figure 1: Initially, the finger threshold is equal to 100 (0x64)

ncbs_0-1635339915286.png

Figure 2: After approximately 5 seconds, the finger threshold is changed to 90 (0x5A)

ncbs_1-1635340439149.png

Figure 3: Again, after approximately 5 seconds, the finger threshold is changed to 70 (0x46)

ncbs_2-1635340554166.png

 

Regards,
Nikhil

 

 

AdamCheng
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Dear Nikhil,

Thanks for your reply

I check dsRam in debug mode. I know what the problem is.

Because our design goes into sleep mode.

I found that dsRam will return to the default value after entering sleep mode.

0 Likes
ncbs
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 sign-ins

Hi @AdamCheng,

No, dsRam contents will not be lost when the device is in sleep mode.

The contents are lost when the device enters hibernate or stop modes.

 

Regards,
Nikhil

AdamCheng
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Dear Nikhil,

I found out that our system resets Psoc4.
Thank you for your reminder.

 

0 Likes