Lower CPU speed if screen is off

This commit is contained in:
suchmememanyskill
2023-12-02 01:13:40 +01:00
parent e15c7e37ff
commit 1e3f0ab637
5 changed files with 14 additions and 3 deletions

View File

@@ -100,12 +100,20 @@ void screen_timer_wake()
lv_timer_reset(screenSleepTimer); lv_timer_reset(screenSleepTimer);
isScreenInSleep = false; isScreenInSleep = false;
set_screen_brightness(); set_screen_brightness();
// Reset cpu freq
setCpuFrequencyMhz(CPU_FREQ_HIGH);
Serial.printf("CPU Speed: %d MHz\n", ESP.getCpuFreqMHz());
} }
void screen_timer_sleep(lv_timer_t *timer) void screen_timer_sleep(lv_timer_t *timer)
{ {
screen_setBrightness(0); screen_setBrightness(0);
isScreenInSleep = true; isScreenInSleep = true;
// Screen is off, no need to make the cpu run fast, the user won't notice ;)
setCpuFrequencyMhz(CPU_FREQ_LOW);
Serial.printf("CPU Speed: %d MHz\n", ESP.getCpuFreqMHz());
} }
void screen_timer_setup() void screen_timer_setup()

View File

@@ -4,6 +4,9 @@
#ifndef _SCREEN_DRIVER_INIT #ifndef _SCREEN_DRIVER_INIT
#define _SCREEN_DRIVER_INIT #define _SCREEN_DRIVER_INIT
#define CPU_FREQ_HIGH 240
#define CPU_FREQ_LOW 80
#include <XPT2046_Touchscreen.h> #include <XPT2046_Touchscreen.h>
#include <TFT_eSPI.h> #include <TFT_eSPI.h>

View File

@@ -25,7 +25,7 @@ void setup() {
Serial.println("Screen init done"); Serial.println("Screen init done");
wifi_init(); wifi_init();
ip_setup(); ip_init();
data_setup(); data_setup();
nav_style_setup(); nav_style_setup();

View File

@@ -95,7 +95,7 @@ void ip_setup_inner(){
lv_keyboard_set_textarea(keyboard, ipEntry); lv_keyboard_set_textarea(keyboard, ipEntry);
} }
void ip_setup(){ void ip_init(){
connect_ok = false; connect_ok = false;
if (global_config.ipConfigured && retry_ip_verify()){ if (global_config.ipConfigured && retry_ip_verify()){

View File

@@ -1 +1 @@
void ip_setup(); void ip_init();