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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-05-19T22:07:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23751&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-19T22:07:33+01:00</updated>
<published>2021-05-19T22:07:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232442#p232442</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232442#p232442"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232442#p232442"><![CDATA[
No i pięknie - jak rozumiem, nie dość że ci to działa to jeszcze przy okazji rozumiesz wszystko od podszewki - co za co jest odpowiedzialne <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> I o to chodzi!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 maja 2021, o 22:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-19T18:51:33+01:00</updated>
<published>2021-05-19T18:51:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232436#p232436</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232436#p232436"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232436#p232436"><![CDATA[
<a href="https://obrazkiforum.atnel.pl/5517/5ea63ea3621146648bd8bc40e6943645.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/5ea63ea3621146648bd8bc40e6943645.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/5517/710d1d22ddb340059134f2c7f821d0c6.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/710d1d22ddb340059134f2c7f821d0c6.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/5517/e0b2f0d21a3de8d60877d2b078d617df.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/e0b2f0d21a3de8d60877d2b078d617df.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/5517/7a665a0afbca195aa4320d7685b803b8.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/7a665a0afbca195aa4320d7685b803b8.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/5517/ade75c22e6bd7959ffa42297d07b64b9.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/ade75c22e6bd7959ffa42297d07b64b9.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/5517/40603f0877bee5c297674c53a314933f.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/40603f0877bee5c297674c53a314933f.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/5517/db08aa2816f2f0dfd8755ba25e5ec114.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/db08aa2816f2f0dfd8755ba25e5ec114.jpg" alt="Obrazek" /></a><br /><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=5517">xec</a> — 19 maja 2021, o 18:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-06T16:49:47+01:00</updated>
<published>2021-05-06T16:49:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232221#p232221</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232221#p232221"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232221#p232221"><![CDATA[
<img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> no! to ważne że się udało - jak to widać najczęściej sprzętowe problemy zabierają najwięcej czasu <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=54">mirekk36</a> — 6 maja 2021, o 16:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-06T16:40:06+01:00</updated>
<published>2021-05-06T16:40:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232220#p232220</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232220#p232220"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232220#p232220"><![CDATA[
Panie Mirku, zmieniłem pin dla D- i D+ i śmiga.... D+ przywróciłem do poprzedniego i dziala, wygląda jakby D- był uwalony, ale z drugiej strony deskryptor poprawnie się meldował w systemie? <br />Dziwne tym bardziej, że Atmega nówka, wcześniej nie używana... <br /><br />No nic, najważniejsze, że działa... Za to zawracanie gitary podrzucę Panu piw... soczek jak będę kiedyś w okolicy <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=5517">xec</a> — 6 maja 2021, o 16:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-06T14:26:27+01:00</updated>
<published>2021-05-06T14:26:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232219#p232219</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232219#p232219"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232219#p232219"><![CDATA[
Atmega8, skończyły mi się 32, muszę dokupić<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5517">xec</a> — 6 maja 2021, o 14:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-06T00:24:11+01:00</updated>
<published>2021-05-06T00:24:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232217#p232217</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232217#p232217"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232217#p232217"><![CDATA[
No zobacz z tym ID wciąż masz problem - ale pewnie nie przez to ci nie działa - sprawdź jednak to:<br /><br /><br />[syntax=c]if (Timer2 == 0) {<br />                        <br /> <br />                        if (crc == 0) {<br />                                crc = 1;<br />                                if( usbInterruptIsReady()  ) {  // oczekiwanie na możliwość wysłania danych przez USB do hosta<br />                                        raport.id =1;<br />                                        raport.buttons = 1;<br />                                        raport.x = 50;<br />                                        usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />                                        LED1_ON;<br />                                }<br />                        }<br />                        else {<br />                                crc = 0;<br />                                if( usbInterruptIsReady()  ) {  // oczekiwanie na możliwość wysłania danych przez USB do hosta<br />                                        memset(&amp;raport, 0, sizeof(raport));  // &lt;---------- kasujesz wszystko z raportu<br />                                        raport.id =1;  // &lt;-------------- wiec trzeba odtworzyć ID<br />                                        usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />                                        LED1_OFF;<br />                                }<br /> <br />                        }<br />                        Timer2=500;<br />                }[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Na jakim procku to testujesz ? Jakbyś testował na m32 i na przerwaniu INT1 - tak jak mam na zestawie ATB to byś mógł podesłać mi swój kod to bym go sprawdził wtedy czy śmiga<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 maja 2021, o 00:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-05T22:47:47+01:00</updated>
<published>2021-05-05T22:47:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232216#p232216</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232216#p232216"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232216#p232216"><![CDATA[
Użyłem deskryptora podanego przez Pana, tego z ID:<br /><br />[syntax=c]const PROGMEM char usbHidReportDescriptor&#91; USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH &#93; = {<br />/***************** DESKRYPTOR GAMEPAD - osie X i Y, oraz 8 przycisków *******************************/<br />                                0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)<br />                                0x09, 0x05,                    // USAGE (Game Pad)<br />                                0xa1, 0x01,                    // COLLECTION (Application)<br />                                0xa1, 0x00,                    //   COLLECTION (Physical)<br /><br />                                0x85, 0x01,<br /><br />                                // X &amp; Y - 2x8 = 16 bits<br />                                0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)<br />                                0x09, 0x30,                    //     USAGE (X)<br />                                0x09, 0x31,                    //     USAGE (Y)<br />                                0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)<br />                                0x25, 0x7f,                    //     LOGICAL_MAXIMUM (127)<br />                                0x75, 0x08,                    //     REPORT_SIZE (8)<br />                                0x95, 0x02,                    //     REPORT_COUNT (2)<br />                                0x81, 0x02,                    //     INPUT (Data,Var,Abs)<br /><br />                                // Buttons - 8 bits<br />                                0x05, 0x09,                    //     USAGE_PAGE (Button)<br />                                0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)<br />                                0x29, 0x08,                    //     USAGE_MAXIMUM (Button 8)<br />                                0x15, 0x00,                    //     LOGICAL_MINIMUM (0)<br />                                0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)<br />                                0x75, 0x01,                    //     REPORT_SIZE (1)<br />                                0x95, 0x08,                    //     REPORT_COUNT (8)<br />                                0x81, 0x02,                    //     INPUT (Data,Var,Abs)<br />                                0xc0,                          //     END_COLLECTION<br />                                0xc0                          // END_COLLECTION<br />};<br /><br />typedef struct {<br />uint8_t id;<br />int8_t x;<br />int8_t y;<br />uint8_t buttons;<br />}TRAPORT;<br /><br />TRAPORT raport;[/syntax]<br /><br />a później próbuję wysłać ten raport w taki właśnie sposób:<br />[syntax=c]if (Timer2 == 0) {<br />raport.id =1;<br /><br />if (crc == 0) {<br />crc = 1;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />raport.buttons = 1;<br />raport.x = 50;<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />LED1_ON;<br />}<br />}<br />else {<br />crc = 0;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />memset(&amp;raport, 0, sizeof(raport));<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />LED1_OFF;<br />}<br /><br />}<br />Timer2=500;<br />}[/syntax]<br /><br />Gdzieś jakąś gafę strzeliłem - pewnie jakas pierdoła, ... Jak zaczynałem czytać OB to nie miałem bladego pojęcia o HID, teraz coś pomieszałem niby (mój deskryptor u Pana zadziałał <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />) w kodzie, nie działa, jak nie zatrybi to cofnę się w książcę do początku o deskryptorach i czytając jeszcze raz z większym już zrozumieniem będę starał się znaleźć gdzie leży problem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5517">xec</a> — 5 maja 2021, o 22:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-05T21:44:59+01:00</updated>
<published>2021-05-05T21:44:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232214#p232214</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232214#p232214"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232214#p232214"><![CDATA[
<div class="quotetitle">xec napisał(a):</div><div class="quotecontent"><br />zaremowałem tylko konfigurację timera i int<br /></div><br />a jakiego timera? gdzie ty w pliku vusbconfig.h widzisz wpis odnośnie konfiguracji timera ?<br /><br />Tak jak się zaremuje na dole te wpisy od przerwań to domyślnie biblioteka użyje INT0<br /><br />Twoja funkcja usbFunctionSetup() wygląda OK<br /><br /><div class="quotetitle">xec napisał(a):</div><div class="quotecontent"><br />Mimo iż w konfigu V-USB zaznaczamy, że nie będziemy korzystać z funkcji usbFunctionRead() i usbFunctionWrite()?<br /></div><br />Tak jak napisałem w Orangebooku - pewnie pominąłeś to albo umknęło więc przypomnę - TA funkcja ZAWSZE musi być - ona odpowiada za Control Pipe0 - to za jej pomocą przepływają w ogóle deskryptory też przy starcie urządzenia itp itd - ona pełni jeszcze inne funkcje - no ale to raczej do poczytania dokładniejszego zapraszam OB<br /><br /><div class="quotetitle">xec napisał(a):</div><div class="quotecontent"><br />I jeszcze tylko czy cała operacja przysyłania raportu może sprowadzać się do poniższego kodu?:<br /></div><br /><br /><div class="quotetitle">xec napisał(a):</div><div class="quotecontent"><br />                                        raport.buttons = 1;<br />                                        raport.x = 50;<br /></div><br />A co to jest ? Wiesz pokazujesz fragmenty kodu a reszty trzeba się domyślać - więc nie wiadomo co poradzić, a prawdopodobnie zrobiłeś jakiś dziwny raport i to za duży, na pewno dodałeś ID do raportu no ale w sposób niestety zły próbujesz wysyłać i kończyć wciśnięcie - popatrz, że na przykłady wysłania  wciśnięcia i zwolnienia - jakie ci wyżej podałem i jak powinien wyglądać zarówno raport jaki deskryptor przy użyciu ID<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 maja 2021, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-05T18:01:58+01:00</updated>
<published>2021-05-05T18:01:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232207#p232207</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232207#p232207"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232207#p232207"><![CDATA[
Nadal mi coś nie śmiga, skopiowałem już i deskryptor i config v-usb zaremowałem tylko konfigurację timera i int (wtedy domyślnie jest wykorzystywany Timer0 i INT0, zgadza się?)<br /><br />Będę wdzięczy jakby rzucił Pan jednym okiem na funkcje poniżej:<br /><br />[syntax=c]usbMsgLen_t usbFunctionSetup( uchar data&#91;8&#93; ) {<br /><br /><br />   usbRequest_t    *rq = (usbRequest_t *)data;<br /><br />if( rq-&gt;bRequest == USBRQ_HID_GET_REPORT ) {<br />        return USB_NO_MSG;  /* use usbFunctionRead() to obtain data */<br />   }<br />else if( rq-&gt;bRequest == USBRQ_HID_SET_REPORT ) {<br />        return USB_NO_MSG;  /* use usbFunctionWrite() to receive data from host */<br />   }<br /><br /><br />    return 0;<br />}[/syntax] - Czy funkcja usbFunctionSetup tak ma wyglądać? Mimo iż w konfigu V-USB zaznaczamy, że nie będziemy korzystać z funkcji usbFunctionRead() i  usbFunctionWrite()?<br /><br />[syntax=c]#define USB_CFG_IMPLEMENT_FN_WRITE      0<br />/* Set this to 1 if you want usbFunctionWrite() to be called for control-out<br /> * transfers. Set it to 0 if you don't need it and want to save a couple of<br /> * bytes.<br /> */<br />#define USB_CFG_IMPLEMENT_FN_READ       0[/syntax]<br /><br /><br />I jeszcze tylko czy cała operacja przysyłania raportu może sprowadzać się do poniższego kodu?:<br />[syntax=c]if (Timer2 == 0) {<br />raport.id =1;<br /><br />if (crc == 0) {<br />crc = 1;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />raport.buttons = 1;<br />raport.x = 50;<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />LED1_ON;<br />}<br />}<br />else {<br />crc = 0;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />memset(&amp;raport, 0, sizeof(raport));<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />LED1_OFF;<br />}<br /><br />}<br />Timer2=500;<br />}[/syntax]<br /><br />P.S. Timer2 jest to programowy timer sterowany przez sprzętowy Timer2 - on działa prawidłowo (jak wstawie w nim LED_TOG to miga;))<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5517">xec</a> — 5 maja 2021, o 18:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-03T15:00:03+01:00</updated>
<published>2021-05-03T15:00:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232190#p232190</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232190#p232190"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232190#p232190"><![CDATA[
he - z ciekawości przetestowałem właśnie nawet ten twój deskryptor i śmiga aż miło <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />nagrałem mini wideo z działania do GIF'a <br /><br /><img src="https://obrazkiforum.atnel.pl/54/3288b5db5c7a7f395b53ebd30f7378f2.gif" alt="Obrazek" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br />wiesz co? spróbuj dodać jeszcze nr ID dla deskryptora tak jak u mnie to jest<br /><br />[syntax=c]#define GAMEPAD_ID       1<br /><br /><br /><br />            0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)<br />            0x09, 0x05,                    // USAGE (Game Pad)<br />            0xa1, 0x01,                    // COLLECTION (Application)<br /><br />0x85, GAMEPAD_ID,<br /><br />            0x05, 0x09,                    //   USAGE_PAGE (Button)<br />            0x95, 0x03,                    //   REPORT_COUNT (3)<br />            0x75, 0x01,                    //   REPORT_SIZE (1)<br />            0x19, 0x01,                    //   USAGE_MINIMUM (Button 1)<br />            0x29, 0x03,                    //   USAGE_MAXIMUM (Button 3)<br />            0x15, 0x00,                    //   LOGICAL_MINIMUM (0)<br />            0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)<br />            0x81, 0x02,                    //   INPUT (Data,Var,Abs)<br />            0x95, 0x05,                    //   REPORT_COUNT (5)<br />            0x75, 0x01,                    //   REPORT_SIZE (1)<br />            0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)<br />            0xc0                           // END_COLLECTION[/syntax]<br /><br />i oczywiście w raporcie musi być:<br /><br />[syntax=c]typedef struct {<br />uint8_t id;<br />    uint8_t buttons;<br />} TGAMEPAD;[/syntax]<br /><br />a co za tym idzie wysłanie wciśnięcia i puszczenia też musi to uwzględniać<br /><br />[syntax=c]if( usbInterruptIsReady()  ) {<br />gamepad.buttons = 1;<br />gamepad.id = GAMEPAD_ID;<br />usbSetInterrupt( (void *)&amp;gamepad, sizeof(gamepad) );<br />}[/syntax]<br /><br /><br />i zwolnienie:<br /><br />[syntax=c]if( usbInterruptIsReady()  ) {<br />memset( &amp;gamepad, 0, sizeof(gamepad) );<br />gamepad.id = GAMEPAD_ID;<br />usbSetInterrupt( (void *)&amp;gamepad, sizeof(gamepad) );<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 16 minutach ]</span></strong><br /><br />O! a tu masz pełnego gamepada - podaję ci pełny deskryptor bo w tym poprzednim co podałem był błąd - i przez to złą ilość przycisków pokazywał <br /><br /><img src="https://obrazkiforum.atnel.pl/54/38024ed21c21aba70364bf76850101a1.gif" alt="Obrazek" /><br /><br /><br />[syntax=c]/***************** DESKRYPTOR GAMEPAD - osie X i Y, oraz 8 przycisków *******************************/<br />0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)<br />0x09, 0x05,                    // USAGE (Game Pad)<br />0xa1, 0x01,                    // COLLECTION (Application)<br />0xa1, 0x00,                    //   COLLECTION (Physical)<br /><br />0x85, GAMEPAD_ID,<br /><br />// X &amp; Y - 2x8 = 16 bits<br />0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)<br />0x09, 0x30,                    //     USAGE (X)<br />0x09, 0x31,                    //     USAGE (Y)<br />0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)<br />0x25, 0x7f,                    //     LOGICAL_MAXIMUM (127)<br />0x75, 0x08,                    //     REPORT_SIZE (8)<br />0x95, 0x02,                    //     REPORT_COUNT (2)<br />0x81, 0x02,                    //     INPUT (Data,Var,Abs)<br /><br />// Buttons - 8 bits<br />0x05, 0x09,                    //     USAGE_PAGE (Button)<br />0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)<br />0x29, 0x08,                    //     USAGE_MAXIMUM (Button 8)<br />0x15, 0x00,                    //     LOGICAL_MINIMUM (0)<br />0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)<br />0x75, 0x01,                    //     REPORT_SIZE (1)<br />0x95, 0x08,                    //     REPORT_COUNT (8)<br />0x81, 0x02,                    //     INPUT (Data,Var,Abs)<br />0xc0,                          //     END_COLLECTION<br />0xc0,                          // END_COLLECTION[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 maja 2021, o 15:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-03T14:37:05+01:00</updated>
<published>2021-05-03T14:37:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232189#p232189</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232189#p232189"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232189#p232189"><![CDATA[
Windows 10<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5517">xec</a> — 3 maja 2021, o 14:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-03T14:28:24+01:00</updated>
<published>2021-05-03T14:28:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232188#p232188</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232188#p232188"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232188#p232188"><![CDATA[
<div class="quotetitle">xec napisał(a):</div><div class="quotecontent"><br />Ok, wyciągnę atmegę 32 i krok pok kroku zrobię Hello World z książki<br /></div><br />No właśnie, żeby sprawdzić czy ci wysyła w ogóle dane przez V-USB do PC'ta. Czy dobra konfiguracja itp<br /><br />Przy okazji - jaki windows używasz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 maja 2021, o 14:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-03T12:55:55+01:00</updated>
<published>2021-05-03T12:55:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232187#p232187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232187#p232187"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232187#p232187"><![CDATA[
Już po napisaniu posta probowałem umieścić przycisk w COLLECTION (Physical), nie pomogło, podobnie jak skopiowanie przesłanego przez Pana deskryptora. <br />Urządzenie poprawnie wykrywane jest w menadżerze urządzeń i MkAvrCalculator także... <br /><br />Ok, wyciągnę atmegę 32 i krok pok kroku zrobię Hello World z książki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5517">xec</a> — 3 maja 2021, o 12:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-03T09:43:51+01:00</updated>
<published>2021-05-03T09:43:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232186#p232186</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232186#p232186"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232186#p232186"><![CDATA[
A no to teraz rozumiem - tylko, że to oznacza, jakby rzeczywiście nic nie wysyłało - ale hmm problem może leżeć jednak w samym deskryptorze - czego też nie mam teraz jak sprawdzić ... ale jak tylko znajdę czas to spróbuję.<br /><br />Rozumiem, że w menedżerze urządzeń ładnie się wykrywa i jest bez żadnych znaków zapytania, wykrzykników, bez problemów tak? <br /><br />Czy widać je na liście urządzeń którą można odpalić z zakładki &quot;Narzędzia&quot; MkAvrCalculatora ? (przycisk Check USB devices)<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 13 minutach ]</span></strong><br /><br />w twoim deskryptorze brakuje chyba sekcji Physical - spróbuj może tego deskryptora (ale jeszcze go nie sprawdzałem) i daj znać<br /><br />[syntax=c]0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)<br />    0x09, 0x05,                    // USAGE (Game Pad)<br />    0xa1, 0x01,                    // COLLECTION (Application)<br />    0xa1, 0x00,                    //   COLLECTION (Physical)<br /><br />    // X &amp; Y - 2x8 = 16 bits<br />    0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)<br />    0x09, 0x30,                    //     USAGE (X)<br />    0x09, 0x31,                    //     USAGE (Y)<br />    0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)<br />    0x25, 0x7f,                    //     LOGICAL_MAXIMUM (127)<br />    0x75, 0x08,                    //     REPORT_SIZE (8)<br />    0x95, 0x02,                    //     REPORT_COUNT (2)<br />    0x81, 0x02,                    //     INPUT (Data,Var,Abs)<br /><br />    // Buttons - 8 bits<br />    0x05, 0x09,                    //     USAGE_PAGE (Button)<br />    0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)<br />    0x29, 0x08,                    //     USAGE_MAXIMUM (Button 8)<br />    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)<br />    0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)<br />    0x75, 0x08,                    //     REPORT_SIZE (8)<br />    0x95, 0x01,                    //     REPORT_COUNT (1)<br />    0x81, 0x02,                    //     INPUT (Data,Var,Abs)<br />    0xc0,                          //     END_COLLECTION<br />    0xc0                           // END_COLLECTION[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 maja 2021, o 09:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-02T21:32:58+01:00</updated>
<published>2021-05-02T21:32:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232184#p232184</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232184#p232184"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232184#p232184"><![CDATA[
[syntax=c]if (Timer2 == 0) {<br /><br /><br />if (crc == 0) {<br />crc = 1;<br />raport.buttons = 1;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />                                        LED1_ON;<br />}<br />}<br />else {<br />crc = 0;<br />raport.buttons =0;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />                                        LED1_OFF;<br />}<br /><br />}<br />Timer2=500;<br />}[/syntax]<br /><br />Mialo to działać tak, że cyklicznie co jakiś krótki czas (programowy Timer1) symulowane jest wciśnięcie przycisku button raport.buttons = 1; a przy kolejnej wizycie w Timer1 program ma zwolnić przycisk raport.buttons = 0;... Jako debuger w warunku if( usbInterruptIsReady() wstawiłem diodę LED, która ma się zaświecić gdy przycisk jest wciśnięty, a zgasić gdy zwolniony. Gdy podłączę zasilanie, diodka po chwili zasygnalizuje mi spełnienie warunku if( usbInterruptIsReady() ) i zasymulowane wciśniecie przycisku a po chwili zgaśnie sygnalizując kolejne wejście Timer1,  spełnienie warunku  if( usbInterruptIsReady() ) i zasymulowanie zwolnienia przycisku. Akcja powinna być ponawiana w kółko, lecz nie jest, wygląda jakby warunek if( usbInterruptIsReady() ) był spełniony tylko raz i więcej już nie... Chodzi tylko o takie szybkie rzucenie okiem, może (na pewno) coś zrobilem nie tak a chciałem na szybko sprawdzić czy taki prosty gamepad zdami egzamin przy pewnym programie... Zadanie Hello World z książki i tak wykonam, tylko chwilowo krucho z czasem <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=5517">xec</a> — 2 maja 2021, o 21:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-02T19:09:27+01:00</updated>
<published>2021-05-02T19:09:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232182#p232182</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232182#p232182"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232182#p232182"><![CDATA[
<div class="quotetitle">xec napisał(a):</div><div class="quotecontent"><br />później się nic nie dzieje<br /></div><br />Niestety to są słabe opisy problemu i ciężko cokolwiek odpowiedzieć ...<br /><br />Opisz dokładniej<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 2 maja 2021, o 19:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-02T14:20:19+01:00</updated>
<published>2021-05-02T14:20:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232180#p232180</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232180#p232180"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232180#p232180"><![CDATA[
Postanowiłem skupić się na gamepadzie z tego względu, że można na żywo w systemie widzieć wciskane klawisze. System wykrywa poprawnie urządzenie jak i zdefiniowane klawisze.<br />Chcialem od najprostrzej podstawy zacząć, bez zaprzęgania dodatkowych bibliotek, bez elementu Output itd.<br /><br /><a href="https://obrazkiforum.atnel.pl/5517/85a1586415e8664047657b8a312ef66f.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/5517/85a1586415e8664047657b8a312ef66f.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5517">xec</a> — 2 maja 2021, o 14:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-05-02T14:11:30+01:00</updated>
<published>2021-05-02T14:11:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232179#p232179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232179#p232179"/>
<title type="html"><![CDATA[Re: Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232179#p232179"><![CDATA[
Może najpierw powiedz czy odpaliłeś dla sprawdzenia i przekonania się, że jest wszystko ok najprostszy przykład z książki? ten pierwszy jest najprostszy chyba.<br /><br />Po drugie na podstawie czego zbudowałeś swój gamepadowy deskryptor ?<br /><br />Jak to w ogóle próbujesz sprawdzać w kompie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 2 maja 2021, o 14:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xec]]></name></author>
<updated>2021-05-02T13:17:17+01:00</updated>
<published>2021-05-02T13:17:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232178#p232178</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232178#p232178"/>
<title type="html"><![CDATA[Początki z Orange Bookiem i V-USB HID ale coś nie trymi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23751&amp;p=232178#p232178"><![CDATA[
Witam. Probuję okiełznać V-USB ale od samego startu coś mi nie trybi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Już uprościłem mój projekt do minimum aby od pierwszych kroków poznawać zasadę działania...<br />Naklepałem jakiś mini deskryptor, który ma działać jako GamePad tylko z 3 przyciskami. W timerze &quot;przyciskam&quot; i &quot;zwalniam&quot; cyklicznie jeden przycisk, a dla oka dołozyłem diodę LED która ma sie zapalić jak przycisk wciśniety i zgasić jak przycisk zwolniony... Jak podłączę zasilanie, widzę po ledzie, że coś tam probowano wysłać, później się nic nie dzieje. Druga dioda miga na drugim Timerze programowym w celu wizualizowania działania kodu.<br /><br />Poniżej wklejam kod, będę bardzo wdzięczy za wskazanie mi miejsca błedu...<br /><br />[syntax=c]/*<br /> * xec_Joy_test_main.c<br /> *<br /> *  Created on: 26 kwi 2021<br /> *      Author: xec<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/wdt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />#include &quot;usbdrv/usbdrv.h&quot;<br /><br />//Led makra:<br />#define LED1 (1&lt;&lt;PC0)<br />#define LED1_ONPORTC &amp;= ~LED1<br />#define LED1_OFFPORTC |= LED1<br />#define LED1_TOGPORTC ^= LED1<br /><br />#define LED2 (1&lt;&lt;PC3)<br />#define LED2_ONPORTC &amp;= ~LED2<br />#define LED2_OFFPORTC |= LED2<br />#define LED2_TOGPORTC ^= LED2<br /><br />//KEYS makra:<br />#define KEY1_PIN (1&lt;&lt;PC2)<br />#define KEY2_PIN (1&lt;&lt;PC4)<br />#define KEY3_PIN (1&lt;&lt;PC5)<br /><br />#define KEY1 !(PINC &amp; (1&lt;&lt;PC2))<br />#define KEY2 !(PINC &amp; (1&lt;&lt;PC4))<br />#define KEY3 !(PINC &amp; (1&lt;&lt;PC5))<br /><br /><br />const PROGMEM char usbHidReportDescriptor&#91; USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH &#93; = {<br />    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)<br />    0x09, 0x05,                    // USAGE (Game Pad)<br />    0xa1, 0x01,                    // COLLECTION (Application)<br />    0x05, 0x09,                    //   USAGE_PAGE (Button)<br />    0x95, 0x03,                    //   REPORT_COUNT (3)<br />    0x75, 0x01,                    //   REPORT_SIZE (1)<br />    0x19, 0x01,                    //   USAGE_MINIMUM (Button 1)<br />    0x29, 0x03,                    //   USAGE_MAXIMUM (Button 3)<br />    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)<br />    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)<br />    0x81, 0x02,                    //   INPUT (Data,Var,Abs)<br />    0x95, 0x05,                    //   REPORT_COUNT (5)<br />    0x75, 0x01,                    //   REPORT_SIZE (1)<br />    0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)<br />    0xc0                           // END_COLLECTION<br />};<br /><br />typedef struct {<br />uint8_t buttons;<br />}TRAPORT;<br /><br />TRAPORT raport;<br />uint16_t crc;<br /><br />//Zmienne timerow programowych:<br />volatile uint16_t Timer1;<br />volatile uint16_t Timer2;<br /><br />usbMsgLen_t usbFunctionSetup( uchar data&#91;8&#93; ) {<br /><br /><br />    usbRequest_t    *rq = (usbRequest_t *)data;<br /><br />if( rq-&gt;bRequest == USBRQ_HID_GET_REPORT ) {<br /><br /><br />        return USB_NO_MSG;  /* use usbFunctionRead() to obtain data */<br />    }<br />else if( rq-&gt;bRequest == USBRQ_HID_SET_REPORT ) {<br /><br />        return USB_NO_MSG;  /* use usbFunctionWrite() to receive data from host */<br />    }<br /><br /><br />    return 0;<br />}<br /><br />int main( void ) {<br />sei();<br /><br />DDRC |= LED1 | LED2; //piny led jako wyjscia<br />LED1_OFF; LED2_OFF; //ledy zgasic<br /><br />DDRC &amp;= ~KEY1_PIN;<br />DDRC &amp;= ~KEY2_PIN;<br />DDRC &amp;= ~KEY3_PIN; //Kierunek pinow z keys wyjsciowy<br />PORTC |= KEY1_PIN | KEY2_PIN | KEY3_PIN; //Piny key podciagniete do vcc<br /><br /><br />/* Inicjalizacja USB **************************************************/<br />usbInit(); //Inicjalizacja V-USB<br />    usbDeviceDisconnect(); // enforce re-enumeration<br />    for( uint8_t i = 0; i&lt;250; i++ ) { // wait 500 ms<br />        _delay_ms(2);<br />    }<br />    usbDeviceConnect();<br />/*********************************************************************/<br /><br />/****** TIMER 2: ************************/<br /><br />// do napędu timerów programowych<br />TCCR2 = (1&lt;&lt;WGM21);<br />TCCR2 |= (1&lt;&lt;CS22)|(1&lt;&lt;CS20);<br />TIMSK |= (1&lt;&lt;OCIE2);<br />OCR2 = 100;<br /><br />/****************************************/<br /><br />while(1) {<br />usbPoll(); //zdarzenie do obslugi USB<br /><br />if (Timer1 == 0) {<br />LED2_TOG;<br />Timer1=200;<br />if (KEY1) { LED1_ON; }<br />else { LED1_OFF; }<br /><br />}<br /><br />if (Timer2 == 0) {<br /><br /><br />if (crc == 0) {<br />crc = 1;<br />raport.buttons = 1;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />LED1_ON;<br />}<br />}<br />else {<br />crc = 0;<br />raport.buttons =0;<br />if( usbInterruptIsReady()  ) {// oczekiwanie na możliwość wysłania danych przez USB do hosta<br />usbSetInterrupt( (void *)&amp;raport, sizeof(raport) );<br />LED1_OFF;<br />}<br /><br />}<br />Timer2=500;<br />}<br /><br /><br /><br />}<br />}<br /><br /><br />ISR( TIMER2_COMP_vect, ISR_NOBLOCK ) {<br /><br />uint16_t n;<br /><br />n = Timer1;<br />if( n ) Timer1 = --n;<br /><br />n = Timer2;<br />if( n ) Timer2 = --n;<br /><br /><br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5517">xec</a> — 2 maja 2021, o 13:17</p><hr />
]]></content>
</entry>
</feed>