Skocz do zawartości

Monitory HMI w użytku domowym.


SOYER

Pomocna odpowiedź

2 godziny temu, _LM_ napisał:

Zapis jak powyżej daje korzyści bo nie musisz dla każdego obiektu definiować zdarzenia. Na przykład masz dziesięć elementów w UI button1,2,3... checkbox1,2..n wtedy tworzysz jedną funkcję event dla wszystkich przycisków i za pomocą get_target sprawdzasz kto tego eventa wywołał

Chyba dokładnie to robię w swoim szkicu? Tak? Jedna funkcja do wszystkich buttonów. Ja sprawdzam który obiekt wysłał eventa. Czy to się różni od targeta?

Link do komentarza
Share on other sites

4 minuty temu, rade napisał:

To zależy od tego co kupiłeś...  Ja kupiłem wyświetlacz z ESP32S3, 16MB flash i 8MB PSRAM i konkretnym sterownikiem obrazu, który jest popularny.

Jak kupiłeś osobno wyświetlacz to pewnie byle jakie esp32, z uwagą, że może mieć za mało RAMu...

Kupiłem ten podlinkowany przez @_LM_

https://www.aliexpress.com/item/1005007582119640.html?spm=a2g0o.order_list.order_list_main.10.21ef1c24JxGg9v&gatewayAdapt=glo2pol

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

5 minut temu, _LM_ napisał:

@rade chyba ten https://www.waveshare.com/esp32-s3-touch-lcd-4.htm zasobów jest tam wystarczająco, @SOYER przyszedł już ten panel? Ogólnie ja to odpalałem z gotowych przykładów, w sumie nie wiem jak to z arduino jest zgrane.

Nie przyszedł jeszcze. Wczoraj wysłany z dalekiego wschodu.

Link do komentarza
Share on other sites

A już wiem co mi się nie podobało w twoim kodzie 

lv_event_t *akcja;
bool akcja_is_available = false;

void action_przycisk(lv_event_t * e){
    akcja = e;
    akcja_is_available = true;
}

ustawiłeś wskaźnik akcja jako globalny, to jest prosta droga do czegoś co uwielbiamy w programowaniu xD

panic core xxx undefined refernce ****

także tak nie robimy, no i co to za dostępna akcja as boolean?
 

Link do komentarza
Share on other sites

14 minut temu, _LM_ napisał:

no i co to za dostępna akcja as boolean?

ustawiamy na true kiedy przyjdzie event, nie wiem co autor miał na myśli, podejrzewam, że to coś w rodzaju kontroli, że reakcja zostanie wykonana raz, innego sensu nie widzę... jak już pisałem, robiłem ctrlc ctrlv, z tego.

18 minut temu, _LM_ napisał:

ustawiłeś wskaźnik akcja jako globalny

czyli jednak zrobić jak Ty pokazałeś, czy nie robić wskaźnika globalnego, ale nie wiem jak.

 

8 minut temu, rade napisał:

No to połącz kropki pomiędzy nazwami ESP a boardami Arduino

czyli standardowo, rozpoznanie bojem;)

Link do komentarza
Share on other sites

@_LM_ @H1M4W4R1czyli coś takiego będzie ok:

////////////w action.c:
#include <stdbool.h>
#include "actions.h"

bool akcja_is_available = false;

void action_przycisk(lv_event_t * e){
  akcja_is_available = true;
     
}

///////// a w loop:
 if (akcja_is_available == true)
  {
    lv_obj_t *obj = (lv_obj_t *)lv_event_get_target(e);
    Serial.printf("Received event from obj: %u\n", obj);
    akcja_is_available = false;

    if (obj == objects.btn1)
    {
      lv_scr_load(objects.main1);
      
    }
    ...

 

Link do komentarza
Share on other sites

17 minut temu, _LM_ napisał:

Po co ci sprawdzać akcje w pętli? Masz event i to już jest twoja funkcja. Klikasz przycisk i jest wywołany action_costam

Czy nie będzie tak, że jeśli w loop wstawię

lv_obj_t *obj = (lv_obj_t *)lv_event_get_target(e);
    Serial.printf("Received event from obj: %u\n", obj);

    if (obj == objects.btn1)
    {
      lv_scr_load(objects.main1);
      
    }
    ...

To procek na okragło bedzie mielił tą funkcję,

a jeśli zrobię z _is_available to będzie ją obrabiał tylko w razie nowego eventu?

Jak to jest?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.