I have a xenon, potted in a project, that I made changes to the code to help with power consumption. Unfortunately I rushed through the program, made a typo on the wakeup pin and don’t have access to it or anything attached to that pin. Is there a way to wake it up via USB? Computer doesn’t recognize it when plugged in, can’t assign baud rate or other “normal” steps, which I assume is due to the sleep mode.
@Mjones there is no way to wake a sleeping Xenon via USB. Do you have access to any button?
No, unfortunately it is completely sealed.
Can you remove power? If so, how long between power on and sleep. You could put the device in DFU mode over USB then.
Its battery powered, hence the need for sleep mode. Since this is the first time running it in sleep mode, I don’t know how long the battery will last, it’s a 2000mah battery. System.sleep is called as soon as the loop runs, I also have system thread enabled so I assume almost immediately on power up. The idea was for it to sleep until the PN532 read an NFC tag, then wake, perform its function and sleep again until it read another tag.
Bah bye Xenon
It’s a sad day for my project Haha, but lesson learned.
@peekay123 so I make sure not to do this again, let me run my thinking by you. I want to have the xenon sleep as described above, am I thinking right that I can use on of the i2c line as a wake up pin?
@Mjones, are you deep sleeping or STOP sleeping? The I2C lines are regular D0/D1 GPIO unless you enable I2C with
Wire.begin(). On the Xenon, you can specify any (or several) pin as the STOP sleep wake pin so D0 or D1 will work fine.
I’m using stop sleep, deep sleep isn’t an option since the final product will be sealed and nothing external to activate the pin to wake it up. I was thinking using the i2c lines already connected to the pn532 would wake it up when it transmits data.
@Mjones, you can’t use D0/D1 as I2C and receive data from the pn532 at the same time. The pn532 won’t send anything of I2C DATA line D0 since there is no master clock on SCK pin D1 when the Xenon is sleeping. According the to pn532 user manual, when the pn532 is sleeping, it will pull down its IRQ line in the presence of an RF field. This can be used to wake the Xenon which in turn activates the I2C and communicates with the pn532. There is a need for an extra GPIO to interact with the pn532 in this mode. See page 51 of the user manual.
I’ll check that out, adding one line in the next o e won’t be an issue. Thanks @peekay123