Commit 0cd64dcdca78a1e303cbe77b850892c611360fbb
1 parent
5c076d06
communication avec la manette OK !
Showing
2 changed files
with
13 additions
and
11 deletions
Show diff stats
src/libusb_wrapper.c
@@ -18,11 +18,12 @@ void usbclose(libusb_context *context) { | @@ -18,11 +18,12 @@ void usbclose(libusb_context *context) { | ||
18 | void interfaceclaim(libusb_device_handle *handle, struct libusb_interface *interface){ | 18 | void interfaceclaim(libusb_device_handle *handle, struct libusb_interface *interface){ |
19 | const struct libusb_interface_descriptor * interface_desc = &interface->altsetting[0]; //TODO enlever cette ligne, refactor | 19 | const struct libusb_interface_descriptor * interface_desc = &interface->altsetting[0]; //TODO enlever cette ligne, refactor |
20 | 20 | ||
21 | - if(interface_desc->bInterfaceClass == LIBUSB_CLASS_VENDOR_SPEC)//ON PEUT VERIFIER LA CLASS | ||
22 | - printf("> NOT vendor specific class\n"); | 21 | + if(interface_desc->bInterfaceClass == LIBUSB_CLASS_VENDOR_SPEC){//ON PEUT VERIFIER LA CLASS |
22 | + printf("> vendor specific class\n"); | ||
23 | 23 | ||
24 | - int status=libusb_claim_interface(handle, interface_desc->bInterfaceNumber); | ||
25 | - if(status!=0){ perror("libusb_claim_interface"); exit(-1); } | 24 | + int status=libusb_claim_interface(handle, interface_desc->bInterfaceNumber); |
25 | + if(status!=0){ perror("libusb_claim_interface"); exit(-1); } | ||
26 | + } | ||
26 | } | 27 | } |
27 | 28 | ||
28 | void interfaceclose(libusb_device_handle *handle, struct libusb_interface *interface){ | 29 | void interfaceclose(libusb_device_handle *handle, struct libusb_interface *interface){ |
@@ -286,4 +287,4 @@ char getOnlyEndpoint(struct libusb_interface * interface){ | @@ -286,4 +287,4 @@ char getOnlyEndpoint(struct libusb_interface * interface){ | ||
286 | printf("> is NOT of type INTERRUPT\n"); | 287 | printf("> is NOT of type INTERRUPT\n"); |
287 | 288 | ||
288 | return (char)endpoint_desc->bEndpointAddress; | 289 | return (char)endpoint_desc->bEndpointAddress; |
289 | -} | ||
290 | \ No newline at end of file | 290 | \ No newline at end of file |
291 | +} |
src/main.c
@@ -96,16 +96,17 @@ int main(int argc, char *argv[]){ | @@ -96,16 +96,17 @@ int main(int argc, char *argv[]){ | ||
96 | 96 | ||
97 | 97 | ||
98 | /*LE CODE UTILE*/ | 98 | /*LE CODE UTILE*/ |
99 | -/* | ||
100 | - char data[MAX_DATA]; // data to send or to receive | ||
101 | - int size=...; // size to send or maximum size to receive | ||
102 | - int timeout=...; // timeout in ms | 99 | +while(1){ |
100 | + unsigned char data[2] = {0xff,0xff}; // data to send or to receive | ||
101 | + int size=2; // size to send or maximum size to receive | ||
102 | + int timeout=1000; // timeout in ms | ||
103 | 103 | ||
104 | //OUT interrupt, from host to device | 104 | //OUT interrupt, from host to device |
105 | int bytes_out; | 105 | int bytes_out; |
106 | - int status=libusb_interrupt_transfer(handle,endpoint_out,data,size,&bytes_out,timeout); | 106 | + printf("%p %02X\n",device_handle,endpoint_leds); |
107 | + int status=libusb_interrupt_transfer(device_handle,endpoint_leds,data,size,&bytes_out,timeout); | ||
107 | if(status!=0){ perror("libusb_interrupt_transfer"); exit(-1); } | 108 | if(status!=0){ perror("libusb_interrupt_transfer"); exit(-1); } |
108 | -*/ | 109 | +} |
109 | /*FIN DU CODE UTILE*/ | 110 | /*FIN DU CODE UTILE*/ |
110 | 111 | ||
111 | //Close | 112 | //Close |