Added button input and deep sleep
This commit is contained in:
		
							
								
								
									
										8
									
								
								Boards.h
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Boards.h
									
									
									
									
									
								
							@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user