0 Replies Latest reply on Nov 15, 2017 6:18 AM by benjamin.valentin_1521481

    CY8CMBR3116: Disable Host Interrupt on run-time / Enter sleep mode

    benjamin.valentin_1521481

      Hi,

      I'm using the CY8CMBR3116 to control a button matrix, configured with EZ-Click.

       

      The Host Interrupt pin of the CY8CMBR3116 is connected to the wake-up pin of the MCU, so when the user presses the button and the MCU is in sleep mode, it will be woken up.

       

      Now this should not always happen: We want to have a mode where the user can press a button without waking up the device (like a key lock), so I want to change this setting at run time without reprogramming the configuration of them CY8CMBR3116.

       

      I tried writing a SLEEP (0x7) command to the CTRL_CMD (0x86) register before putting the MCU into sleep mode, but this didn't seem to have any effect. (I don't send any I2C commands to the device after that, but there are multiple CY8CMBR3116 devices on the I2C bus, each with an individual slave address - I send the command to every one of them.)

       

      I have also tried setting the SPO_CFG (0x4C) and the SENSOR_PATTERN (0x00) registers, but the CY8CMBR3116 didn't accept the change.

       

      Am I missing something?

       

      Thank you!

       

      Edit: Turns out I didn't check the I2C response properly. I now keep reseeding the command as long as there is an I2C error, with this it works by just writing SLEEP to CTRL_CMD.