Liczba postów: 1,317
Liczba wątków: 74
Dołączył: 28-06-2009
Liczba postów: 30
Liczba wątków: 1
Dołączył: 20-08-2025
Pierwsze uruchomienie makiety z TFT na ST7789 320x170 (jak w Jokerze) - nawet coś widać
Łukasz, Warszawa - FT991, TRX Brass (w budowie), Joker SDR (w głowie) i trochę chińszczyzny dla smaku.
Liczba postów: 1,317
Liczba wątków: 74
Dołączył: 28-06-2009
Gratuluję Łukasz, mam nadzieję na dalszy ciąg. Mam sygnały od kolegów o różnym stopniu zaawansowania produkcji PCB. Zapewne niebawem będą w kraju i staną się dostępne.
Praktykujący teoretyk
Liczba postów: 30
Liczba wątków: 1
Dołączył: 20-08-2025
18-07-2026, 13:47
(Ten post był ostatnio modyfikowany: 18-07-2026, 13:59 przez SP5LU.)
Jeśli znajdzie się jakaś wolna płytka, to ja bardzo chętnie się podłączę.
W międzyczasie spróbowałem wykorzystać całą powierzchnię wyświetlacza. Dla programisty może byłoby to łatwe... Początkowo udawało się nieznacznie powiększyć x i y, ale po przekroczeniu pewnych wartości wyświetlacz nie uruchamiał się. Okazało się, że firmware wykorzystuje funkcję sprite do budowania całego obrazu zamiast wyłącznie ruchomych i często modyfikowanych obszarów. Bufor obrazu wykorzystuje oczywiście pamięć RAM procesora - przy wyświetlaczu 240x135 jest to 32400 pikseli, przy 320x170 to już 54400 px, więc prawie 2 razy więcej... Rozwiązaniem było znalezienie informacji, że domyślnie biblioteka tft-espi domyślnie pracuje w 16 bitach głębi koloru, więc w pierwszym przypadku rezerwuje 64.8kB, a w drugim usiłuje zarezerwować 108.8kB - i to już jest za dużo. Kompilacja przechodzi bez błędów, ale nie działa... ech Arduino Arduino...
Po jawnym zadeklarowaniu głębi ośmiobitowej
Kod: tft.displayOn();
lcd.setColorDepth(8);
lcd.createSprite(LCD_WIDTH, LCD_HEIGHT);
działa cały wyświetlacz.
Sukces jest jednak tylko częściowy - przy kompilacji z zalecanym przez autora poziomem optymalizacji -O3 na ekranie pojawiają się ruchome artefakty.
Przełączenie na poziom standardowy -Os poprawia sytuację, ale nadal nie jest dobrze.
Obawiam się, że nie starczy mi samozaparcia i skończy się na wyświetlaczu 240x135, a szkoda, bo bardzo lubię ten 320x170.
Edit - jak widać przy zabawach z rozdzielczością wyszło, że autor niespecjalnie dba o spójność kodu - niektóre elementy (spektrum i wodospad) dostosowały się wraz z opisami do deklaracji
Kod: #define LCD_WIDTH 320
(co jest tam wyświetlane, to inna sprawa), a współrzędne innych są hardkodowane. Pocieszające jest to, że dało się zwiększyć wysokość wodospadu i to działa.
Kod: #define WATERFALL_ROWS 96
// 61 for 240x135
Łukasz, Warszawa - FT991, TRX Brass (w budowie), Joker SDR (w głowie) i trochę chińszczyzny dla smaku.
Liczba postów: 1,317
Liczba wątków: 74
Dołączył: 28-06-2009
Liczba postów: 30
Liczba wątków: 1
Dołączył: 20-08-2025
18-07-2026, 21:56
(Ten post był ostatnio modyfikowany: 20-07-2026, 11:33 przez SP5LU.)
Zajrzyj do dokumentu Joker_13 - tam jest opisany chyba podobny problem z filtrami.
***
Prawdziwi twardziele nie czytają ostrzeżeń kompilatora  ))
Jeśli się puszcza pętlę, która ma zrobić 320 obrotów na ośmiobitowym liczniku, a do tego sztywno deklaruje za krótką tablicę (dla 4*240px wystarczały 1024 elementy, dla 4x320px już nie), to efekty są jakie są.
Teraz już jest wyraźnie lepiej, ale bez działającego Rx'a nie mogę weryfikować dalszych poprawek - więc na razie odpuszczam temat.
Edit: Za kilka dni spróbuję jeszcze kompilacji na TFT 1.3'' 240x240, ma wysokość poniżej 30mm - więc powinien się zmieścić. Jeśli dobrze sprawdziłem, obudowa to Hammond 1455P1601 (panel alu) lub 1455P1602 (panel ABS). Ta druga jest tańsza, a panele i tak w projekcie są z PCB.
Łukasz, Warszawa - FT991, TRX Brass (w budowie), Joker SDR (w głowie) i trochę chińszczyzny dla smaku.
Liczba postów: 30
Liczba wątków: 1
Dołączył: 20-08-2025
Z wyświetlaczem 240x240 poszło dużo łatwiej, niemniej jednak znów trzeba było użyć ośmiobitowej głębi kolorów.
Wyświetlacz jest mały - na tej samej wysokości co 320x170 mieści 240px co sprawia, że najmniejsze napisy stają się już (przynajmniej dla mnie) mało czytelne, ale za to mamy aż 8 sekund wodospadu.
Niestety wysokość płytki (27.5mm) jest większa, niż miejsce w obudowie (26.45mm), więc aby ją zmieścić trzeba obudowę nieco podfrezować (szkło ma 26.2mm, więc frezowanie jest niezbędne, trzeba mieć trochę luzu).
Podobnie byłoby z 320x170 (29mm, tu wystarczyłoby zeszlifować PCB - szkło ma wraz z plastikową ramką 25.75mm), ale jednak prawdopodobnie jednak ten wyświetlacz nie zmieści się na szerokość wraz z gniazdami, potencjometrem i enkoderem. Jak dla mnie szkoda, choć może jeszcze coś da się zakombinować  .
Łukasz, Warszawa - FT991, TRX Brass (w budowie), Joker SDR (w głowie) i trochę chińszczyzny dla smaku.
Liczba postów: 1,317
Liczba wątków: 74
Dołączył: 28-06-2009
Popatrz Łukasz ile czasu byś zyskał gdyby kod był zamknięty. A tak korci eksperymentowanie bo wiadomo "gdzie paluchy wetknąć". A tak na poważnie, ja też mam sporo przemyśleń w trakcie uruchamiania radia i już wiem, że nie będę nic zmieniał. Polubiłem je takim jakim jest, świadom pewnych ograniczeń i uproszczeń. Ale tak już mamy, że kończąc jedną konstrukcję już się rozglądamy za następną.
Moim zdaniem, wyświetlacz pełni rolę pomocniczą i w tym wypadku głównym ograniczeniem są gabaryty a co za tym idzie, pobór mocy. Radio pobiera przy odbiorze 270mA, dodatkowe 100 zmieniłoby bilans radykalnie. Zatem wniosek nasuwa się sam.
Kibicuję Twoim eksperymentom bo wyjdzie z tego dobra analiza kodu i w razie "W" będzie jak znalazł.
Praktykujący teoretyk
Liczba postów: 1,317
Liczba wątków: 74
Dołączył: 28-06-2009
Pomału kończę odrywając się nieco na rożne testy, które przychodzą mi do głowy ale zbliża się wielki finał i nim zrobię pierwszą łączność postanowiłem "zobaczyć" co tam wychodzi przed drajwerem i oto wynik.
Wydaje się, że nie ma czego się wstydzić, przynajmniej jeśli chodzi o normy FCC, niestety nie znalazłem ile wymagane jest u nas. Pamiętam, że nie powinno przekroczyć 50mW zatem przy założonych 10W na pewno będzie dobrze. Oczywiście bez żadnej korekcji, na 28500. Na niższych zakresach jest znacznie lepiej.
Sygnał telegraficzny też wygląda poprawnie wobec tego nic nie stoi na przeszkodzie by wlutować tranzystory stopnia mocy.
Wiecej szczegółów już po pełnym uruchomieniu radia.
Praktykujący teoretyk
Liczba postów: 337
Liczba wątków: 16
Dołączył: 02-02-2010
(06-07-2026, 5:53)SP9FKP napisał(a): Niestety, resztę z kompletu produkcyjnego rozesłalem tuż po ŁOŚiu zainteresowanym kolegom. Wbrew pozorom koszt zlecenia kompletu 6-cio warstwowej płytki + 2 płytek zamykających jest całkiem przystępny.i nawet emeryt jak ja może sobie pozwolić pod warunkiem że znajdą się chętni na pozostałe. Myślę, że tradycyjnie spółdzielnie koleżeńskie bez problemu udźwigną ten ciężar.
Zrobiłem rozeznanie na Allpcb i koszt 5 kompletów płytek z przesyłką 625zł, czyli 125zł jeden komplet.
73! Zbyszek
|