to the PIR code, the device seems to reset -> ApplicationInit once the I2CSPM_Init(&i2cInit) command is issued.
Tried GPIO_EM4DisablePinWakeup(GPIO_EXTILEVEL_EM4WU12); thinking that the clock signal on PortC, Pin 10 was the culprit, though from reading further, the clock is disabled on EM4 anyway. Think I may be barking up lots of wrong trees.
Any debugging advice?
Thanks, Pete.
Discussion Forums
Answered
Z-Wave
Answered
Actually - I think the problem could be simpler - So let me reframe the question. GPIO_EM4DisablePinWakeup - do I need to put the chip into a holding state before asserting this command? The device is going to sleep to EM4, After 22ms it wakes again & I'm assuming that this is because Portc.10 is driven high by the 10K I2C resistors.
Pete
0
Resolved by mapping to alternate pins;
#define I2CSPM_INIT_ALTERNATE \
{ I2C0, /* Use I2C instance 0 */ \
gpioPortB, /* SCL port */ \
15, /* SCL pin */ \
gpioPortB, /* SDA port */ \
14, /* SDA pin */ \
9, /* Location of SCL */ \
9, /* Location of SDA */ \
0, /* Use currently configured reference clock */ \
I2C_FREQ_STANDARD_MAX, /* Set to standard rate */ \
i2cClockHLRStandard, /* Set to use 4:4 low/high duty cycle */ \
}
Correct Answer
1
I tried doing the same thing as you did, but when I change the pins they don't seem to work for I2C? I only got it working on the default pins.
I2C in the PIR example
Hope you can help... Applying the example https://www.silabs.com/community/wireless/z-wave/knowledge-base.entry.html/2019/04/11/z-wave_700_how_toi-VuzH
to the PIR code, the device seems to reset -> ApplicationInit once the I2CSPM_Init(&i2cInit) command is issued.
Tried GPIO_EM4DisablePinWakeup(GPIO_EXTILEVEL_EM4WU12); thinking that the clock signal on PortC, Pin 10 was the culprit, though from reading further, the clock is disabled on EM4 anyway. Think I may be barking up lots of wrong trees.
Any debugging advice?
Thanks, Pete.
Actually - I think the problem could be simpler - So let me reframe the question. GPIO_EM4DisablePinWakeup - do I need to put the chip into a holding state before asserting this command? The device is going to sleep to EM4, After 22ms it wakes again & I'm assuming that this is because Portc.10 is driven high by the 10K I2C resistors.
Pete
Resolved by mapping to alternate pins;
Interesting. Did you also;
static I2CSPM_Init_TypeDef i2cInit = I2CSPM_INIT_ALTERNATE; //Added:26/07/2019 PSM
Pete.