Browse Source

Merge pull request #116 from SZenglein/fix-rfid-sleep

Fix PN5180 sleep issues
master
biologist79 4 years ago
committed by GitHub
parent
commit
2588bb00c1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/RfidPn5180.cpp
  2. 5
      src/main.cpp

2
src/RfidPn5180.cpp

@ -358,7 +358,7 @@ extern unsigned long Rfid_LastRfidCheckTimestamp;
if (nfc14443.switchToLPCD(wakeupCounterInMs)) { if (nfc14443.switchToLPCD(wakeupCounterInMs)) {
Log_Println((char *) FPSTR(lowPowerCardSuccess), LOGLEVEL_INFO); Log_Println((char *) FPSTR(lowPowerCardSuccess), LOGLEVEL_INFO);
// configure wakeup pin for deep-sleep wake-up, use ext1 // configure wakeup pin for deep-sleep wake-up, use ext1
esp_sleep_enable_ext1_wakeup((1ULL << (RFID_IRQ)), ESP_EXT1_WAKEUP_ANY_HIGH);
esp_sleep_enable_ext1_wakeup((1ULL << (RFID_IRQ)), ESP_EXT1_WAKEUP_ALL_LOW);
// freeze pin states in deep sleep // freeze pin states in deep sleep
gpio_hold_en(gpio_num_t(RFID_CS)); // CS/NSS gpio_hold_en(gpio_num_t(RFID_CS)); // CS/NSS
gpio_hold_en(gpio_num_t(RFID_RST)); // RST gpio_hold_en(gpio_num_t(RFID_RST)); // RST

5
src/main.cpp

@ -129,7 +129,10 @@ void printWakeUpReason() {
void setup() { void setup() {
Log_Init(); Log_Init();
Queues_Init(); Queues_Init();
// make sure all wakeups can be enabled *before* initializing RFID, which can enter sleep immediately
#ifdef RFID_READER_TYPE_PN5180 #ifdef RFID_READER_TYPE_PN5180
Button_Init();
Rfid_Init(); Rfid_Init();
#endif #endif
@ -218,8 +221,8 @@ void setup() {
AudioPlayer_Init(); AudioPlayer_Init();
Mqtt_Init(); Mqtt_Init();
Battery_Init(); Battery_Init();
Button_Init();
#ifndef RFID_READER_TYPE_PN5180 #ifndef RFID_READER_TYPE_PN5180
Button_Init();
Rfid_Init(); Rfid_Init();
#endif #endif
RotaryEncoder_Init(); RotaryEncoder_Init();

Loading…
Cancel
Save