<?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=50&amp;t=14304&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-01-26T15:50:40+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=50&amp;t=14304&amp;mode</id>
<entry>
<author><name><![CDATA[Pixello]]></name></author>
<updated>2016-01-26T13:48:28+01:00</updated>
<published>2016-01-26T13:48:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151777#p151777</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151777#p151777"/>
<title type="html"><![CDATA[Re: Generator do kodu Cpp w AVR w c# - operacje na UC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151777#p151777"><![CDATA[
Przepraszam, że nie odpisywałem - byłem w szkole. Typ mcu jest definiowany w projekcie na np __atmega16a__, co jest potrzebne do AVR/io.h. Gdzie jest rozmywanie informacj? Do pliku xml się wprowadzi dane procka, na outpucie będzie się pracować, generator będzie przeźroczysty. Programista nie będzie musiał znać c#, wszystko da się w xml zmienić.<br /><br />Generator się użyje tylko raz na każdy typ uc, tylko chodzi o to, by przy dodwaniu nowych funkcji było łatwiej i kod był czytelniejszy. <br />Marku, nie odbieram Twoich opinii jako wymądrzanie się - jestem uczniem technikum, programuje w domu (w szkole króluje asm, więc nihil novi), Feedback jest mi bardzo potrzebny! Dzięki!<br /><br />@Edit - Nie słyszałem o szablonach dających się generować z pliku xml,więc ma taką przewagę. Szablon robi praktycznie to samo w czasie kompilacji co generator, tylko że mam większą kontrolę nad kodem i nad czymś co się będzie wywoływać <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5672">Pixello</a> — 26 sty 2016, o 13:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mastalerz-marek]]></name></author>
<updated>2016-01-26T15:50:40+01:00</updated>
<published>2016-01-26T12:06:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151771#p151771</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151771#p151771"/>
<title type="html"><![CDATA[Re: Generator do kodu Cpp w AVR w c# - operacje na UC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151771#p151771"><![CDATA[
Hm.. Przyznam że dalej nie uzyskałem odpowiedzi, ale może jesteś zajęty. Dość że &quot;rozmywanie informacji&quot; o typie MCU do 2 elementów czyli do biblioteki oraz do generatora, w mojej ocenie jest błędem projektowym. Masz wtedy 2 miejsca z tą samą odpowiedzialnością oraz 2 technologie i 2 języki które powinny być znane programiście/programistce.<br />O ile można to akceptować jeśli chodzi o konfigurację uruchomienia np. dla różnych płyt (bo nie wiadomo jakie elementy i gdzie są podłączone) o tyle obsługa czegoś tak podstawowego jak port, powinna być przeniesiona do biblioteki a nie konfiguratora. Tym bardziej że jeśli przeniesiesz to do konfiguratora, automatycznie tracisz możliwość testowania kodu podstawowego.<br /><br />No ale to forum nie jest od wymądrzania się a Twoim celem może być &quot;przećwiczę to sobie&quot;.. więc na tym skończę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12328">mastalerz-marek</a> — 26 sty 2016, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Pixello]]></name></author>
<updated>2016-01-26T07:19:27+01:00</updated>
<published>2016-01-26T07:19:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151751#p151751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151751#p151751"/>
<title type="html"><![CDATA[Re: Generator do kodu Cpp w AVR w c# - operacje na UC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151751#p151751"><![CDATA[
Nie precyzyjnie sie wyrazilem - wiem, iz nie ma nic co by sie nie dalo zrobis szablonami I makrami w cpp, ale taka sytuacja - procki rozne z roznym rozmieszczeniem nozek ale te same rejestry - w mojej nowej wersji sie zmieni, to prosta zmiana w xml. Zobaczycie jak skoncze release dzis / jutro. Sry za bledy tapam z smartfona.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5672">Pixello</a> — 26 sty 2016, o 07:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mastalerz-marek]]></name></author>
<updated>2016-01-26T00:39:13+01:00</updated>
<published>2016-01-26T00:39:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151744#p151744</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151744#p151744"/>
<title type="html"><![CDATA[Re: Generator do kodu Cpp w AVR w c# - operacje na UC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151744#p151744"><![CDATA[
Napisałeś że: &quot;Mój generator ma szersze możliwości niż templaty&quot; &lt;- Możesz ten temat nieco przybliżyć? Dlaczego generator będzie lepszy niż szablony i co ma Twój generator a nie mają szablony i odwrotnie.<br />Bo to że można użyć bez dodatkowych kosztów C++ do AVR to jestem pewien <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=12328">mastalerz-marek</a> — 26 sty 2016, o 00:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Pixello]]></name></author>
<updated>2016-01-26T00:21:30+01:00</updated>
<published>2016-01-26T00:21:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151743#p151743</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151743#p151743"/>
<title type="html"><![CDATA[Re: Generator do kodu Cpp w AVR w c# - operacje na UC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151743#p151743"><![CDATA[
Na 4programmers.net rozwiałem te wątpliwości - 0 pamięci zapchanej. <!-- m --><a class="postlink" href="http://forum.4programmers.net/C_i_C++/265239-avr_g++_-_wysokopoziomowe_odwolanie_do_pinow?mode=download&amp;id=11598" >http://forum.4programmers.net/C_i_C++/2 ... d&amp;id=11598</a><!-- m --> Wszystko się zwija do inline static z C. Mój generator ma szersze możliwości niż templaty - wyobrażasz sobie pisanie<br /><br />PORTX&lt;PORTA&gt; PortA;<br />Pin_XY&lt;PORTA,1&gt; Pin_A1;?? i tak 128 razy dla uc z 130 nóżkami<br />Generator robi wszystko ładnie <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> <br /><br />Te klasy są generowane generatorem <!-- m --><a class="postlink" href="https://github.com/pixellos/CodeGenerator" >https://github.com/pixellos/CodeGenerator</a><!-- m -->, rozwijam go caly czas - szukam osób, które by też chciały popracować nad takim czymś.<br /><br />W zamyśle będzie jeszcze Pin_B3::Interrupt::Rising();, albo INT2::Rising();<br /><br />W miarę pisania większych projektów wygoda jakość i czytelność mają najważniejszy priorytet.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5672">Pixello</a> — 26 sty 2016, o 00:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marmur]]></name></author>
<updated>2016-01-26T00:14:56+01:00</updated>
<published>2016-01-26T00:14:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151742#p151742</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151742#p151742"/>
<title type="html"><![CDATA[Re: Generator do kodu Cpp w AVR w c# - operacje na UC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151742#p151742"><![CDATA[
Nie wiem czy jest sens, taka/takie klasy to spory i chyba niepotrzebny narzut na flash, względem możliwości zapisania tego jako proste makra preprocesora. <br /><br />O ile, być może komfort użytkowania tego jest większy, o tyle przy procesorach 8bitowych avr z takim podejściem (mówiąc ogólnikowo) szybko sobie zapchasz niepotrzebnie pamięć.<br /><br />Jak już chcesz robić coś podobnego, to raczej polecałbym chociaż bit rejestru przekazywać jako argument, bo tych klas masz w chwili obecnej pierdyliard <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Nie wyobrażam sobie ewentualnych zmian w takich klasach, gdy masz ich z 20.<br /><br />Możesz spróbować zastosować też template'y. Kiedyś widziałem gdzieś fajny kod pod avry, zrobiony właśnie z wykorzystaniem template'ów. Sprytnie załatwiał w ramach jednej klasy taką obsługę portów jaką Ty próbujesz zrobić.<br /><br />Niestety, przy programowaniu procesorów bez systemów operacyjnych musisz wybierać często pomiędzy komfortem i optymalnością danego rozwiązania.<br />Sam zobaczysz, że w miarę większych projektów, komfort pisania będzie miał drugorzędne znacznie <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=10570">marmur</a> — 26 sty 2016, o 00:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Pixello]]></name></author>
<updated>2016-01-25T18:19:20+01:00</updated>
<published>2016-01-25T18:19:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151685#p151685</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151685#p151685"/>
<title type="html"><![CDATA[Generator do kodu Cpp w AVR w c# - operacje na UC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14304&amp;p=151685#p151685"><![CDATA[
Witam,<br /><br />Ostatnio, po kilku miesiącach pisania w c# wzięło mnie na AVR. Wybór padł na c++ (fajne fjuczery), ale przyzwyczajony do programowania obiektowego i czystego kodu zapisy typu DDRA = 0xff; stały się dla mnie nieprzyjazne. <br /><br />&quot;Nie będę pisał cały czas jakiś magicznych rejestrów&quot; pomyślałem. Pogrupuję je, żeby było przejrzyście.<br /><br />Przy okazji - na O3 kompilator sobie wywala wszystko nie potrzebne i zmniejsza kod do 0 - Pin_A3::Set(); to jedna linijka w ASMie po kompilacji.<br /><br />TR;DR;<br />Niżej generatorek, dzięki którym można ustawiać bity, porty, przeźroczyście dla programisty.<br /><a href="https://obrazkiforum.atnel.pl/5672/242759e639ed4b91a2a1218c6ea7293a.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5672/242759e639ed4b91a2a1218c6ea7293a.jpg" alt="Obrazek" /></a><br /><br />A tu przykładowy output i przykład użycia.<br /><a href="https://obrazkiforum.atnel.pl/5672/5fbb31e4c048f1e5244721bbe74934d2.gif"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5672/5fbb31e4c048f1e5244721bbe74934d2.gif" alt="Obrazek" /></a><br /><br />Wygenerowany kod: <!-- m --><a class="postlink" href="http://pastebin.com/xajujBiH" >http://pastebin.com/xajujBiH</a><!-- m --><br /><br />Jak myślicie - ma to sens? Siedzicie w tym dłużej, więc macie większe doświadczenie niż ja.<br />Myślę do rozwinięciem tego programu, by można było prostym plikiem XML zdefiniować mikroprocesor i tworzyć fajne pliki wynikowe obejmującego wszystkie możliwości.<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5672">Pixello</a> — 25 sty 2016, o 18:19</p><hr />
]]></content>
</entry>
</feed>