您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

41 行
988 B

  1. #include "MainUnit.h"
  2. #include "Rtc.h"
  3. #include "Pins.h"
  4. #include "Debug.h"
  5. const char WOKE_UP[] PROGMEM = "Woke up from sleep";
  6. namespace mainunit {
  7. void interrupt() {
  8. detachInterrupt(digitalPinToInterrupt(RTC_WAKE));
  9. }
  10. void interruptIn(uint16_t seconds) {
  11. rtc::powerOn();
  12. rtc::setAlarm(seconds);
  13. rtc::powerOff();
  14. pinMode(RTC_WAKE, INPUT);
  15. attachInterrupt(digitalPinToInterrupt(RTC_WAKE), interrupt, FALLING);
  16. }
  17. void sleep(period_t period) {
  18. Log.notice(F("Sleeping for period : %d"), period);
  19. LowPower.powerDown(period, ADC_OFF, BOD_OFF);
  20. Log.verbose(reinterpret_cast<const __FlashStringHelper *>(pgm_read_word(WOKE_UP)));
  21. }
  22. void deepSleep(uint16_t seconds) {
  23. Log.notice(F("Deep sleeping for %d seconds"), seconds);
  24. interruptIn(seconds);
  25. Log.verbose("interruptIn done !");
  26. LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
  27. Log.verbose("hola");
  28. Log.verbose(reinterpret_cast<const __FlashStringHelper *>(pgm_read_word(WOKE_UP)));
  29. }
  30. }