Pokrewne
menu      Programowanie atmega2560 a atmega128
menu      What is USB flash drive, Mini Flash Drive?
menu      Program do odczytu kart MMC/CD sektor po sektorze
menu      uklad rozdzielajacy napiecie z baterii a napiecie z usb
menu      Niemoznosc zakonczenia programu nagrywania przed czasem w magnetowidzie Samsung
menu      Praca stała (pełny etat) -Programowanie, webmastering, admin
menu      Programowanie uC - wspoldzialanie przerwan i algorytmu - zasady sztuki
menu      NIOS - programwoanie EPCS z wsadem dla FPGA + kodem dla CPU
menu      Jakaś łatwo programowalna pamięć RÓWNOLEGŁA, nieulotna - co polecicie??
menu      [Oferta] Administracja Serwerami / Monitoring / Tuningowanie / Programowanie
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • biegajmy.htw.pl
  • automatyczny start programu USB device





    Waldemar - 07-12-2006 10:45
    automatyczny start programu USB device
      Hej,

    nie całkiem ta grupa, ale może trochę ;-)

    Mam zrobione ustrojstwo na USB, sterowane przez BitBangMode. W sumie
    jest to lampka na laserze, ale mniejsza o to. Po raz pierwszy lutowałem
    coś pod mikroskopem 25x, ale upakowałem całość we wtyczce ;-)
    Działa ok, ale mam taką siurpryzę, by program do sterowania tego
    automatycznie startował, jak załączę urządzenie do PCta. Na razie
    wystarczy mi pod Windowsa, ale do Linuxa tyż by się przydało. Wie ktoś
    coś na ten temat?

    Waldek





    Piotr Drobek - 08-12-2006 10:45

     

    > Mam zrobione ustrojstwo na USB, sterowane przez BitBangMode. W sumie
    > jest to lampka na laserze, ale mniejsza o to. Po raz pierwszy lutowałem
    > coś pod mikroskopem 25x, ale upakowałem całość we wtyczce ;-)
    > Działa ok, ale mam taką siurpryzę, by program do sterowania tego
    > automatycznie startował, jak załączę urządzenie do PCta. Na razie
    > wystarczy mi pod Windowsa, ale do Linuxa tyż by się przydało. Wie ktoś
    > coś na ten temat?

    Napisz serwis albo aplikacje ktora staruje zaraz po uruchomieniu PC'ta,
    najprosciej bedzie Ci pod Delphi i obsluz komunikat WM_DEVICECHANGE w
    procedurze obslugi tego komunikatu sprawdz VID i PID urzadzenia i porównaj
    ze swoim, jezeli sie zgadza to uruchomisz wlasciwą aplikacje obslugujacą
    Twoje urzadzenie , i taka sama procedura przy odlaczeniu urzadzenia,
    wysylasz do swojej aplikacji komunikat WM_CLOSE. Dla przykladu kawalek kodu
    w C++, akurat tutaj operuje na uchwycie do urzadzenia.....

    BOOL CAALTDlg::OnDeviceChange(UINT wParam,DWORD lParam)
    {
    if(!lParam) return TRUE;

    PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
    if (lpdb->dbch_devicetype == DBT_DEVTYP_HANDLE )
    {
    PDEV_BROADCAST_HANDLE lpdbi = (PDEV_BROADCAST_HANDLE)lParam;

    if(lpdbi->dbch_handle==hDevice)
    {

    switch(wParam)
    {
    case DBT_DEVICEREMOVECOMPLETE:
    if (IDYES == AfxMessageBox("USB Device has been Removed !
    Are You Sure you want to close application?",MB_YESNO))
    {
    m_bAppDestroy = TRUE;
    OnOK();
    }
    return TRUE;

    default:
    return TRUE;
    }
    }
    }

    return TRUE;
    }




    Waldemar - 08-12-2006 13:45

      Piotr Drobek schrieb:
    >> Mam zrobione ustrojstwo na USB, sterowane przez BitBangMode. W sumie
    >> jest to lampka na laserze, ale mniejsza o to. Po raz pierwszy lutowałem
    >> coś pod mikroskopem 25x, ale upakowałem całość we wtyczce ;-)
    >> Działa ok, ale mam taką siurpryzę, by program do sterowania tego
    >> automatycznie startował, jak załączę urządzenie do PCta. Na razie
    >> wystarczy mi pod Windowsa, ale do Linuxa tyż by się przydało. Wie ktoś
    >> coś na ten temat?
    >
    > Napisz serwis albo aplikacje ktora staruje zaraz po uruchomieniu PC'ta,
    > najprosciej bedzie Ci pod Delphi i obsluz komunikat WM_DEVICECHANGE w
    > procedurze obslugi tego komunikatu sprawdz VID i PID urzadzenia i porównaj
    > ze swoim, jezeli sie zgadza to uruchomisz wlasciwą aplikacje obslugujacą
    > Twoje urzadzenie , i taka sama procedura przy odlaczeniu urzadzenia,
    > wysylasz do swojej aplikacji komunikat WM_CLOSE. Dla przykladu kawalek kodu
    > w C++, akurat tutaj operuje na uchwycie do urzadzenia.....

    dzięki!! Zaraz wypróbuję czy działa.

    Waldek




    Piotr Drobek - 08-12-2006 14:46

      Znalazlem bardziej szczegolowy przyklad chyba w sam raz dla Ciebie musisz
    znac GUID urzadzenia zazwyczaj podany w INF do sterownika....
    http://www.codeproject.com/useritems/HwDetect.asp





    Waldemar - 08-12-2006 15:45

      Piotr Drobek schrieb:
    > Znalazlem bardziej szczegolowy przyklad chyba w sam raz dla Ciebie musisz
    > znac GUID urzadzenia zazwyczaj podany w INF do sterownika....
    > http://www.codeproject.com/useritems/HwDetect.asp

    już częściowo mi się udało uruchomić mieszankę twojego kodu i tego z
    codeproject. Niestety jeszcze nie na 100%. Moje ustrojstwo, jako że
    bazowane na FT232R manifestuje się jako serial port (no i dobrze), ale
    jeszcze nie mogłem się dobrać do VID, PID i Product Description.
    Ponieważ nie mam zamiaru kupować VID zależy mi właśnie na Product
    Description by odróżnić moje od niemojego ;-) Ale początek zrobiłem i
    będę dalej próbował.
    Może zrobię tak, że jak detekcja przejdzie, to odpytam drania na
    okoliczność Product Code przez FTD2XX, powinno się udać.
    Dzięki jeszcze raz.

    Waldek




    mareks - 08-12-2006 20:45

      Albo mozna zaprogramowac device name i sprawdzac czy to twoj lub nie twoj -
    ja wlasnie tak rozpoznaje swoje urzadzenie

    pzdr

    marek

    Użytkownik "Waldemar" <waldemar@zedat.fu-berlin.de> napisał w wiadomości
    news:4ttao6F15ida4U6@mid.uni-berlin.de...
    > Piotr Drobek schrieb:
    >> Znalazlem bardziej szczegolowy przyklad chyba w sam raz dla Ciebie musisz
    >> znac GUID urzadzenia zazwyczaj podany w INF do sterownika....
    >> http://www.codeproject.com/useritems/HwDetect.asp
    >
    > już częściowo mi się udało uruchomić mieszankę twojego kodu i tego z
    > codeproject. Niestety jeszcze nie na 100%. Moje ustrojstwo, jako że
    > bazowane na FT232R manifestuje się jako serial port (no i dobrze), ale
    > jeszcze nie mogłem się dobrać do VID, PID i Product Description. Ponieważ
    > nie mam zamiaru kupować VID zależy mi właśnie na Product Description by
    > odróżnić moje od niemojego ;-) Ale początek zrobiłem i będę dalej
    > próbował.
    > Może zrobię tak, że jak detekcja przejdzie, to odpytam drania na
    > okoliczność Product Code przez FTD2XX, powinno się udać.
    > Dzięki jeszcze raz.
    >
    >
    > Waldek




    Waldemar - 08-12-2006 20:45

      mareks schrieb:
    > Albo mozna zaprogramowac device name i sprawdzac czy to twoj lub nie twoj -
    > ja wlasnie tak rozpoznaje swoje urzadzenie

    no tak właśnie robię. Problem jest taki: dostaję message, że ustrojstwo
    zostało podłączone. Fajnie. Enumeryzuje się jako comport, bo w sumie nim
    jest, choć COMa nie używam (lecę w trybie bitbang). W obsłudze
    wiadomości OnDeviceChange chcę odczytać device name, ale enumeracja
    jeszcze nie jest zakończona i driver FTD2XX zgłasza handle error. Muszę
    poczekać 5s i dopiero potem sprawdzać. Ale tak nawet działa, zrobiłem
    timeout 5s na timerze i inicjalizację do skutku. Trochę się jeszcze
    gździ, jak podłączę 3 różne ustrojstwa, ale już w sumie nieźle działa.

    Waldek




    Jurek Szczesiul - 09-12-2006 13:45

      Fri, 08 Dec 2006 20:41:48 +0100, na pl.misc.elektronika, Waldemar
    napisał(a):

    > mareks schrieb:
    >> Albo mozna zaprogramowac device name i sprawdzac czy to twoj lub nie twoj -
    >> ja wlasnie tak rozpoznaje swoje urzadzenie
    >
    > W obsłudze
    > wiadomości OnDeviceChange chcę odczytać device name, ale enumeracja
    > jeszcze nie jest zakończona i driver FTD2XX zgłasza handle error.

    Cześć. U siebie nie używałem WM_DEVICECHANGE tylko (w timerze) funkcji
    otwierającej FT_W32_CreateFile z flagą FT_OPEN_BY_DESCRIPTION. W momencie
    zwrotu prawidłowego uchwytu aplikacja wie, że kostka jest gotowa do użycia
    (później jest cały czas sprawdzany Ft_result , jeśli dostajemy false -
    urządzenie zostało odłączone i aplikacja znów przechodzi do trybu
    cyklicznego wywoływania) .

    --
    Pozdrowienia
    Jurek Szczesiul
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • konstruktor.keep.pl
  • Design by flankerds.com