miniscope; single-chip DSO
Wprawka przed realizacją projektu wirtualnego oscyloskopu cyfrowego. Głownym celem jest opracowanie koncepcji aplikacji PC współpracującej z oscyloskopem/rejestratorem wirtualnym, przetestowanie kontrolek i algorytmów, wychwycenie potencjalnych problemów związanych z transmisją danych poprzez USB. Wersja pre-pre-alfa;).
Aktualnie rejestrator pozbawiony jest jakiegokolwiek kondycjonera analogowego, część sprzętowa uproszczona jest do minimum. Maksymalna częstotliwość próbkowania wynosi 25kSPS.
Pakiet zawierający istniejącą (bardzo ograniczoną!) dokumentację projektu oraz statycznie skompilowaną aplikację:
miniscope_setup.exe
Program nie jest obecnie wspierany i rozwijany - jeżeli szukasz programu tego typu odwiedź stronę projektu miniscope v3.
Nawiązaniem do projektu jest plugin do programu miniscope v3 umożliwiający wykorzystanie jako urządzenia wejściowego mikrokontrolera Microchip z uruchomionym przykładem Generic HID demo z pakietu MCHPUSB 2.5. Maksymalna częstotliwość próbkowania możliwa do uzyskania bez przerabiania tego programu jest bardzo niska (poniżej 1000Hz) ze względu na to, że w raportach HID przesyłane są pojedyncze próbki.
Ze względu na niechęć do sposobu organizacji projektów wewnątrz nowszych wersji MCHPUSB
(wieloplatformowość kosztem przejrzystości) przerobiłem przykład Generic HID demo wraz
z zestawem plików stosu USB na potrzeby płytki z PIC18F2550 w taki sposób,
aby zawrzeć wszystkie moduły wchodzące w jego skład w jednym katalogu. Poza dir_lib wszystkie ścieżki
wewnątrz pliku projektu są względne. Ze względu na utrudniające życie ograniczenie długości ścieżek plików
dla narzędzi C18 archiwum powinno zostać rozpakowane blisko katalogu głównego.
PIC18F2550_HID.zip - Generic HID demo
Biblioteka hidpic.dll jest skompilowana z użyciem MinGW z pakietu Code::Blocks 8.02. Ściąganie DDK
nie jest wymagane - niezbędne pliki są częścią MinGW. Projekt korzysta z kilku plików nagłówkowych ze
źródeł miniscope v3 - oba projekty powinny znaleźć się na tym samym poziomie drzewa katalogów.
Źródła biblioteki zawierają wyodrębnione moduły do komunikacji z urządzeniami klasy HID oraz detekcji
dołączenia/odłączenia urządzeń (komunikat WM_DEVICECHANGE przetwarzany w pętli ukrytego okna).
hidpic_dll.zip - plugin dla miniscope v3
Uwaga: użycie nowszej wersji
MinGW (dystrybuowanej z C::B 10.05, 4.4.1) wymaga dodania do opcji kompilacji -fshort-enums (użycie pól enum przy
deklarowaniu interfejsu nie było najlepszym rozwiązaniem).
Podczas nauki obsługi HID powstał także "wolnostojący" projekt demonstrujący komunikację
z układem (sterowanie diodą LED, odczyt stanu przełącznika, odczyt ADC).
hid_test.zip - Generic HID - native demo