Artykuły
- Szczegóły
Wczoraj odbyła się pielgrzymka rowerowa do Gietrzwałdu organizowana przez Instytut Kultury Chrześcijańskiej.
Przy okazji miałem okazję przetestować program NaviComputer.
Jego zaletą w stosunku do BikeDashboard jest to, że do przygotowania map jest dołączona oddzielna aplikacja na komputer PC (a NaviComputer na urządzeniu mobilnym też potrafi sobie ściągnąć mapę). Dodatkowo możemy wybrać zakres powiększenia mapy, który chcemy przechowywać na telefonie.
Możemy wybierać z kilku dostępnych bezpłatnie źródeł map. Ja korzystam z OpenStreetMaps. Jak się przekonałem, mapy są dość dokładne i nawet trasy leśne są tam pokazane.
- Szczegóły
Mam za sobą egzaminy:
- Exam 70-536: TS: Microsoft .NET Framework – Application Development Foundation
- Exam 70-502: TS: Microsoft .NET Framework 3.5, Windows Presentation Foundation Application Development
I czas się zastanowić co dalej, jeszcze przez kilka miesięcy będę studentem więc dobrze by było to wykorzystać i zrobić za darmo jeszcze kilka certyfikatów. Do końca czerwca będę się starał zrobić:
- Exam 70-503: TS: Microsoft .NET Framework 3.5 – Windows Communication Foundation Application Development
- Exam 70-505: TS: Microsoft .NET Framework 3.5, Windows Forms Application Development
- Exam 70-562: TS: Microsoft .NET Framework 3.5, ASP.NET Application Development
Zapewne widzieliście już opracowania materiałów do 70-536 stworzone przez grupę eastgroup.pl. Myślę że nie będzie w tym nic złego, że zdradzę pewną informację: Niedługo zaczynamy kolejną serię wpisów z przygotowań do egzaminów :)
- Szczegóły
Niedługo będę tworzył kolejną wersję aplikacji PowRek (kto wie co to za aplikacja to wie ;)).
A wczoraj wspólnie z resztą zespołu CrystalCode Studio skończyliśmy wersję RC naszego CMS'a. Aktualnie dopracowujemy szczegóły i szukamy klientów.
Pierwszą stroną jaka została postawiona na naszym CMSie jest strona aplikacji PowRek.
- Szczegóły
Właśnie naprawiłem współpracę JoomFish z standardową obsługą kanałów RSS w Joomla. Od teraz na każdej stronie z listą artykułów dostępny jest kanał RSS z tymi artykułami.
- Szczegóły
od Dzisiaj dostępny jest w pełni funkcjonalny program Priority Starter, umożliwia on uruchamianie programów przy starcie Windows z określonym priorytetem. Mam nadzieje ze komuś się przyda, ja na razie jestem zadowolony.
- Szczegóły
W końcu zrobiłem sobie programator!!!
Ładowanie sterowników w systemie 64-bitowym
Niestety w moim Windows 7 64bit jest wymaganie aby sterowniki były podpisane, a nie są. Doczytałem się, że żeby samodzielnie podpisać sterowniki musiałbym najpierw mieć certyfikat VeriSign za $399/rocznie :D więc sobie darowałem.
2009-12-16: Właśnie się dowiedziałem że certyfikat można mieć za $99/rocznie (czyli 284,65PLN - to i tak za dużo na mały niekomercyjny projekcik), klikając w link na stronie Winqual Help.
W Internecie jest wiele sposobów na umożliwienie ładowania niepodpisanych sterowników, ale prawie żaden u mnie nie działał a nawet trochę mi uszkodziły system (do tego stopnia, że praktycznie żaden sterownik poza microsoftowymi nie chciał się załadować). Zadziałał jedynie program Driver Signature Enforcement Overrider 1.3b.
Aby system załadował sterowniki libusb, po zainstalowaniu musimy podpisać każdy plik sys i dll (opcja Sign a System File w DSEF):
c:\windows\system32\drivers\libusb0.sys
c:\windows\system32\libusb0.dll
c:\windows\syswow64\libusb0.dll
Jednak przy instalacji kolejnych urządzeń te podpisane przez nas sterowniki mogą być nadpisane przez wersje niepodpisane, więc zrobiłem troszkę inaczej. Podpisałem pliki zanim zainstalowałem urządzenie:
bin\win-driver\libusb_0.1.12.1\libusb0.dll
bin\win-driver\libusb_0.1.12.1\libusb0.sys
bin\win-driver\libusb_0.1.12.1\libusb0_x64.dll
bin\win-driver\libusb_0.1.12.1\libusb0_x64.sys
Dzięki temu sterowniki są ładowane :D (ps. piszą że trzeba wyłączyć UAC, ja wyłączyłem przed użyciem i jak już wszystko działało to włączyłem UAC - i działa nadal)
Własny USB PID
Jeszcze jedna sprawa. Dowiedziałem się, że firma FTDI dla swoich klientów wydziela unikalne identyfikatory PID w ramach swojego VID'a. Myślałem, że będę sprytny i zrobię sobie własny programator i własne sterowniki. Napisałem do nich maila. Wystarczyło, że podałem
- nazwisko
- nazwę firmy
- kraj
i dostałem bezpłatnie własne 8 PIDów. :D Jeden z nich chciałem użyć do programatora, ale zatrzymała mnie kwestia certyfikacji sterowników (i przy okazji zauważyłem, że avrdude nie zobaczy mojego programatora)
USBasp
Zdjęć programatora na razie nie będzie bo nie mam aparatu, ale wygląda mniej więcej jak ten modelowany w poprzednim poście.
Użyłem softu w wersji usbasp.2009-02-28 z strony autora USBasp. Do programowania używam avrdude. Programy piszę w Code::Blocks (w post-build steps dodałem
avrdude -q -p m8 -c usbasp -e -U flash:w:$(TARGET_OUTPUT_FILE).hex
dzięki czemu od razu po kompilacji soft ląduje w mikrokontrolerze) + WinAVR-20090313.
Nie będę powtarzał instrukcji składania bo wszystko jest na stronie autora oraz po polsku na stronie Mirleya
Jeśli ktoś ma jakieś pytania to zapraszam do kontaktowania się ze mną :)
Debugowanie po RXD/TXD
Autor programatora przewidział możliwość przesyłania danych wykorzystując UART w mikrokontrolerze w programatorze ale do tej pory ta funkcja nie jest obsługiwana. Właśnie jestem w trakcie modyfikowania firmware i pisania odpowiedniej aplikacji korzystającej z tej możliwości.
Aktualnie potrafię już za pomocą aplikacji na PC zapalić/gasić diody :D Teraz się muszę nauczyć obsługi UARTa
AVRUSBBoot vs BootloadHID
Żeby łatwo modyfikować soft w programatorze postanowiłem wgrać do niego bootloader.
Z AVRUSBBoot jest problem taki, że wymaga sterowników (libusb - problem z podpisem) oraz używa VID i PID tych samych co USBasp więc Windows od razu instaluje sterowniki dla USBasp i program ładujący nie widzi urządzenia (bo sprawdza nie tylko VID i PID ale i nazwę i dostawcę urządzenia)
Dużo lepiej sprawuje się BootloadHID. Nie wymaga żadnych sterowników (używa sterowników Windows).
W obu przypadkach zasada działania jest taka sama. Program bootloadera jest ładowany pod koniec pamięci flash i ustawiane są fusebity tak by stamtąd rozpoczynało się wykonywanie rozkazów po resecie mikrokontrolera. Jeśli po resecie odpowiednie piny będą w odpowiednim stanie (tzw. bootLoaderCondition), nastąpi wykonanie kodu bootloadera i komputer zobaczy urządzenie jako (odpowiednio) AVRUSBBoot lub Urządzenie wejściowe USB. Wtedy programem ładującym wczytujemy do mikrokontrolera właściwy firmware.
Trzeba pamiętać żeby przy zmianach bootLoaderCondition poprawić też ustawienie pinów w stany wysokie (jeśli warunkiem jest zwarcie pinu do masy). Ja wykorzystałem zworkę Slow SCK z USBasp jako warunek włączenia bootloadera.
static inline void bootLoaderInit(void)
{
PORTC = (1 << PC2); /* activate pull-up for key */
_delay_us(10); /* wait for levels to stabilize */
}
#define bootLoaderCondition() ((PINC & (1 << PC2)) == 0)
2009-11-22:
Niestety użycie bootloadera w programatorze się nie sprawdziło. Sam programator nie chce poprawnie działać.
- Szczegóły
ProgrammingTimer nie umarł!
Właśnie udostępniłem wersję 1.5.0.0 programu służącego do pomiaru czasu pracy przy projektach. W tej wersji dodałem wsparcie dla Visual Studio 2010 oraz usunąłem obsługę Software Updatera (gdyż nie będę już go więcej wspierał).
- Szczegóły
Dziś wrzuciłem mój nowy programik ProgrammingTimer. Słuzy on do pomiaru ;) czasu pracy na kompie przy programach, które właśnie piszemy. Na razie współdziała z Delphi, C++ Builderem i Visual Studio jak będę miał jeszcze jakieś pomysły to coś jeszcze dorzucę do niego.
- Szczegóły
Wczoraj na ćwiczeniach z Systemów Sztucznej Inteligencji poprowadziłem prezentację na temat strategii przeszukiwania przestrzeni. Przy okazji nauczyłem się obsługi bardzo fajnej biblioteki QuickGraph służącej do “obsługi” grafów .NET oraz generowania pliku pdf i png z wizualizacją grafu. Poniżej prezentacja, napisana przeze mnie aplikacja demonstracyjna oraz skompilowana wersja aplikacji A+ Pathfinding Algorithm by Herbert Glarner
Metody przeszukiwania przestrzeni.pptx
Podkategorie
Blog Liczba artykułów: 42
Strona 3 z 5