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



Teraz jest 29 lis 2024, o 15:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 18 mar 2015, o 23:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

Chciałby zaprezentować wstępną bibliotekę po "SPI" do wyświetlacza 3,5" 480 x 320 TFT LCD opartego o sterownik HX8357D firmy Adafruit https://www.adafruit.com/product/2050 napisaną przeze mnie na podstawie oryginalnej biblioteki od firmy Adafruit dla Arduino oraz doświadczeń zdobytych podczas nauk Mirka dotyczących wyświetlaczy OLED oraz tzw. Green Booka.

Myślę że na początek film z jej pracy na wyświetlaczu, na żywo wygląda to zdecydowanie lepiej niestety kamera, którą posiadam nie oddaje "ładności" świecenia jego jednakże bardziej mam na celu pokazanie pracy i możliwości funkcji jakie posiada biblioteka.



A teraz kod :) Myślę że za specjalnie nie ma co go komentować osobno, albo raczej mi się tak wydaję bo starałem się napisać ją czytelnie i w miarę zrozumiale dodając stosowne komentarze.
Nie będę może zupełnie całego programu testowego publikować na stronie ale dodam go całego spakowanego na końcu tematu jako załącznik do obejrzenia i ewentualnych własnych testów jak ktoś w/w wyświetlacz nabędzie.

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


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


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


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


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


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


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


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


I jak? ;)
No cóż trochę się naklepałem, jeszcze są pliki z bitmapami i ustawieniami skórki dla dema higrometru ale to zostawiam do obejrzenia w załączniku. Ogólnie nie mam pojęcia czy tą bibliotekę jak również program demonstracyjny napisałem dobrze czy źle, to już pozostawiam do oceny w waszej gestii.

Napiszę że na pewno mi ta biblioteka działa i ja osobiście jestem z niej zadowolony, funkcjonalność jaką ja potrzebuje do jakiś swoich projektów mam wystarczającą, rzekłbym aż nad to.
Biblioteka w załączniku jest skompilowana na procesor Atmega 32A pracująca z zegarem 18 432 000, z innymi mniejszymi kwarcami też chodzi ale nie zalecałbym niczego niżej niż 16Mhz - już mocno zwalnia. Testowałem ja na różnych procesorach np. A32A, A128 (po odchudzeniu nawet na A8 najmniejszy jaki próbowałem) jak i również na A644PA oraz A1284P i tu mam małe pytanie bo zagadką dla mnie jest to że o ile ze starszymi wymienionymi procesorami komunikacja SPI przy 5V działa idealnie bez zastrzeżeń to jak skompiluje tą bibliotekę na nowsze procesory serii 644 itd. to amen, złe działanie, defakto krzaki na ekranie, niestabilność, masakra. Jednakże jak przestawię tylko napięcie zasilania na 3,3V lub dam dodatkowy dzielnik napięcia to ręka odjoł biblioteka działa tak samo dobrze jak na A32 itp. o co tu chodzi, coś się zmieniło w nowszych procesorach, analizowałem notę jest tam coś o zasilaniu w przypadku używania SPI, coś powiązane z UART że trzeba dać 0 wrejestr PWR, ale domyślnie są 0 no nie jasne to dla mnie, może ktoś z bardziej doświadczonych kolegów wyjaśni o co chodzi, mówię przestawiam na 3,3V i jest ok, a ze starszymi procesorami obojętnie czy na 5V czy na 3,3V jest też ok.

Z innych uwag jakie mam albo mi nie wyszły to wyświetlanie zmiennej z pamięci flash, ona się wyświetla na ekranie ale oprócz niej jakieś krzaki, może ktoś obejrzeć funkcje i mi podpowiedzieć jaki mam błąd lub może ficzer trzeba zrobić by było ok :) Już nie aktualne bo poprawione - aktualizacja biblioteki w załączniku ;)

W demie aż się pewnie prosiło o latający napis spoza ekranu na wyświetlacz, ot taka pętelka - no cóż mała masakra z prędkością wyświetlania jakby AVRkowi pary zabrakło jak cały napis wjedzie :lol: dlatego z prezentacji tego zrezygnowałem ale kto wie może coś źle robię....

Z innych rzeczy jak ktoś bliżej się przyjrzy temu wyświetlaczowi to stwierdzi że ma on dotykowy rezystancjny ekran oraz czytnik kart MicroSD, i to się zgadza wszystko jest. Jeszcze tego nie opanowałem z jednej strony sprzętowo bo chcę dotykowy ekran zrobić na opisanym przez Mirka układzie STMPE811 https://www.sklep.atnel.pl/pl/searchquery/STMPE811/1/phot/5?url=STMPE811 i tutaj walczę z przylutowaniem jego bo jest ciut za duży :lol: :) ale myślę że za jakiś czas go opanuje i dodam stosowną aktualizacje biblioteki o funkcjonalność dotyku ale opartą o kod Mirka z zielonej książki więc by go uruchomić będzie wymagane dogranie jej sobie. Czytnik kart SD udało mi się bez większych problemów odpalić w wyświetlaczu również za pomocą biblioteki PetiFS Mirka z zielonej książki jednakże poległem na razie na pisaniu funkcji wyświetlającej zdjęcia z karty, no cóż jest to szerszy problem który opisze w nowym wątku ze stosownymi pytaniami oraz niejasnościami jakie mam i jak to opanuję również dodam zaktualizowaną funkcjonalność. Wyświetlacz ma jeszcze tryb 8-bit ja jednakże raczej nie będę go oprogramowywać - chociaż może kiedyś dla zabawy to też kod zamieszczę.

To z grubsza, tyle jak są jakieś pytania czy nie jasności to chętnie odpowiem. Dodam jeszcze że ten wyświetlacz w PL można nabyć np. w sklepie Botland:
http://botland.com.pl/wyswietlacze-graficzne/2666-wyswietlacz-dotykowy-tft-lcd-35-320-x-480-z-czytnikiem-microsd.html

I jeszcze napisze dla malkontentów, powiem wam że jestem przeszczęsliwy, wniebowzięty wręcz że po jakimś tam czasie, w sumie nie długim ja wiem roku-póltorej nauki języka C od 0 z Mirkiem, jego poradnikami oraz książkami opanowałem sobie sam bez niczyjej pomocy obsługę jakiegoś tam przypadkowego wyświetlacza LCD TFT, którego widzę pierwszy raz na oczy w jakiś tydzień wraz z programem demonstracyjnym. I to jest dla mnie najlepsze wręcz bezcenne, a o Mirku świadczy że robotę jaką robi robi ją bardzo dobrze :)


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Ostatnio edytowano 19 mar 2015, o 01:30 przez Intre, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 01:06 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

nie wyświetla ci poprawnie znaków z pamięci Flash bo masz babola:

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


pętla while próbuje sprawdzać zawartość wskaźnika w pamięci RAM a nie FLASH - więc leci na wariata po całym RAMie aż natrafi na zero a wyświetla znaki czytane z Flash w kolejnej linii ;)

zrób tak:

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


Oczywiście jak to mówią KAWAŁ DOBREJ ROBOTY ;)


i powinno być ok ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 01:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

Dambo polecam naprawdę fajnie świeci :) Sam mam już wizję zrobienia takiej sobie stacji pogodowej jak opanuje inne rozpoczęte projekty.


Mirku dziękuje zmiany w bibliotece naniesione, przetestowane, teraz działa ta funkcja super :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 01:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Super projekt! No to i ja jeszcze dodam, że KAWAŁ DOBREJ ROBOTY :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 09:34 
Offline
Użytkownik

Dołączył(a): 15 lip 2014
Posty: 63
Lokalizacja: Polska
Pomógł: 12

:shock: Takie efekty na 8-bitowcu?! WOOOWWWW... :o



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 11:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 lut 2014
Posty: 173
Lokalizacja: Bytom
Pomógł: 2

Biedna Atmega się tam poci i daje resztki sił :D A tak na serio KAWAŁEK DOBREGO KODU !



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 20:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Już rano widziałem lecz nie mogłem pisać.

Biblioteka piękna tylko czy rysowanie nie migło by być z bufora aby każdy piksel zapalił się w tym samym momencie?

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2015, o 21:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

majster napisał(a):
Biblioteka piękna tylko czy rysowanie nie migło by być z bufora aby każdy piksel zapalił się w tym samym momencie?


480 * 320 * 2 = 30 7200 ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2015, o 14:32 
Offline
Użytkownik

Dołączył(a): 15 cze 2013
Posty: 599
Lokalizacja: Lubin
Zbananowany użytkownik

Pomógł: 35

taki wyświetlacz do kupienia w Polsce?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2015, o 16:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 maja 2013
Posty: 562
Lokalizacja: Bydgoszcz
Pomógł: 23

OdeOn Jak najbardziej:

np. w Botland

http://botland.com.pl/wyswietlacze-graficzne/2666-wyswietlacz-dotykowy-tft-lcd-35-320-x-480-z-czytnikiem-microsd.html



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: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO