Skocz do zawartości
Treker

Lista małych zmian na Forbocie

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ę.

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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?

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
Share on other sites

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 😋

Udostępnij ten post


Link to post
Share on other sites

Dokładnie. Nieśmiertelny pop-up jak wychodzisz bez oceny 😋

Udostępnij ten post


Link to post
Share on other sites

Usunięty został problem z wysyłaniem załączników i obrazków.

Udostępnij ten post


Link to post
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 😉

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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

Udostępnij ten post


Link to post
Share on other sites

Zgadzam się z GAndaLF, kolorowa składnia wniesie chaos, ale spoilery to dobry pomysł.

Udostępnij ten post


Link to post
Share on other sites

A ja popieram pomysł kolorowania składni. Uważam, że to jest dość pomocne w czytaniu programu.

Udostępnij ten post


Link to post
Share on other sites

Przeanalizuję jeszcze całą sprawę 😉 Na razie na oku ma kilka mniejszych poprawek, które dziś wprowadzę.

Udostępnij ten post


Link to post
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;
                       }
                   }
       }
   }

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...