Skocz do zawartości

Lista małych zmian na Forbocie


Treker

Pomocna odpowiedź

Ta ramka do oceniania jest fajna. Moja sugestia jest taka, żeby zmienić tylko jej kolor. Nie mam nic do czerwono-różowego, ale ten kolor gryzie się z kolorystyką forum. Ale to tylko taki ot. wiem, że ma zwraca na siebie uwagę.

Link do komentarza
Share on other sites

Były już inne formy i się nie sprawdzały. Poczekam tydzień, zobaczę jakie będę efekty, a później będę testował inne wersje.

Link do komentarza
Share on other sites

Teraz tej ramki nie da się przeoczyć. A propos oceniania mam jeszcze taką uwagę. Na liście robotów z kwietnia i maja znajduje się "Manipulator VonVen Mechatroniczny Robot" ale temat o nim oczekuje na akceptację. To pozbawia go szans w konkursie i może przenieść by go na następny miesiąc?

Link do komentarza
Share on other sites

Nie pozbawia, bo głosować można do 15 czerwca, a że autor nie zastosował się do regulaminów to jego strata. Jak poprawi wiadomość to robot zostanie zaakceptowany.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Sam zapominam zawsze ocenić te roboty. Powinna być taka upierdliwa ramka jak reklamy na niektórych stronach, co się przesuwają razem z paskiem i zasłaniają połowę tekstu 😋

Link do komentarza
Share on other sites

Wyłączyłem chwilowo tabelkę z ważnymi tematami dla wszystkich. Jest ona już dość stara i czas pomyśleć o czymś lepszym w tamto miejsce 😉

Link do komentarza
Share on other sites

- zmieniłem sposób prezentowanie się kodu na trochę czytelniejszy, planuję dodać zwijanie zbyt długiego kodu oraz kolorowanie składni(?)

Testowy kod programu.
Link do komentarza
Share on other sites

Zwijanie kodu to dobry pomysł, natomiast kolorowanie składni już niekoniecznie. Moim zdaniem to nieraz bardziej przeszkadza niż pomaga. Ja bym jeszcze dodał spoilery, żeby posty z jakimiś tabelami wyników, skopiowanymi tekstami specyfikacji itp można było tworzyć w bardziej przejrzysty sposób

Link do komentarza
Share on other sites

- zmieniłem sposób wyświetlania kodów, na razie nie ma zwijania, jest tyko pasek przewijania przy dłuższych kodach. jednak jeśli będzie taka potrzeba dodam rozwijanie. Dodatkowo dodałem możliwość zaznaczania całego kodu jednym kliknięciem.

Przykład:

   /*
   Biblioteka pilot.h zawiera:
   -inicjalizacje odpowiednich portów i timera0
   -przerwanie T0OVF
   -zmienne potrzebne do transmisji
   */

   //kolejne stany
   #define IDLE        0
   #define DSTART        1
   #define START1        2
   #define START2        3
   #define SYSTEMLOW    4
   #define SYSTEMHIGH    5
   #define SYSTEMEND    6
   #define PRZERWA        7
   #define    COMMANDLOW    8
   #define COMMANDHIGH    9
   #define KONIEC        10

   //kody przyciskow
   #define BUTTON_0         0b11110000
   #define BUTTON_1         0b01001000
   #define BUTTON_2         0b01101000
   #define BUTTON_3         0b10011000
   #define BUTTON_4         0b00100000
   #define BUTTON_5         0b00110000
   #define BUTTON_6         0b00011010
   #define BUTTON_7         0b01110000
   #define BUTTON_8         0b10010000
   #define BUTTON_9         0b00111000
   #define BUTTON_POWER     0b00011000
   #define BUTTON_MUTE        0b01011000
   #define BUTTON_PROG        0b01100000
   #define BUTTON_AUDIO    0b11101000
   #define BUTTON_SYS        0b01010000
   #define BUTTON_LNB        0b10111000
   #define BUTTON_UP        0b11011000
   #define BUTTON_DOWN        0b11001000
   #define BUTTON_LEFT        0b01000000
   #define BUTTON_RIGHT    0b00111001
   #define BUTTON_STORE    0b11111000
   #define BUTTON_NEXT        0b10101000
   #define BUTTON_FAV        0b10001000
   #define BUTTON_HV        0b11010000
   #define BUTTON_TONE        0b01111000
   #define BUTTON_RADIO    0b00000000
   #define BUTTON_TVSAT    0b10100000
   #define BUTTON_LOCK        0b00101000

   #define SYSTEM_CODE        0b11000011

   volatile unsigned char system=0, command=0, system_new=0, command_new=0, czy_odczytano=0;

   void PILOT_init(void)
   {
       TIMSK = (1<<TOIE0);
       TCCR0 = (1<<CS00);
       DDRD &= 0xFB;            //PD3 input       
       PORTD |= (1<<3);        //pullup na INT2
   }

   ISR(TIMER0_OVF_vect)
   {
   static unsigned char timerH=0, timerL=0, timertemp=0, stan=0, i=0;

       timerL++;
       timertemp++;
       if(!timertemp)    timerH++;

       switch(stan)
       {
           case IDLE:    
                   {
                       if(timerH<8)
                       {
                           if(PIND&0x04)    {if(timerL<100) return; else {stan=DSTART; timerH=0; timerL=0; return;}}
                           else {timerL=0; return;}
                       }
                       else {timertemp=0; timerH=0; timerL=0; return;}
                   }
           case DSTART:
                   {
                       if(timerH>8) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04) return; else {timerL=0; stan = START1; return;}
                       }                   
                   }
           case START1:
                   {
                       if(timerL>150) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04)
                           {
                               if(timerL<80) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                               else {timerL=0; stan = START2; return;}
                           }
                           else return;
                       }
                   }
           case START2:
                   {
                       if(timerL>100) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04) return;
                           else
                           {
                               if(timerL<40) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                               else {timerL=0; stan = SYSTEMLOW; system_new=0; i=0; return;}
                           }
                       }
                   }
           case SYSTEMLOW:
                   {
                       if(timerL>12) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04)     {timerL=0; stan=SYSTEMHIGH; return;}
                           else return;
                       }                   
                   }
           case SYSTEMHIGH:
                   {
                       if(timerL>40) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04) return;
                           else
                           {
                               i++;
                               system_new = (system_new<<1);
                               if(timerL>15) system_new++;
                               timerL=0;
                               if(i<8) {stan=SYSTEMLOW; return;} else {timerL=0; stan=SYSTEMEND; return;}
                           }
                       }
                   }
           case SYSTEMEND:
                   {
                       if(timerL>12) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04)     {timerL=0; stan=PRZERWA; return;}
                           else return;
                       }
                   }
           case PRZERWA:
                   {
                       if(timerL>100) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04) return;
                           else
                           {
                               if(timerL<40) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                               else {timerL=0; stan = COMMANDLOW; command_new=0; i=0; return;}
                           }
                       }
                   }
           case COMMANDLOW:
                   {
                       if(timerL>12) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04)     {timerL=0; stan=COMMANDHIGH; return;}
                           else return;
                       }                   
                   }
           case COMMANDHIGH:
                   {
                       if(timerL>40) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04) return;
                           else
                           {
                               i++;
                               command_new = (command_new<<1);
                               if(timerL>15) command_new++;
                               timerL=0;
                               if(i<8) {stan=COMMANDLOW; return;} else {timerL=0; stan=KONIEC; return;}
                           }
                       }
                   }
           case KONIEC:
                   {
                       if(timerL>12) {timertemp=0; timerH=0; timerL=0; stan=IDLE; return;}
                       else
                       {
                           if(PIND&0x04)    
                           {
                               timerL=0;
                               timerH=0;
                               timertemp=0;
                               command=command_new;
                               system=system_new;
                               czy_odczytano=1;
                               stan=IDLE;
                               return;
                           }
                           else return;
                       }
                   }
       }
   }
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.