HID Touchpad Reference

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

cross mob
Sanket24
Level 2
Level 2
5 questions asked 10 replies posted 25 sign-ins

Hello all,

Currently i am developing software for USB-HID Touchpad.

I tested USB-HID code on CY8CKIT-041-40XX which is working fine for I2C communication.

I am using CY8C4247 AZI-L445 for my finalized project. I want to make HID touchpad using CSX(mutual capacitance) method, because of multi finger touch we need mutual capacitance.

L445 IC is not having Gesture feature, because of that i need to take touch sense without using Gesture feature

I saw the CSX method for trackpad but in almost examples Gesture is already added.

so, I want to make touchpad development based on getting touch sense data without gesture on trackpad using CSX method. After that this all over data sends to the host using USB protocol.

Please suggest, reference document and and Program code to implement and proceed further.

 

Thank you for response,

Sanket More ,

India

0 Likes
1 Solution
PandaS
Moderator
Moderator
Moderator
100 solutions authored 5 likes given 250 sign-ins

Hi @Sanket24 ,

Kindly refer to the thread: https://community.infineon.com/t5/PSoC-4/CY8CKIT40-41-40xx-KIT-CSX-method-without-gesture/td-p/39128...

I have posted a response on it. Try those settings and let us know.

 

Warm regards

Sobhit

View solution in original post

0 Likes
6 Replies
PandaS
Moderator
Moderator
Moderator
100 solutions authored 5 likes given 250 sign-ins

Hi @Sanket24 ,

Did you try using the following API: uint32 CapSense_GetXYCoordinates (uint32 widgetId)

This function reports a touch position (X and Y coordinates) value of a specified touchpad widget by extracting information from the wdgtStatus registers (CapSense__POS_Y_VALUE). This function should be used only with the touchpad widgets. This function does not process the widget, but extracts processed results from the Data Structure.

Returns the touch position of a specified touchpad widget:
1. If a touch is detected:
    a. Bits [31..16] indicate the Y coordinate.
    b. Bits [15..0] indicate the X coordinate.
2. If no touch is detected or a wrong widgetId is specified: CapSense_TOUCHPAD_NO_TOUCH.

In order to process the widget, you should call:  cystatus CapSense_ProcessWidgetExt(uint32 widgetId, uint32 mode).

The basic flow should be:

Capsense_Start();
Capsense_InitializeAllBaselines();
Capsense_ScanAllWidgets();

for(;;){
   CapSense_UpdateAllBaselines();
   if(!Capsense_IsBusy()){
      uint32 pos = CapSense_GetXYCoordinates(/*Your TouchPad_WdtId*/);
   }
   CapSense_ScanAllWidgets();
}

Warm regards

Sobhit

0 Likes
Sanket24
Level 2
Level 2
5 questions asked 10 replies posted 25 sign-ins

Thanks for support,

I have query regarding , setup in CSX block. what are the changes should i need to do.

Sanket more,

India

0 Likes
PandaS
Moderator
Moderator
Moderator
100 solutions authored 5 likes given 250 sign-ins

Hi @Sanket24 ,

Do you want to know the configurations required to be made in the CapSense Component Block for the top design?

Warm regards

Sobhit

 

0 Likes
PandaS
Moderator
Moderator
Moderator
100 solutions authored 5 likes given 250 sign-ins

Hi @Sanket24 ,

Please let us know if you followed these initial steps:

  1. I expect you are using PSoC Creator 4.4.
  2. In the Top design you need to choose CapSense v7.0 from Component Catalog. 
  3. Add a widget Touchpad. Selesct sensing mode to be CSX and choose the number of Sensing elements.

PandaS_0-1672921407744.png

Next part is tuning:

Refer to CapSense Design Guide - https://www.infineon.com/dgdl/Infineon-AN85951_PSoC_4_and_PSoC_6_MCU_CapSense_Design_Guide-Applicati...

For Touchpad Tuning refer: Section 5.3.2.6 and 5.3.3.5 

 

Thanks and regards

Sobhit

0 Likes
Sanket24
Level 2
Level 2
5 questions asked 10 replies posted 25 sign-ins

Thanks for response,

but, I want to get advanced setup for CSX method

@PandaS 

0 Likes
PandaS
Moderator
Moderator
Moderator
100 solutions authored 5 likes given 250 sign-ins

Hi @Sanket24 ,

Kindly refer to the thread: https://community.infineon.com/t5/PSoC-4/CY8CKIT40-41-40xx-KIT-CSX-method-without-gesture/td-p/39128...

I have posted a response on it. Try those settings and let us know.

 

Warm regards

Sobhit

0 Likes