CategoryDaj się poznać 2017

Funkcje debugowe i sterownik silników

Ostatnio udało się trochę pchnąć do przodu prace nad softem. Dorobiłem prototypy funkcji debugowych i interfejsu użytkownika, a także napisałem sterownik silników, który następnie przetestowałem na robocie. Okazało się, że na płytce PCB jednak znajdowały się błędy. Zmiany w kodzie zostały wrzucone na GitHub, pojawiły się tam też pierwsze wpisy do Issue Trackera.

Czytaj dalej

Jak używać dyrektywy #define

W dzisiejszym artykule omówię element składni języka C, jakim jest dyrektywa preprocesora #define. Nie będzie to tekst przeznaczony dla początkujących. Skupię się raczej na bardziej zaawansowanych zastosowaniach, przydatnych sztuczkach i dobrych praktykach.

Czytaj dalej

DSP2017 – podsumowanie po 10 tygodniach

Dzisiaj wróciłem z majówki. Z jednym wyjątkiem na poprzedni wpis miałem 9 dni przerwy od wszystkich codziennych zajęć włącznie z pracą, pisaniem bloga i rozwijaniem projektu micromouse. Po takim resecie trudno mi zagłębić się w techniczne niuanse i napisać posta o jakiś skomplikowanych rzeczach. Tym bardziej, że w ostatnim czasie nie robiłem nic związanego z projektem i nie miał bym nawet o czym pisać. Na szczęście znalazłem temat zastępczy. Dzisiaj mija dziesiąty tydzień konkursu Daj się poznać i tym wpisem udało mi się spełnić wymogi konkursu. Przyszedł więc czas na małe podsumowanie.

Czytaj dalej

Budowanie szkieletu aplikacji

Zgodnie z założeniami, które nakreśliłem we wpisie o architekturze systemu, zabrałem się do projektowania prototypów funkcji poszczególnych bloków. Dzięki temu mogę zbudować szkielet aplikacji przechodzący przez wszystkie warstwy i stopniowo wypełniać go kodem. Główny nacisk położyłem na driverach powiązanych z warstwą sprzętową. Zależy mi na szybkim zaimplementowaniu driverów, żeby można było przetestować poprawność pracy poszczególnych podzespołów na docelowej płytce. Poza tym hardware jest najbardziej zależny od rzeczy narzuconych odgórnie i dobrze jest sprawdzić jak najszybciej, czy planowana koncepcja jest na pewno realizowalna. Zaktualizowany kod znajduje się na GitHubie projektu na gałęzi dev.

Czytaj dalej

Lutowanie płytki

Płytki PCB mam już od jakiegoś czasu, elementy też, ale dopiero ostatnio znalazłem trochę czasu, żeby to wszystko polutować. Tak więc lutownica w dłoń i do dzieła!

Czytaj dalej

Nowa zabawka

Nad kupnem drukarki 3D zastanawiałem się już od dłuższego czasu, ale do tej pory na zastanawianiu się kończyło. Moim zdaniem jest to technologia przyszłości i za kilkanaście lat będzie tak popularna jak zwykłe drukarki. Takiego przekonania nabrałem oglądając reklamówki, na których gospodynie domowe drukowały sobie foremki do ciast. Kiedy więc ostatnio pojawiła się okazja kupienia po znajomości używanej drukarki Micro3D, nie musiałem się długo zastanawiać.

Czytaj dalej

Architektura systemu

Koncepcję robota opisałem już jakiś czas temu i od razu zabrałem się za realizacje hardware. Soft na razie został zepchnięty na dalszy plan, ale powoli to się zmienia. W ramach przygotowań do implementacji postanowiłem więc określić architekturę systemu. Jako, że to projekt po godzinach, nie ma żadnych narzuconych procedur dotyczących dokumentacji. Nie oznacza to jednak, że ma jej w ogóle nie być. Założenie jest takie, żeby pisać tylko tyle dokumentacji ile jest w danej chwili potrzebne i żeby rosła razem z postępem prac. W tej kwestii projekt potraktuję jako poligon doświadczalny.

Czytaj dalej

Konfiguracja Travis-CI – Runda 2

Ostatnio pisałem o walce z konfiguracją Travis-CI. Po kolejnych 30 próbach w końcu udało mi się go skonfigurować tak jak chciałem. Przy okazji musiałem pokonać kilka problemów, które opiszę w tym poście.

Czytaj dalej

Przyszły płytki do robota

Dawno nie było nic o postępach prac nad robotem. Pora to zmienić. Tym bardziej, że ostatnio odebrałem gotowe płytki PCB.

Zamówiłem trzy płytki z czarną soldermaską. Za czarny kolor trzeba było dopłacić, ale moim zdaniem było warto, bo dzięki temu robot będzie się lepiej prezentować. Gotowe płytki wyglądają tak:

Czytaj dalej

Git i znaki końca linii

Ostatnio w pracy miałem pewien problem dotyczący znaków końca linii w Gicie. Skłoniło mnie to do poszukiwań w internecie, a zdobyte informacje postanowiłem zebrać w tym poście, żeby zostały na przyszłość.

Znaki końca linii na różnych systemach operacyjnych

Istnieją dwie konwencje dodawania znaków końca linii w plikach tekstowych.  Wywodzą się one z dwóch głównych systemów operacyjnych:

  • Konwencja Windowsowa: na końcu linii dodawane są znaki CR (Carriage Return – 0x0A ASCII) LF (Line Feed – 0x0D ASCII).
  • Konwencja Linuksowa: na końcu linii dodawany jest tylko znak LF.

Jeżeli więc nad tym samym projektem pracują osoby używające różnych systemów operacyjnych, pliki tworzone przez różne osoby mogą mieć różne konwencje końca linii. Co więcej, jeśli plik z linuksowymi znakami nowej linii jest edytowany w Windowsie, edytor tekstu może nadpisać istniejące znaki nowej linii w całym pliku lub użyć swojej konwencji dla nowo dodanych linii.

Czytaj dalej

© 2017 ucgosu.pl

Theme by Anders NorénUp ↑