Sterowanie suplą przez esp32 z dotykowym LCD 4”

SOYER
Posts: 1342
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Dołożyłem deep sleep na noc wybudzany automatycznie rano lub po naciśnięciu resetu.
Dodatkowo udało się mi w końcu pokonać problemy z dodawaniem własnych obrazków. Mam więc logo Supli i wygaszacz ekranu, właściwie tylko po to by się chronić przed wypaleniem pikseli. Wygaszacz wyłączamy kliknięciem w ekran.

Esp32 LCD, Screesaver, Deep Sleep
https://youtube.com/shorts/U7V9aACEMSY
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
rafalekkalwak@wp.pl
Posts: 892
Joined: Mon Feb 06, 2023 8:56 am

Post

Gratuluję,
to teraz zapoznaj się z tym:
https://github.com/

i wpisz w Google: jak używać githuba
Będziesz mógł się podzielić z innymi w przyzwoity sposób swoim dziełem a przy okazji oszczędzisz sobie w przyszłości trochę siwych włosów.
User avatar
shimano73
Posts: 2078
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

Oglądałem filmik z działania czy też przesuwające zmiany ekranu można przyspieszyć ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
SOYER
Posts: 1342
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

rafalekkalwak@wp.pl wrote: Tue Jan 14, 2025 6:49 pm Gratuluję,
to teraz zapoznaj się z tym:
https://github.com/

i wpisz w Google: jak używać githuba
Będziesz mógł się podzielić z innymi w przyzwoity sposób swoim dziełem a przy okazji oszczędzisz sobie w przyszłości trochę siwych włosów.
Mam swojego githuba od dawna...;), to taki pewny backup:)
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
SOYER
Posts: 1342
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

shimano73 wrote: Tue Jan 14, 2025 7:07 pm Oglądałem filmik z działania czy też przesuwające zmiany ekranu można przyspieszyć ?
Tak, w funkcji:

Code: Select all

lv_scr_load_anim(objects.main, LV_SCR_LOAD_ANIM_OVER_RIGHT, 1000, 100, false);
ustawiamy czas tranzycji.

https://docs.lvgl.io/7.11/overview/object.html
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
SOYER
Posts: 1342
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

@rafalekkalwak@wp.pl mam problem z

Code: Select all

lv_timer_reset(timer1);
Najpierw mam oczywiście:

Code: Select all

void screenSaver(lv_timer_t * timer1)
{
  if (lv_scr_act()==objects.main){
   lv_scr_load_anim(objects.scr6, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
  else if (lv_scr_act()==objects.scr6){
   lv_scr_load_anim(objects.scr7, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

lv_timer_t * timer1 = lv_timer_create(screenSaver, 600000,  NULL);
Wywala błędy przy kompilacji... :shock:

Code: Select all

error: 'timer1' was not declared in this scope; did you mean 'timer_t'?
  431 |   lv_timer_reset(timer1);
      |                  ^~~~~~
      |                  timer_t
exit status 1
'timer1' was not declared in this scope; did you mean 'timer_t'?
???
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
rafalekkalwak@wp.pl
Posts: 892
Joined: Mon Feb 06, 2023 8:56 am

Post

SOYER wrote: Tue Jan 14, 2025 7:18 pm @rafalekkalwak@wp.pl mam problem z

Code: Select all

lv_timer_reset(timer1);
Najpierw mam oczywiście:

Code: Select all

void screenSaver(lv_timer_t * timer1)
{
  if (lv_scr_act()==objects.main){
   lv_scr_load_anim(objects.scr6, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
  else if (lv_scr_act()==objects.scr6){
   lv_scr_load_anim(objects.scr7, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

lv_timer_t * timer1 = lv_timer_create(screenSaver, 600000,  NULL);
Wywala błędy przy kompilacji... :shock:

Code: Select all

error: 'timer1' was not declared in this scope; did you mean 'timer_t'?
  431 |   lv_timer_reset(timer1);
      |                  ^~~~~~
      |                  timer_t
exit status 1
'timer1' was not declared in this scope; did you mean 'timer_t'?
???
I po to Ci mówię żebyś używał githuba bo tak bez kontekstu to wuj wie , a jak widzę całość to się mogę wypowiedzieć .

Strzelam że używasz obiektu zanim go deklarujesz
SOYER
Posts: 1342
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

rafalekkalwak@wp.pl wrote: Tue Jan 14, 2025 7:33 pm
SOYER wrote: Tue Jan 14, 2025 7:18 pm @rafalekkalwak@wp.pl mam problem z

Code: Select all

lv_timer_reset(timer1);
Najpierw mam oczywiście:

Code: Select all

void screenSaver(lv_timer_t * timer1)
{
  if (lv_scr_act()==objects.main){
   lv_scr_load_anim(objects.scr6, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
  else if (lv_scr_act()==objects.scr6){
   lv_scr_load_anim(objects.scr7, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

lv_timer_t * timer1 = lv_timer_create(screenSaver, 600000,  NULL);
Wywala błędy przy kompilacji... :shock:

Code: Select all

error: 'timer1' was not declared in this scope; did you mean 'timer_t'?
  431 |   lv_timer_reset(timer1);
      |                  ^~~~~~
      |                  timer_t
exit status 1
'timer1' was not declared in this scope; did you mean 'timer_t'?
???
I po to Ci mówię żebyś używał githuba bo tak bez kontekstu to wuj wie , a jak widzę całość to się mogę wypowiedzieć .

Strzelam że używasz obiektu zanim go deklarujesz
Funkcja screenSaver nad SETUP,
w SETUP linijka:
lv_timer_t * timer1 = lv_timer_create(screenSaver, 600000, NULL);[

a reset timera chcię wywoływać w funkcji reagującej na eventy z ekranu, lub w innych funkcjach.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
rafalekkalwak@wp.pl
Posts: 892
Joined: Mon Feb 06, 2023 8:56 am

Post

SOYER wrote: Tue Jan 14, 2025 8:15 pm
rafalekkalwak@wp.pl wrote: Tue Jan 14, 2025 7:33 pm
SOYER wrote: Tue Jan 14, 2025 7:18 pm @rafalekkalwak@wp.pl mam problem z

Code: Select all

lv_timer_reset(timer1);
Najpierw mam oczywiście:

Code: Select all

void screenSaver(lv_timer_t * timer1)
{
  if (lv_scr_act()==objects.main){
   lv_scr_load_anim(objects.scr6, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
  else if (lv_scr_act()==objects.scr6){
   lv_scr_load_anim(objects.scr7, LV_SCR_LOAD_ANIM_OVER_TOP, 1000, 100, false);
  }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

lv_timer_t * timer1 = lv_timer_create(screenSaver, 600000,  NULL);
Wywala błędy przy kompilacji... :shock:

Code: Select all

error: 'timer1' was not declared in this scope; did you mean 'timer_t'?
  431 |   lv_timer_reset(timer1);
      |                  ^~~~~~
      |                  timer_t
exit status 1
'timer1' was not declared in this scope; did you mean 'timer_t'?
???
I po to Ci mówię żebyś używał githuba bo tak bez kontekstu to wuj wie , a jak widzę całość to się mogę wypowiedzieć .

Strzelam że używasz obiektu zanim go deklarujesz
Funkcja screenSaver nad SETUP,
w SETUP linijka:
lv_timer_t * timer1 = lv_timer_create(screenSaver, 600000, NULL);[

a reset timera chcię wywoływać w funkcji reagującej na eventy z ekranu, lub w innych funkcjach.
To chyba jasne że zmienna deklarowana w setup nie jest dostępna po za setup
SOYER
Posts: 1342
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

To dlaczego działa funkcja screenSaver() umieszczona przed SETUP? Naprawdę tego nie łapię…
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79

Return to “Zagadnienia ogólne”