www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

USB HID
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
siliconray
Član
Član



Pridružen-a: Tor 12 Jun 2007 14:33
Prispevkov: 25
Aktiv.: 0.11
Kraj: Lj

PrispevekObjavljeno: Tor Maj 27, 2008 11:44 pm    Naslov sporočila:   Odgovori s citatom

Zivjo,

lahko kaksen namig kako prebrati kaj sprejemas na USB? Uporabljam HIDUSBDRIVER (by Florian Leitner).

Prosil bi za kaksno vrstico kode.

r,A
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jobber
Član
Član



Pridružen-a: Sob 07 Maj 2005 18:58
Prispevkov: 110
Aktiv.: 0.46
Kraj: Bohinj / Lj

PrispevekObjavljeno: Sre Maj 28, 2008 12:06 am    Naslov sporočila:   Odgovori s citatom

Kaj pa porečete na tole? Zgleda zanimivo in dokaj enostavno.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
madzi
Član
Član



Pridružen-a: Sre 24 Sep 2003 10:46
Prispevkov: 315
Aktiv.: 1.33
Kraj: Pragersko, Dragonja vas, Maribor

PrispevekObjavljeno: Sre Maj 28, 2008 11:44 am    Naslov sporočila:   Odgovori s citatom

Pozdravljeni!

Sicer sam delam usb z avr-ji ampak se moj problem ne nanaša na določen mcu ampak software na pc in ker že teče debata o USB HID bom kar tukaj vprašal.

Programiram v C# VisualStudio2005.

http://www.codeproject.com/KB/cs/USB_HID.aspx
http://www.obdev.at/products/avrusb/download.html

Iz strani codeproject sem preizkusil tisti testni program. Problem je da mi ta praogram ne zazna nobene naprave za katere vpišem VID in PID. Prepozna samo na splošno da je neka naprava priključena. Sem probal na miški in na avr-ju. V windows device managerju mi lepo prepozna napravo, VID in PID ampak ne gre pa z C# oz. tistim dll-jem. Ma kdo podobne težave in jih je rešil?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
madzi
Član
Član



Pridružen-a: Sre 24 Sep 2003 10:46
Prispevkov: 315
Aktiv.: 1.33
Kraj: Pragersko, Dragonja vas, Maribor

PrispevekObjavljeno: Čet Maj 29, 2008 11:39 pm    Naslov sporočila:   Odgovori s citatom

Še vedno nekaj "čaram" z projektom za USB HID iz codeproject.
Ugotovil sem kaj je narobe ampak nisem toliko vešč programiranja da bi to tudi znal popravit. Stvar mi je uspelo umetno z debugerjem spravit v pogon. Rabil pa bi malo pomoči nekoga ki zna kaj več v C#.

Torej, če greš pod UsbLibrary je noter datoteka HIDDevice.cs. V funkciji Initialise se v debugerju javi error "Positive number required.\r\nParameter name: bufferSize"

Koda od 97 do 112 vrstice:
Koda:
try
                       {
                        HidCaps oCaps;
                        HidP_GetCaps(lpData, out oCaps);   // extract the device capabilities from the internal buffer
                        m_nInputReportLength = oCaps.InputReportByteLength;   // get the input...
                        m_nOutputReportLength = oCaps.OutputReportByteLength;   // ... and output report lengths

                        //m_oFile = new FileStream(m_hHandle, FileAccess.Read | FileAccess.Write, true, m_nInputReportLength, true);
                        m_oFile = new FileStream(new SafeFileHandle(m_hHandle, false), FileAccess.Read | FileAccess.Write, m_nInputReportLength, true);

                        BeginAsyncRead();   // kick off the first asynchronous read                             
                    }
                    catch (Exception ex)
                    {
                        throw HIDDeviceException.GenerateWithWinError("Failed to get the detailed data from the hid.");
                    }

Težavo sem "rešil" tako da sem v ti dve spremenljivki
Koda:
m_nInputReportLength   
m_nOutputReportLength
vpisal število različno od 0, v mojem primeru sem vpisal 12 in zadeva deluje.
Morda kdo ve od kod "oCaps.OutputReportByteLength" in "oCaps.InputReportByteLength" dobita svojo vrednost? S tem popravkom bi ta projekt deloval brez težav. Prosim če bi kdo malo pogledal in bi lahko rešili težavo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3475
Aktiv.: 14.64
Kraj: Postojna

PrispevekObjavljeno: Pet Maj 30, 2008 4:37 pm    Naslov sporočila:   Odgovori s citatom

Zbirka HIDP_CAPS dobi svojo vrednost ob inicializaciji HID naprave (vsaj mislim, da je tako). Vsebovane vrednosti so definirane z deskriptorjem naprave. Do teh vrednosti lahko prideš s klicem funkcije HidP_GetCaps.
Kot si ugotovil sta pomembni vrednosti, ki določata dolžino poročila, ki ga naprava pošlje oz. prejme.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3475
Aktiv.: 14.64
Kraj: Postojna

PrispevekObjavljeno: Sre Jun 11, 2008 12:05 pm    Naslov sporočila:   Odgovori s citatom

siliconray je napisal/a:
lahko kaksen namig kako prebrati kaj sprejemas na USB? Uporabljam HIDUSBDRIVER (by Florian Leitner).

Na uC ali PC strani?
Na PC strani sem že napisal, lahko dam več podrobnosti.
Na uC strani pa uporabljal Keil HID demo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jernej Š.
Član
Član



Pridružen-a: Pon 25 Jun 2007 23:33
Prispevkov: 83
Aktiv.: 0.38
Kraj: Primorska

PrispevekObjavljeno: Sre Jun 11, 2008 12:15 pm    Naslov sporočila:   Odgovori s citatom

Na http://lie.fe.uni-lj.si/ se nahaja popoln USB vmesnik (sistem eProDas), ki ga sestaviš za nekaj fičnikov. Vključuje vse driverje, firmware in podporo za C++, Visual Basic, ... brezplačno.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jernej Š.
Član
Član



Pridružen-a: Pon 25 Jun 2007 23:33
Prispevkov: 83
Aktiv.: 0.38
Kraj: Primorska

PrispevekObjavljeno: Sre Jun 11, 2008 12:20 pm    Naslov sporočila:   Odgovori s citatom

No, še to: eProDas ni HID naprava.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
madzi
Član
Član



Pridružen-a: Sre 24 Sep 2003 10:46
Prispevkov: 315
Aktiv.: 1.33
Kraj: Pragersko, Dragonja vas, Maribor

PrispevekObjavljeno: Sre Jun 11, 2008 4:09 pm    Naslov sporočila:   Odgovori s citatom

eProDas je za PIC-e in še to samo za tiste z vgrajenim USB. Drugač dobra stvar ampak delno uporabna.

Mene pa zanima nekaj drugega.

Nekaj postov zgoraj sem že napisal kaj jaz uporabljam. Sedaj pa bi rad vedel koliko je ta softwarski usb požrešn oz. koliko procesorskega časa ostane na AVR-ju za mojo aplikacijo. Kako to izmeriti, ugotoviti?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 313
Aktiv.: 1.35
Kraj: Dolenjska

PrispevekObjavljeno: Ned Avg 24, 2008 9:44 am    Naslov sporočila:   Odgovori s citatom

madzi, si mogoče poskusil USB HID prevesti tudi s Visual C# 2008 Express Edition?
Prevede sicer brez napak, vendar takoj po zagonu programa debugger javi

"ArgumentException was unhandled:
Assembly 'C:\Users\Jan\Desktop\Download\usb_hid\usb hid\UsbLibrary\obj\Debug\UsbLibrary.dll' doesn't contain any UserControl types."

Mogoče kdo ve, kaj bi bilo narobe? Kode nisem nič spreminjal.

Še link do sourca:
USB HID

lp
Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 6 dni


Powered by phpBB © 2001, 2005 phpBB Group