PSoC042: How to configure P3[0] & P3[1] as always CSD pins

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

cross mob
sag_4314046
Level 1
Level 1
First like received

Hello MoTa_728816

,

I am using CY8CKIT-042 PSoC® 4 Pioneer Kit for connecting 10 Cap sense buttons and 2 Cap sense sliders (each consisting of 6 sensors).

As I have shortage of pins on PSoC kit, I used P3_1 and P3_0 pins for CSD component in right slider.

From the datasheet, I came to know that these P3[0] & P3[1] pins are multi purpose pins s below,

pastedImage_0.png

We have used the same pins for I2C for tuning. And after tuning when we want to use the same pins as CSD pins there is some instability. and these 2 pins are not sensing as CapSense inputs. One thing noted is, after reset of pins, it's sensing. So assuming after reset the default selection is GPIO for these pins.

So, can we know after disabling the tuner/i2c component how can we configure these 2 pins for CSD function always?

We couldn't find any reference to configure these 2 pins as CSD pins as described in the data sheet. Please help.

We need piece of code/configuration to configure these P3[0] & P3[1] as CSD pins always.

0 Likes
1 Solution
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello sag_4314046

I believe this thread is a copy of Issue with the P3_0 and P3_1 pins on CY8CKIT-042.

Kindly have a look at the discussion in that thread and let us know if it is viable to use P4_0 and P4_1 in your design.

Thanks and regards

Hari

View solution in original post

0 Likes
3 Replies
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

Have you read my previous response?

> (2) Recently YuMa-san posted a method to reset I2C Slave from I2C Master,

> to do so, pin's mode was changed from OpenDrain to GPIO and used to drive the line.

> The topic's URL is

Regarding PSoC4 I2C reset for I2C slave hang up(SDA is low)

In the topic above YuMa-san reset the I2C pin to GPIO

... <snip>

    //Reset I2C

    while(I2CM_sda_Read() == 0){

        uint32 regVal, regValtemp;

        regVal = CY_GET_REG32(I2CM_scl__0__HSIOM);

        regValtemp = regVal;

        regValtemp &= ~I2CM_scl__0__HSIOM_MASK;

       

        regValtemp = CY_SET_REG32(I2CM_scl__0__HSIOM, regValtemp |(I2CM_scl__0__HSIOM_GPIO <<I2CM_scl__0__HSIOM_SHIFT));

       

        I2CM_scl_SetDriveMode(I2CM_scl_DM_STRONG);

... <snip>

So, I thought you can use these tricks to modify your pins, too.

Although I have done a similar thing with 5LP, I have not been able to find this method.

moto

P.S. BTW, Were P3[2] and P3[3] usable?

0 Likes

Thanks moto for the reply.

Yes, I have read your previous response but didn't get clear idea of how to make pins p3_0 & p3_1 as CSD always.

I have tried using P3[2] and P3[3] pins and it's working fine.

Thanks,

Sahithi.

Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello sag_4314046

I believe this thread is a copy of Issue with the P3_0 and P3_1 pins on CY8CKIT-042.

Kindly have a look at the discussion in that thread and let us know if it is viable to use P4_0 and P4_1 in your design.

Thanks and regards

Hari

0 Likes