25.12.2013 Aufrufe

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

E.3. Hostsoftware<br />

151 b u s s e s = u s b g e t b u s s e s ( ) ;<br />

struct usb bus ∗ bus ;<br />

for ( bus = b u s s e s ; bus ; bus = bus−>next ) {<br />

156 struct u s b d e v i c e ∗ dev ;<br />

for ( dev = bus−>d e v i c e s ; dev ; dev = dev−>next ) {<br />

i f ( dev−>d e s c r i p t o r . idVendor == ID VENDOR GECKO3) {<br />

i f ( dev−>d e s c r i p t o r . idProduct == ID PRODUCT GECKO3) {<br />

161 geckoAdm = usb open ( dev ) ;<br />

char dr name [ 1 0 0 ] ;<br />

int np = u s b g e t d r i v e r n p ( geckoAdm , 0 , dr name , 100) ;<br />

i f ( np==0) {<br />

u s b d e t a c h k e r n e l d r i v e r n p ( geckoAdm , 0) ;<br />

166 }<br />

int t = u s b c l a i m i n t e r f a c e ( geckoAdm , GECKO ADM INTERFACE) ;<br />

i f ( t == 0) {<br />

return true ; //end o f s e a r c h i n g f o r d e v i c e s . t h e f i r s t found<br />

d e v i c e i s used<br />

}<br />

171 else {<br />

return f a l s e ;<br />

}<br />

}<br />

}<br />

176 }<br />

}<br />

return f a l s e ;<br />

}<br />

181 bool QGecko : : admClose ( )<br />

{<br />

//same t h i n g as QGecko : : c l o s e ( ) only f o r t h e a d m i n i s t r a t i o n i n t e r f a c e<br />

i f ( geckoAdm != 0) {<br />

u s b r e l e a s e i n t e r f a c e ( geckoAdm , GECKO ADM INTERFACE) ;<br />

186 u s b c l o s e ( geckoAdm ) ;<br />

geckoAdm = 0 ;<br />

return true ;<br />

}<br />

return f a l s e ;<br />

191 }<br />

bool QGecko : : admWrite ( QFile &data ) {<br />

//same t h i n g as QGecko : : w r i t e ( QFile &data ) only f o r t h e a d m i n i s t r a t i o n i n t e r f a c e<br />

i f ( geckoAdm != 0) {<br />

196 bool loop = true ;<br />

char t a r g e t A r r a y [ 3 2 7 6 8 ] ;<br />

int t a r g e t S i z e = 0 ;<br />

while ( loop == true ) {<br />

201 t a r g e t S i z e = data . read ( targetArray , 32768 ) ;<br />

i f ( t a r g e t S i z e > 0) {<br />

int w = u s b b u l k w r i t e ( geckoAdm , GECKO ADM EP WRITE, t a r g e t A r r a y ,<br />

t a r g e t S i z e , 5000) ;<br />

i f (w

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!