- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to enable a cap-sense button in my application. The CY8CMBR3102-SX1I has I2C and 2 GPIO lines. I am trying to use one line (CS0) as a cap sense button. That part I have working. The cap sense button can be activated, and I verify that by reading registers that are internal to the CY8CMBR3102-SX1I.
The second part is what I am having a hard time with. I want the other GPIO (GPO0) to be used as an interrupt line for the cap sense button. I want the line to change when the cap-sense button is pressed/released. Right now I see no change on the GPO0 line when the button is pressed or released. Here are the configs that I am loading into the registers at setup.
Register Name Register Address Set Value
Sensor_EN 0x00 0x0001
FSS_EN 0x02 0x0000
TOGGLE_EN 0x04 0x0000
GPO_CFG 0x40 0x08
SPO_CFG 0x4C 0x05
LED_ON_EN 0x06 0x0001
LED_ON_TIME 0x3D 0x01
Any ideas of what I could do to make this work? I could poll the register, but it would consume much more power and be inefficient.
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From the GPO and SPO config we can know that the GPO pin is configured to Open-Drain Low drive mode and you want the GPO pin keeps low state in idle and send out a 20ms high pulse when sensor state changes. Please note that an external pulled up resister should be placed for GPO pin when you choose Open-Drain Low drive mode, or it cannot output high. If you don't have an external pull-up resister on GPO pin, please change GPO drive mode to Strong.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The output line currently does have an external pull up resistor with a value of 5k ohms. Also, I have tried taking that resistor off and changing the configs to the GPO strong drive mode, and that did not fix the problem either.
That was a good idea though.