To forum używa plików cookies
To forum wykorzystuje pliki cookies do przechowywania informacji o Twoim logowaniu, jeśli jesteś zarejestrowany, oraz informacji o Twojej ostatniej wizycie, jeśli nie jesteś zalogowany. Pliki cookies to niewielkie pliki tekstowe zapisywane na Twoim komputerze; cookies ustawiane przez to forum mogą być używane wyłącznie na tej stronie i nie stanowią zagrożenia dla bezpieczeństwa. Cookies na tym forum śledzą również, które tematy zostały przez Ciebie przeczytane oraz kiedy miało to miejsce. Prosimy o potwierdzenie, czy akceptujesz, czy odrzucasz zapisywanie tych plików cookies.

Niezależnie od wyboru w Twojej przeglądarce zostanie zapisany plik cookie, aby zapobiec ponownemu zadawaniu tego pytania. W każdej chwili będziesz mógł zmienić ustawienia cookies, korzystając z linku w stopce strony.

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
MBTRX by VK7IAN
#14
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.
Cytuj


Wiadomości w tym wątku
MBTRX by VK7IAN - przez SP9FKP - 05-07-2026, 9:20
RE: MBTRX by VK7IAN - przez SP5LU - 05-07-2026, 14:10
RE: MBTRX by VK7IAN - przez SP9FKP - 05-07-2026, 15:09
RE: MBTRX by VK7IAN - przez SP5LU - 06-07-2026, 0:42
RE: MBTRX by VK7IAN - przez SP9FKP - 06-07-2026, 5:53
RE: MBTRX by VK7IAN - przez SP5LU - 06-07-2026, 13:37
RE: MBTRX by VK7IAN - przez SP9FKP - 06-07-2026, 15:39
RE: MBTRX by VK7IAN - przez SP9FKP - 09-07-2026, 7:37
RE: MBTRX by VK7IAN - przez SP5CGI - 09-07-2026, 23:10
RE: MBTRX by VK7IAN - przez SP9FKP - 10-07-2026, 19:06
RE: MBTRX by VK7IAN - przez SP9FKP - 12-07-2026, 20:43
RE: MBTRX by VK7IAN - przez SP5LU - 16-07-2026, 21:10
RE: MBTRX by VK7IAN - przez SP9FKP - 17-07-2026, 5:45
RE: MBTRX by VK7IAN - przez SP5LU - 18-07-2026, 13:47
RE: MBTRX by VK7IAN - przez SP9FKP - 18-07-2026, 16:27
RE: MBTRX by VK7IAN - przez SP5LU - 18-07-2026, 21:56

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości