<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=20304&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-02-26T20:08:56+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20304&amp;mode</id>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-26T20:08:56+01:00</updated>
<published>2018-02-26T20:08:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204615#p204615</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204615#p204615"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204615#p204615"><![CDATA[
Doikładnie. Bardzo pomocne jak np wyświetlasz jakieś sybko zmieniające się dane typu nie wiem - powiedzmy obroty silnika czy wynik z miernika. Przy wysłaniu np  cyfry 1 o wymiarach 3x7 pikseli, taki właśnie zostanie ustawiony obszar do wysłania danych do wyświetlacza. Nie wysyłasz całego bufora jak było w oled (chociaż tam szło ustawić tzw active page czyli linię 8x64px chyba o ile pamiętam) tylko wysyłasz dosłownie dane kilku pikseli.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 26 lut 2018, o 20:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2018-02-26T18:21:13+01:00</updated>
<published>2018-02-26T18:21:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204608#p204608</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204608#p204608"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204608#p204608"><![CDATA[
<div class="quotetitle">StaryAnoda napisał(a):</div><div class="quotecontent"><br />Panowie, a możecie mi wytłumaczyć w jakim celu i czemu służy funkcja:<br /><br />[syntax=c]tft_ILI9341_setAddrWindow(x, y, a, b);[/syntax]<br /></div><br /><br />Jeśli dobrze pamiętam to definiujesz okno o początku (x,y), szerokości a, wysokości b, które możesz cyklicznie odświeżać.<br />Nie musisz buforować całego ekranu, tylko jego wycinek. Bardzo pożyteczna opcja jeśli chcesz aktualizować wybrany, prostokątny fragment obrazu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 26 lut 2018, o 18:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[StaryAnoda]]></name></author>
<updated>2018-02-26T17:51:14+01:00</updated>
<published>2018-02-26T17:51:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204605#p204605</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204605#p204605"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204605#p204605"><![CDATA[
Panowie, a możecie mi wytłumaczyć w jakim celu i czemu służy funkcja:<br /><br />[syntax=c]tft_ILI9341_setAddrWindow(x, y, a, b);[/syntax]<br /><br />Pozdrawiam<br />StaryAnoda<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12916">StaryAnoda</a> — 26 lut 2018, o 17:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2018-02-25T23:02:38+01:00</updated>
<published>2018-02-25T23:02:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204569#p204569</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204569#p204569"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204569#p204569"><![CDATA[
Hmm tak sobie myślę, że jednak warto pozostać przy __flash i __memx   i powoli przerzucać się na nowe toolchainy i zapomnieć o pgmem_read, które to wydaje się wyjątkowo upierdliwe.<br />Spróbujcie później zrobić przenośny kod np na stm32. Wiadomo da się, ale po co się męczyć.<br /><br />&quot;Użycie makra pgm_read_byte_far() z 32-bitowym wskaźnikiem uint_farptr_t lub wskaźnika z kwalifikatorem __memx gwarantuje prawidłowy odczyt&quot;<br />Skoro użyłeś __memx to nie potrzebujesz już żadnego makra &quot;pgm&quot;. Kwalifikator ten rozszerza wskaźnik do 24 bitów i mamy jedną przestrzeń adresową zdolną do adresacji 16MB pamięci, a do odczytu wystarczy zwykłe przypisanie.<br /><br />Oczywiście trzeba pamiętać o &quot;const&quot;. Jeśli dojdzie do migracji na stm32 to wystarczy usnąć __memx. Inaczej można jeszcze zdefiniować jakiś nowy typ, a później tylko w jednym miejscu modyfikować w zależności od MCU.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 25 lut 2018, o 23:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-02-25T21:00:27+01:00</updated>
<published>2018-02-25T21:00:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204557#p204557</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204557#p204557"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204557#p204557"><![CDATA[
<div class="quotetitle">skalarro napisał(a):</div><div class="quotecontent"><br />Drugi sposób zasypał mi eklipsa warningami<br /></div><br />Kolega <strong><em>anshar</em></strong> znalazł na to rozwiązanie: <a href="http://forum.atnel.pl/topic15543.html#p162317"  class="postlink">http://forum.atnel.pl/topic15543.html#p162317</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 25 lut 2018, o 21:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-25T20:40:17+01:00</updated>
<published>2018-02-25T20:40:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204555#p204555</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204555#p204555"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204555#p204555"><![CDATA[
Albo robie jakiegoś piko-babolka albo ja już nie wiem. Drugi sposób zasypał mi eklipsa warningami ale efekt taki sam jak powyzej.<br /><br />------------------<br />ok, babol znaleziony. <br />zmiana z:<br />tft_ILI9341_write8(pgm_read_byte( &amp;glyph[ idx++ ] ));<br /><br />na:<br />tft_ILI9341_write8(pgm_read_byte_far( glyph++ ));<br /><br />spowodowała, że pętla zależna od idx  się nie kończyłą nigdy. Pomogło  dodanie idx++;<br /><br /><span style="color: #4040FF">Dzięki andrews, mega mi pomogłeś</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 25 lut 2018, o 20:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-02-25T20:34:22+01:00</updated>
<published>2018-02-25T20:34:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204554#p204554</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204554#p204554"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204554#p204554"><![CDATA[
Obydwa kody powinny działać, tak jak napisałem.<br />Użycie makra <strong><em>pgm_read_byte_far()</em></strong> z 32-bitowym wskaźnikiem <strong><em>uint_farptr_t</em></strong> lub wskaźnika z kwalifikatorem <strong><em>__memx</em></strong> gwarantuje prawidłowy odczyt z dowolnego miejsca pamięci FLASH<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 25 lut 2018, o 20:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-25T20:20:16+01:00</updated>
<published>2018-02-25T20:20:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204551#p204551</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204551#p204551"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204551#p204551"><![CDATA[
Zrobione, niestety efekt nieciekawy.  Najlepiej pokaze to filnik. Funkcja wywołana tylko raz...<br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br /><br />zaraz zobaczę z flash, muszę kontrolować czy to bedzie flash1,2,3 czy juz mnie to nie musi obchodzic?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 25 lut 2018, o 20:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-02-26T06:24:16+01:00</updated>
<published>2018-02-25T19:45:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204549#p204549</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204549#p204549"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204549#p204549"><![CDATA[
[syntax=c]// to możesz zostawić<br />uint8_t const zasieg72&#91;&#93; PROGMEM = {};<br /><br />void tft_bitmap( int x, int y,  uint_farptr_t glyph, int width, int height  ) {<br />    <br />    uint16_t idx=0;<br />    <br />    tft_ILI9341_setAddrWindow(x, y, x+width-1, y+height-1);<br />    <br />    CS_ACTIVE<br />    RS_COMMAND<br />    tft_ILI9341_write8(ILI9341_MEMORYWRITE);<br />    RS_DATA<br />    <br />    while( idx++ &lt; (width*height) ) {<br />        <br />        tft_ILI9341_write8(pgm_read_byte_far( glyph++ ));<br />        <br />        tft_ILI9341_write8(pgm_read_byte_far( glyph++ ));<br />        <br />    }<br />    <br />}<br /><br />// wywołanie funkcji<br />tft_bitmap( 10, 10, pgm_get_far_address(zasieg72&#91;0&#93;), 72, 72 );[/syntax]<br /><br />Nie mam możliwości przetestowania, ale powinno działać.<br /><br />EDIT: Jeśli chciałbyś przejść na __flash:<br />[syntax=c]//<br />const __flash uint8_t zasieg72&#91;&#93; = {};<br />// lub<br />const __memx uint8_t zasieg72&#91;&#93; = {};<br /><br />void tft_bitmap( int x, int y,  const __memx uint8_t * glyph, int width, int height  ) {<br />    <br />    uint16_t idx=0;<br />    <br />    tft_ILI9341_setAddrWindow(x, y, x+width-1, y+height-1);<br />    <br />    CS_ACTIVE<br />    RS_COMMAND<br />    tft_ILI9341_write8(ILI9341_MEMORYWRITE);<br />    RS_DATA<br />    <br />    while( idx++ &lt; (width*height) ) {<br />        <br />        tft_ILI9341_write8( *( glyph++ ));<br />        <br />        tft_ILI9341_write8( *( glyph++ ));<br />        <br />    }<br />    <br />}<br /><br />// wywołanie funkcji<br />tft_bitmap( 10, 10, zasieg72, 72, 72 );[/syntax]<br />EDIT: Poprawiłem kod adekwatnie do tego, co słusznie zauważył kolega <strong><em>skalarro</em></strong> (3 posty niżej). Tak bardzo skoncentrowałem się na modyfikacji kodu pod kątem odczytu z FLASH, że nie pomyślałem o konieczności modyfikacji warunku pętli <strong><em>while</em></strong>. Tak jak teraz powinno być OK <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 25 lut 2018, o 19:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-25T19:41:52+01:00</updated>
<published>2018-02-25T19:41:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204548#p204548</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204548#p204548"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204548#p204548"><![CDATA[
No tego właśnie wszystkiego co tak pięknie opisałeś:<br />Po kolei, ładuję grafiki ale nie wiem która leci powyżej FFFF, wiem już, że zapisują się od początku czyli część się zmieści część nie. Mogę wszystkie zmusić żeby były powyżej FFFF? jeżeli tak to jak? Zamiast:  <br />[syntax=c]uint8_t const zasieg72&#91;&#93; PROGMEM = robię const __flash1 uint8_t zasieg72&#91;&#93; =[/syntax]<br />ale chyba to nie tak co?<br /><br />obrazek wyswietlam za pomocą <br />[syntax=c]tft_bitmap(240,60,zasieg72,72,72);[/syntax] a w funkcji mam<br />[syntax=c]tft_ILI9341_write8(pgm_read_byte( &amp;glyph&#91; idx++ &#93; ));[/syntax]<br /><br />napiszesz mi gokłądnie co i jak zmienić?? siedzę nad tym już z 8 godzin, przeczytałem pół internetu i wszystko się miesza<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 25 lut 2018, o 19:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-02-25T19:27:42+01:00</updated>
<published>2018-02-25T19:27:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204547#p204547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204547#p204547"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204547#p204547"><![CDATA[
Czego konkretnie nie rozumiesz?<br /><br />Jeśli Twoje grafiki lądują w pamięci FLASH powyżej adresu 65535, musisz użyć funkcji <strong><em>pgm_read_byte far()</em></strong> zamiast  <strong><em>pgm_read_byte()</em></strong> oraz wskaźnika <strong><em>uint_farptr_t</em></strong> zamiast <strong><em>uint8_t</em></strong>.<br />Adres pobierasz nie za pomocą operatora <strong><em>&amp;</em></strong>, tylko za pomocą funkcji <strong><em>pgm_get_far_address()</em></strong>.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 25 lut 2018, o 19:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-25T18:36:35+01:00</updated>
<published>2018-02-25T18:36:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204544#p204544</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204544#p204544"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204544#p204544"><![CDATA[
No dobra, wywaliłem wszytko, zostawiłem tylko wyświetlanie grafiki i... Tadaaammm.... Działa.<br />Potem stopniowo zacząłem zapychać procesor fontami i grafikami aż zaczęło się sypać. I  chyba mam. <br />Właśnie się przekopuję przez <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic19149.html" >topic19149.html</a><!-- l --> czyli AVR-GCC - dane w pamięci FLASH - poradnik napisany przez kolegę andrews.<br /><br />Tyle, że to czarna magia jest...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 25 lut 2018, o 18:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-25T16:22:18+01:00</updated>
<published>2018-02-25T16:22:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204540#p204540</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204540#p204540"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204540#p204540"><![CDATA[
<div class="quotetitle">Zealota napisał(a):</div><div class="quotecontent"><br />takich sytuacjach częstym błędem jaki popełniam to zbyt &quot;wąskie&quot; typy danych<br /></div><br />To nie to, przejrzałem już dziesiątki razy każdą linijkę kodu, każdą funkcję od bitmapy aż po rysowanie pojedynczego pikselka.<br /><br />Jejynym miejscem o którym piszesz jest[syntax=c]while( idx &lt; (width*height*2) )[/syntax] ale tu index jest uint16 co nam daje możliwości aż do 180*180 lub 128*256 pikseli<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 25 lut 2018, o 16:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zealota]]></name></author>
<updated>2018-02-25T16:15:00+01:00</updated>
<published>2018-02-25T16:15:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204539#p204539</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204539#p204539"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204539#p204539"><![CDATA[
<div class="quotetitle">skalarro napisał(a):</div><div class="quotecontent"><br />Wszystko śmiga - rysuje linie punkty, okręgi czcionki i obrazki z SD. tylko nie te nieszczęsne obrazki z flasha<br /></div><br />Hmm, w takich sytuacjach częstym błędem jaki popełniam to zbyt &quot;wąskie&quot; typy danych, które przy większych obiektach powodują nieprzewidziane efekty.<br />Posprawdzaj dokładnie, czy czasami gdzieś nie trzeba powiększyć typów z uint8_t na uint16_t.<br />JA często w pętlach daję np takiego babola:<br />[syntax=c]for (uint8_t i=0; i&lt;256; i++) {}[/syntax]<br /><br />i problem gotowy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16487">Zealota</a> — 25 lut 2018, o 16:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-25T15:45:19+01:00</updated>
<published>2018-02-25T15:45:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204537#p204537</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204537#p204537"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204537#p204537"><![CDATA[
Wszystko śmiga - rysuje linie punkty, okręgi czcionki i obrazki z SD. tylko nie te nieszczęsne obrazki z flasha<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 25 lut 2018, o 15:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[StaryAnoda]]></name></author>
<updated>2018-02-25T15:25:33+01:00</updated>
<published>2018-02-25T15:25:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204534#p204534</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204534#p204534"/>
<title type="html"><![CDATA[Re: TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204534#p204534"><![CDATA[
Hej<br /><br />Wiem, że to wiele nie da ale na początek zrobił bym na Twoim miejscu funkcję Draw_Pixel(X,Y,Color);<br />Następnie spróbował wypełnić cały ekran dowolnym kolorem i zobaczył co się stanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12916">StaryAnoda</a> — 25 lut 2018, o 15:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[skalarro]]></name></author>
<updated>2018-02-25T14:40:31+01:00</updated>
<published>2018-02-25T14:40:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204531#p204531</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204531#p204531"/>
<title type="html"><![CDATA[TFT - tft_bitmap -problem i kilka niejasności.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20304&amp;p=204531#p204531"><![CDATA[
Witam, snów Was trochę pomęczę pytaniami ;p<br /><br />Wsego czasu posklejałem sobie fajną biblioteczkę do obsługi ili9341. powstał taki zlepek - trochę z arduino, trochę z GB, coś tam jeszcze z innej biblioteki. Wszystko działało miodnie łącznie z obsługą fontów, oraz rysowaniem obrazków z flasha i microSD.<br /><br />Teraz postanowiłem sobie wrzucić grafili 72*72px do flasha - mam atmege2560 wiec stać mnie - a co - miejsca oszczędzać nie trzeba. <br /><br />I tu ZONK!<br />okazuje się, że to co działało kiedyś teraz nie działa. Grafiki rysują się pięknie do momentu kiedy nie przekraczają rozmiaru koło 30x30pikseli,potem obrazek wygląda jak kupa losowo rozrzuconych pikseli. <br /><br />Funkcja rysująca wygląda tak: i chyba jest ok, bo działa dobrze do wielkości około 30*30px.<br />[syntax=c]void tft_bitmap( int x, int y,  const uint8_t * glyph, int width, int height  ) {<br /><br />uint16_t idx=0;<br /><br />    tft_ILI9341_setAddrWindow(x, y, x+width-1, y+height-1);<br /><br />    CS_ACTIVE<br />RS_COMMAND<br />tft_ILI9341_write8(ILI9341_MEMORYWRITE);<br />    RS_DATA<br /><br />while( idx &lt; (width*height*2) ) {<br /><br />tft_ILI9341_write8(pgm_read_byte( &amp;glyph&#91; idx++ &#93; ));<br /><br />tft_ILI9341_write8(pgm_read_byte( &amp;glyph&#91; idx++ &#93; ));<br /><br />}<br /><br />}[/syntax]<br /><br /><br />[syntax=c]void tft_ILI9341_write8(uint8_t value) {<br /><br />DATA_PORT = value;<br />WR_STROBE<br /><br /><br />}[/syntax]<br /><br /><br /><br /><br />zajętość flasha po kompilacji :<br /><br /><br />Program:   71672 bytes (27.3% Full)<br />(.text + .data + .bootloader)<br /><br />Data:        596 bytes (7.3% Full)<br />(.data + .bss + .noinit)<br /><br />Tak się zastanawiam - płytka to arduino mega2560 więc pewnie miała kiedyś jakiś bootloader. Może to mieć znaczenie - nie wiem - zarezerwowana pamięć, fusebity? cokolwiek?<br /><br />Nie wiem, co mogłem przeoczyć<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4850">skalarro</a> — 25 lut 2018, o 14:40</p><hr />
]]></content>
</entry>
</feed>