Added button input and deep sleep

This commit is contained in:
Mark Qvist 2024-05-02 01:20:33 +02:00
parent 51172fb68f
commit 73de55c82b
3 changed files with 33 additions and 0 deletions

View File

@ -77,6 +77,8 @@
#define HAS_PMU false
#define HAS_NP false
#define HAS_EEPROM false
#define HAS_INPUT false
#define HAS_SLEEP false
#if defined(ENABLE_TCXO)
#define HAS_TCXO true
@ -252,11 +254,16 @@
#elif BOARD_MODEL == BOARD_HELTEC32_V3
#define IS_ESP32S3 true
#define HAS_DISPLAY true
#define HAS_INPUT true
#define HAS_SLEEP true
#define HAS_BLUETOOTH false
#define HAS_BLE true
// Cannot run wifi and BLE at same time?
#define HAS_CONSOLE false
#define HAS_EEPROM true
#define PIN_WAKEUP GPIO_NUM_0
#define WAKEUP_LEVEL 0
#if defined(EXTERNAL_LEDS)
const int pin_led_rx = 13;
const int pin_led_tx = 14;
@ -264,6 +271,7 @@
const int pin_led_rx = 35;
const int pin_led_tx = 35;
#endif
const int pin_btn_usr1 = 0;
#define MODEM SX1262
#define HAS_TCXO true

View File

@ -82,6 +82,10 @@ void setup() {
serial_interrupt_init();
// Configure input and output pins
#if HAS_INPUT
input_init();
#endif
#if HAS_NP == false
pinMode(pin_led_rx, OUTPUT);
pinMode(pin_led_tx, OUTPUT);
@ -1289,6 +1293,23 @@ void loop() {
#if HAS_BLUETOOTH || HAS_BLE == true
if (!console_active && bt_ready) update_bt();
#endif
#if HAS_INPUT
input_read();
#endif
}
void sleep_now() {
#if HAS_SLEEP == true
esp_sleep_enable_ext0_wakeup(PIN_WAKEUP, WAKEUP_LEVEL);
esp_deep_sleep_start();
#endif
}
void button_event(uint8_t event, unsigned long duration) {
if (duration > 2000) {
sleep_now();
}
}
volatile bool serial_polling = false;

View File

@ -56,6 +56,10 @@ sx128x *LoRa = &sx128x_modem;
#include "Power.h"
#endif
#if HAS_INPUT == true
#include "Input.h"
#endif
#if MCU_VARIANT == MCU_ESP32 || MCU_VARIANT == MCU_NRF52
#include "Device.h"
#endif