Regarding capsense baseline update rate.

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

cross mob
YuMa_1534086
Level 7
Level 7
Distributor - Macnica (Japan)
500 replies posted 250 sign-ins 10 likes received

Hello.

If finger touches sensor pad slowly, diff count does not generate because baseline follows rawcount.

Could you please let us know solution of this issue other than noise threshold?

For example, is there a way to slow down baseline update rate?

If noise threshold becomes low value, baseline followability to rawcount becomes slower.

But there is a limit to tune baseline update rate by changing only noise threshold because can not be smaller than noise value.

Best Regards.

Matsubara / Macnica

0 Likes
1 Solution
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi YuMa_1534086​,

1. You can decrease the noise threshold to decrease the baseline update rate.

2. The Baseline gets updated when we call CapSense_ProcessAllWidgets(). You can perform custom ProcessAllWidgets() by using the following implementation.

#define BASELINE_UPDATE 10

uint8 counter = 0;

if (counter > BASELINE UPDATE)

{

     /*Update baseline*/

     CapSense_ProcessAllWidgets()

     counter = 0;

}

else

{

    /*Do not update baseline*/

     CapSense_ProcessWidgetExt (uint32 widgetId, CapSense_PROCESS_ALL & (~CapSense_PROCESS_BASELINE));

     counter++

}

For every 10 processing, the baseline gets updated only once.

3. Have the regular widget baseline coefficient to the lowest as possible.

Regards,

Bragadeesh

Regards,
Bragadeesh

View solution in original post

0 Likes
8 Replies
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi YuMa_1534086​,

1. You can decrease the noise threshold to decrease the baseline update rate.

2. The Baseline gets updated when we call CapSense_ProcessAllWidgets(). You can perform custom ProcessAllWidgets() by using the following implementation.

#define BASELINE_UPDATE 10

uint8 counter = 0;

if (counter > BASELINE UPDATE)

{

     /*Update baseline*/

     CapSense_ProcessAllWidgets()

     counter = 0;

}

else

{

    /*Do not update baseline*/

     CapSense_ProcessWidgetExt (uint32 widgetId, CapSense_PROCESS_ALL & (~CapSense_PROCESS_BASELINE));

     counter++

}

For every 10 processing, the baseline gets updated only once.

3. Have the regular widget baseline coefficient to the lowest as possible.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes
YuMa_1534086
Level 7
Level 7
Distributor - Macnica (Japan)
500 replies posted 250 sign-ins 10 likes received

Dear Bragadeesh-san.

Thank you for your reply.

If your code is added, will there be any degradation?

Is it OK that user care only about RawCount variation due to temperature change because baseline update rate becomes slowly?

Best Regards.

Yutaka Matsubara

0 Likes

Hi YuMa_1534086​,

You need to set the counter value such that you take temperature variations into account.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes
YuMa_1534086
Level 7
Level 7
Distributor - Macnica (Japan)
500 replies posted 250 sign-ins 10 likes received

Dear Bragadeesh-san.

Can you tell me how this is done specifically?

How do you use “counter value”?

Best Regards.

Yutaka Matsubara

0 Likes

Hi YuMa_1534086​,

The counter value decides how often your baseline is updated. If it is set to high value, the update rate is slow. You can set it according to your requirement, there is not guideline as such.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes
YuMa_1534086
Level 7
Level 7
Distributor - Macnica (Japan)
500 replies posted 250 sign-ins 10 likes received

Bragadeesh-san.

Thank you for reply.

If your code is added, baseline update rate will slow down depending on “BASELINE_UPDATE” setting.

But there is no any degradation other than slowing baseline update rate.

And when baseline update rate becomes slow, it is necessary to check whether baseline can follow rawcount even when rawcount changes due to temperature change.

Is my understanding correct?

Best Regards.

Yutaka Matsubara

0 Likes

Hi YuMa_1534086​,

Yes, you are right. If possible, you can also use an identical reference sensor to monitor changes in baseline due to temperature changes. You can update baseline of the reference sensor faster and track the temperature changes and update the application sensor slower to detect slow touches.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes
YuMa_1534086
Level 7
Level 7
Distributor - Macnica (Japan)
500 replies posted 250 sign-ins 10 likes received

Bragadeesh-san.

Thank you for your reply.

I understand.

Best Regards.

Yutaka Matsubara

0 Likes