arduino-libraries / ArduinoLowPower

Powersave features for SAMD boards
GNU Lesser General Public License v2.1
80 stars 57 forks source link

SAMD21 wrong sleep time with Seeedstudio XIAO #57

Open i-g-g-y opened 1 year ago

i-g-g-y commented 1 year ago

Hello.

I am seeing issues with wrong sleep time length on Seeedstudio SAMD21 board.

This code sleeps for 1.7 seconds, but should sleep for 1s:

#include "ArduinoLowPower.h"

#define DONE_PIN 1
#define LED_PIN LED_BUILTIN

void setup() {}

void loop() {
    digitalWrite(LED_PIN, HIGH);
    LowPower.deepSleep(1000);
    digitalWrite(LED_PIN, LOW);

    signalDONE(100);
    delay(10);
    signalDONE(200);
}

void signalDONE(uint8_t timeout) {
  pinMode(DONE_PIN, OUTPUT);
  digitalWrite(DONE_PIN, HIGH);
  delay(timeout);
  digitalWrite(DONE_PIN, LOW);
}

image