Banging my head against a wall trying to get an Argon to wake from sleep on falling pin…
int PIN_LED = D2;
int PIN_PIR = D8;
void setup() {
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_PIR, INPUT);
}
void loop() {
if(digitalRead(PIN_PIR) == LOW) { // upon PIR trigger
digitalWrite(PIN_LED, HIGH); // turn light on
delay(1000);
while (digitalRead(PIN_PIR) == LOW);
digitalWrite(PIN_LED, LOW); // turn light off
SystemSleepConfiguration config;
config.mode(SystemSleepMode::ULTRA_LOW_POWER).gpio(PIN_PIR, FALLING);
System.sleep(config);
}
}
If I wave hand in front of the PIR sensor, the led turns on (as expected) and the Argon goes to sleep (as expected). Problem is that it never wakes up again. I’ve read the System.sleep documentation multiple times. Consider this a cry for help.