Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 maja 2025, o 04:38


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 14 sty 2017, o 18:43 
    Offline
    Użytkownik

    Dołączył(a): 29 cze 2013
    Posty: 209
    Lokalizacja: Tarnowskie Góry
    Pomógł: 0

    Witam
    Czy ktoś z forumowiczów używa biblioteki PP_TFTLCD? mam taki problem że dane na wyświetlaczu które odczytuje i chce wyświetlić nakładają się na siebie tz. jeśli chce wyświetlić liczbę 8 a następnie 2 to wszystkie piksele które wyświetlały liczbę 8 zostają na wyświetlaczu i dochodzą następne z liczby 2.

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    biblioteka
    PP_TFTLCD.h
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    PP_TFTLCD.ccp
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2017, o 19:07 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lip 2013
    Posty: 208
    Lokalizacja: Kielce
    Pomógł: 15

    W oryginalnej bibliotece Arduino tft_lcd były 2 funkcje do ustawiania koloru czcionki. W pierwszej wersji (tak też jest u Ciebie) settextcolor miał jeden argument - kolor czcionki (textcolor), tło było "przezroczyste"

    Druga wersja tej funkcji w bibliotece posiada drugi argument kolor tła (textbgcolor). U mnie po przeportowaniu z Arduino do C, funkcja wyglada tak:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Poniżej funkcja jedno argumentowa:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2017, o 21:41 
    Offline
    Użytkownik

    Dołączył(a): 29 cze 2013
    Posty: 209
    Lokalizacja: Tarnowskie Góry
    Pomógł: 0

    W obu plikach zmieniłem linijki ale wywala hasło że C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:74:3: error: 'textbgcolor' was not declared in this scope

    textbgcolor = b;

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Zdaje sie że program nie używa takiej funkcji jak 'textbgcolor'



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2017, o 23:07 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lip 2013
    Posty: 208
    Lokalizacja: Kielce
    Pomógł: 15

    To jest zmienna typu uint_16t. A zadeklarowałeś ją przy okazji przeróbki funkcji której przykład Ci podałem naprowadzając, z czego wynika nie gaszenie pikseli przy wypisywaniu tekstu?

    Żeby niepotrzebne piksele zmieniły kolor na identyczny z tłem zmiennej textbgcolor przy wywoływaniu funkcji przypisuj ten sam olor co w funkcji Twojej tft.fillscreen.


    Musisz także lekko zmodyfikować swoja funkcję:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    na coś takiego:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    I oczywiscie w kodzie tam, gdzie kolega ma funkcję:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    zmienić na:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2017, o 11:10 
    Offline
    Użytkownik

    Dołączył(a): 29 cze 2013
    Posty: 209
    Lokalizacja: Tarnowskie Góry
    Pomógł: 0

    Przepraszam ale na języku C się na tyle nie znam więc pozostaje mi tylko wklejać to co kolega mi tu podsyła

    dalej program się nie kompiluje

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Wcześniej nie wygaszał pixeli a teraz to nie chce się nawet skapilowac

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp: In member function 'void PP_TFTLCD::setTextColor(uint16_t, uint16_t)':

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:74:3: error: 'textbgcolor' was not declared in this scope

    textbgcolor = b;

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp: In member function 'virtual size_t PP_TFTLCD::write(uint8_t)':

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:85:47: error: 'textbgcolor' was not declared in this scope

    drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp: At global scope:

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:99:6: error: prototype for 'void PP_TFTLCD::drawChar(int16_t, int16_t, unsigned char, uint16_t, uint16_t, uint8_t)' does not match any in class 'PP_TFTLCD'

    void PP_TFTLCD::drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,

    ^

    In file included from C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:1:0:

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.h:101:8: error: candidate is: void PP_TFTLCD::drawChar(uint16_t, uint16_t, char, uint16_t, uint8_t)

    void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t s = 1);

    ^

    exit status 1
    Błąd kompilacji dla płytki Arduino/Genuino Uno.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2017, o 13:24 
    Offline
    Użytkownik

    Dołączył(a): 29 cze 2013
    Posty: 209
    Lokalizacja: Tarnowskie Góry
    Pomógł: 0

    A może jest gdzieś inna biblioteka??? ja przekopałem chyba cały internet i tylko na jednej mi działa a raczej częściowo dziala
    Jak sprawdzam identyfikator wyświetlacza to wyskakuje mi C505



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2017, o 16:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lip 2013
    Posty: 208
    Lokalizacja: Kielce
    Pomógł: 15

    Bo nadal nie zadeklarowales tej zmiennej. W Aruino C++ robi się to identycznie przecież.

    -----

    To wszystko jest w bibliotece GFX dla Arduino. Przegladnij ja sobie. Porównaj ze swoimi funkcjami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2017, o 19:09 
    Offline
    Użytkownik

    Dołączył(a): 29 cze 2013
    Posty: 209
    Lokalizacja: Tarnowskie Góry
    Pomógł: 0

    Nadal same błęd

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp: In member function 'virtual size_t PP_TFTLCD::write(uint8_t)':

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:85:69: error: no matching function for call to 'PP_TFTLCD::drawChar(uint16_t&, uint16_t&, uint8_t&, uint16_t&, uint16_t&, uint8_t&)'

    drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:85:69: note: candidate is:

    In file included from C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:1:0:

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.h:101:8: note: void PP_TFTLCD::drawChar(uint16_t, uint16_t, char, uint16_t, uint8_t)

    void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t s = 1);

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.h:101:8: note: candidate expects 5 arguments, 6 provided

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp: At global scope:

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:100:6: error: prototype for 'void PP_TFTLCD::drawChar(int16_t, int16_t, unsigned char, uint16_t, uint16_t, uint8_t)' does not match any in class 'PP_TFTLCD'

    void PP_TFTLCD::drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, uint16_t bg, uint8_t size) {

    ^

    In file included from C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:1:0:

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.h:101:8: error: candidate is: void PP_TFTLCD::drawChar(uint16_t, uint16_t, char, uint16_t, uint8_t)

    void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t s = 1);

    ^

    exit status 1
    Błąd kompilacji dla płytki Arduino/Genuino Uno.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2017, o 21:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lip 2013
    Posty: 208
    Lokalizacja: Kielce
    Pomógł: 15

    A dlaczego kolega zmieniając nagłówki funkcji w pliku PP_TFTLCD.cpp nie zrobił tego samego ich deklaracjami w pliku PP_TFTLCD.h ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sty 2017, o 08:39 
    Offline
    Użytkownik

    Dołączył(a): 29 cze 2013
    Posty: 209
    Lokalizacja: Tarnowskie Góry
    Pomógł: 0

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:27: error: 'cursor_y' has not been declared

    void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:37: error: 'c' has not been declared

    void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:40: error: 'textcolor' has not been declared

    void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:51: error: 'textbgcolor' has not been declared

    void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

    ^

    C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:64: error: 'textsize' has not been declared

    void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

    ^

    exit status 1
    Błąd kompilacji dla płytki Arduino/Genuino Uno.

    Chyba zmieniłem ale dalej wywala błędy... dziękuje za cierpliwość bo tak jak wspomniałem na języku C się nie znam a co dopiero na pisaniu bibliotek do wyświetlaczy !!!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 sty 2017, o 10:58 
    Offline
    Użytkownik

    Dołączył(a): 29 cze 2013
    Posty: 209
    Lokalizacja: Tarnowskie Góry
    Pomógł: 0

    Dobra wiadomość udało mi się znaleźć poprawna bibliotekę dla mojego wyświetlacza ze sterownikiem ILI9331 lub ID 505
    https://forum.arduino.cc/index.php?action=dlattach;topic=366304.0;attach=165912"><img%20src="https://forum.arduino.cc/Themes/default/images/icons/clip.png"%20class="centericon"%20alt="*">&nbsp;Mcufriend_kbv_2.90.zip



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO