Robotyka, Embedded, C
W poprzedniej części cyklu o TDD opisałem dlaczego sposób wytwarzania oprogramowania, który praktykowałem na początku się nie sprawdzał i co mnie skłoniło do zainteresowania się Test Driven Development. Dzisiaj opiszę jak wygląda praca zgodnie z TDD. Jak to często bywa w przypadku praktyk zwinnych zasady teoretyczne są dosyć proste, a kluczem do sukcesu jest dyscyplina. […]
Kiedy uczyłem się programować, pisałem metodą code and fix. Czyli najpierw pisałem jakiś fragment kodu – mogła to być jedna funkcja, moduł albo nawet cały program. Następnie uruchamiałem go i ręcznie sprawdzałem czy działa, przechodziłem kod debuggerem sprawdzając wartości zmiennych i przepływ sterowania. Następnie poprawiałem znalezione błędy, dodawałem funkcjonalności i znowu sprawdzałem. Na pewno każdy […]
Kiedy uczyłem się programować, pisałem metodą code and fix. Czyli najpierw pisałem jakiś fragment kodu – mogła to być jedna funkcja, moduł albo nawet cały program. Następnie uruchamiałem go i ręcznie sprawdzałem czy działa, przechodziłem kod debuggerem sprawdzając wartości zmiennych i przepływ sterowania. Następnie poprawiałem znalezione błędy, dodawałem funkcjonalności i znowu sprawdzałem. Na pewno każdy […]
Dzisiaj omówię, w jaki sposób zaprojektować regulator obrotów silnika. Pokażę jak zebrać dane pomiarowe, a następnie dokonać ich analizy i obróbki. W trakcie tego procesu wytłumaczę jakich narzędzi używam i w jaki sposób je wykorzystuję. Podobny artykuł napisałem kiedyś na Forbocie – link. Jednak jest kilka istotnych różnic. Przede wszystkim tam był brany pod uwagę […]
Dzisiaj omówię, w jaki sposób zaprojektować regulator obrotów silnika. Pokażę jak zebrać dane pomiarowe, a następnie dokonać ich analizy i obróbki. W trakcie tego procesu wytłumaczę jakich narzędzi używam i w jaki sposób je wykorzystuję. Podobny artykuł napisałem kiedyś na Forbocie – link. Jednak jest kilka istotnych różnic. Przede wszystkim tam był brany pod uwagę […]
Ostatnio miałem trochę przerwy od pisania na blogu. Nie oznacza to jednak, że w tym czasie leżałem do góry brzuchem. Większość mojego czasu pochłaniały przygotowania do przeprowadzenia pierwszego w życiu szkolenia – “Test Driven Development dla Systemów Embedded”. Zebranie się w sobie Pomysł na takie szkolenie chodził mi po głowie od bardzo dawna. W pracy […]
Ostatnio miałem trochę przerwy od pisania na blogu. Nie oznacza to jednak, że w tym czasie leżałem do góry brzuchem. Większość mojego czasu pochłaniały przygotowania do przeprowadzenia pierwszego w życiu szkolenia – „Test Driven Development dla Systemów Embedded”. Zebranie się w sobie Pomysł na takie szkolenie chodził mi po głowie od bardzo dawna. W pracy […]
Ten artykuł jest kontynuacją tematu testów pamięci RAM rozpoczętego w poprzednim wpisie – link. Poprzednio przybliżyłem trochę ogólnych informacji dotyczących RAMu i jego testowania. Dzisiaj zajmę się omówieniem konkretnych algorytmów. Nie udostępniam swojej implementacji opisanych tutaj testów, podaję za to linki do bibliotek producentów mikrokontrolerów, którzy takie testy zaimplementowali i opisali w notach katalogowych. Algorytm […]
Ten artykuł jest kontynuacją tematu testów pamięci RAM rozpoczętego w poprzednim wpisie – link. Poprzednio przybliżyłem trochę ogólnych informacji dotyczących RAMu i jego testowania. Dzisiaj zajmę się omówieniem konkretnych algorytmów. Nie udostępniam swojej implementacji opisanych tutaj testów, podaję za to linki do bibliotek producentów mikrokontrolerów, którzy takie testy zaimplementowali i opisali w notach katalogowych. Algorytm […]
Pamięć RAM, jak każdy inny element systemu mikroprocesorowego może się zepsuć. Skutki złego działania RAM mogą być bardzo niebezpieczne. Szczególnie kiedy system wykonuje jakieś odpowiedzialne zadanie. Dlatego testy RAM są wymagane do zapewnienia odpowiedniego SIL (Safety Integrity Level – Poziom Nienaruszalności Bezpieczeństwa) przez różne normy: IEC 60730 – Safety standard for household appliances. IEC 61508 […]
Pamięć RAM, jak każdy inny element systemu mikroprocesorowego może się zepsuć. Skutki złego działania RAM mogą być bardzo niebezpieczne. Szczególnie kiedy system wykonuje jakieś odpowiedzialne zadanie. Dlatego testy RAM są wymagane do zapewnienia odpowiedniego SIL (Safety Integrity Level – Poziom Nienaruszalności Bezpieczeństwa) przez różne normy: IEC 60730 – Safety standard for household appliances. IEC 61508 […]
Aby ruszyć dalej z pracami nad micromousem, potrzebuję funkcji logujących dane z działania programu na konsolę w czasie rzeczywistym. Są mi one potrzebne do kalibracji czujników ścian i doboru nastaw dla regulatorów silników. Idealnym rozwiązaniem było by wykorzystanie standardowej funkcji printf. Na mikrokontrolerze jednak nie jest to takie proste, ponieważ trzeba dopisać warstwę obsługi drivera […]
Aby ruszyć dalej z pracami nad micromousem, potrzebuję funkcji logujących dane z działania programu na konsolę w czasie rzeczywistym. Są mi one potrzebne do kalibracji czujników ścian i doboru nastaw dla regulatorów silników. Idealnym rozwiązaniem było by wykorzystanie standardowej funkcji printf. Na mikrokontrolerze jednak nie jest to takie proste, ponieważ trzeba dopisać warstwę obsługi drivera […]
W dzisiejszym wpisie zebrałem listę ciekawych blogów uczestników DSP. Większość wybranych przeze mnie pozycji jest dosyć zaawansowana technicznie. Poruszane w nich problemy są często trudne i właśnie przez to interesujące. Linki do innych ciekawych blogów, i może trochę łatwiejszych w odbiorze, można znaleźć we wpisie o gali finałowej – link. 0xdbeef W ramach DSP autor […]
W dzisiejszym wpisie zebrałem listę ciekawych blogów uczestników DSP. Większość wybranych przeze mnie pozycji jest dosyć zaawansowana technicznie. Poruszane w nich problemy są często trudne i właśnie przez to interesujące. Linki do innych ciekawych blogów, i może trochę łatwiejszych w odbiorze, można znaleźć we wpisie o gali finałowej – link. 0xdbeef W ramach DSP autor […]
Robotyka, Embedded, C
Programowaniem zajmuję się zawodowo od 2012 roku. Moją specjalnością są systemy embedded, pracowałem już nad systemami safety critical, inteligentymi budynkami, czy Internet of Things. Jestem również wielkim fanem robotyki i w wolnym czasie robię własnego robota micromouse.