Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* main.c */
- #include <stdio.h>
- #include <string.h>
- #include <usb.h>
- #include "myusbfunctions.h"
- #define BREAK_HERE raise(SIGINT)
- char version[] = "This is my string";
- struct usb_device *curr_dev;
- struct usb_dev_handle *curr_udev;
- int timeout = 2200;
- #define buflen 64
- char buffer[buflen];
- int main(void)
- {
- int i;
- i=explore(); /* nr of matches */
- if (0==i)
- {
- printf("No chip was found\n");
- exit(0);
- }
- else
- {
- if (i>1)
- {
- printf("Confict: more than one chip was found\n");
- exit(0);
- }
- }
- printf("%s\n", version);
- //BREAK_HERE;
- //i = usb_interrupt_read(curr_udev, curr_dev->config->interface->altsetting->endpoint->bEndpointAddress, buffer, curr_dev->config->interface->altsetting->endpoint->wMaxPacketSize, timeout);
- i=usb_interrupt_read(curr_udev, 0x81, buffer, 64, 2200);
- printf("i=%d\n",i);
- usb_close (curr_udev);
- return 0;
- }
- /* eof main.c */
- -------------------------------------------------------------------------
- /* myusbfunctions.h */
- extern struct usb_device *curr_dev;
- extern struct usb_dev_handle *curr_udev;
- extern int usb_interrupt_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout);
- int explore (void)
- {
- struct usb_bus *bus;
- struct usb_device *dev;
- extern char version[];
- int nr=0 ;
- usb_init();
- usb_find_busses();
- usb_find_devices();
- for (bus = usb_busses; bus; bus = bus->next)
- {
- for (dev = bus->devices; dev; dev = dev->next)
- {
- int ret;
- char string[256];
- usb_dev_handle *udev;
- udev = usb_open(dev);
- if (udev)
- {
- if (dev->descriptor.iManufacturer)
- {
- ret = usb_get_string_simple(udev, dev->descriptor.iManufacturer, string, sizeof(string));
- }
- if (dev->descriptor.iProduct)
- {
- ret = usb_get_string_simple(udev, dev->descriptor.iProduct, string, sizeof(string));
- if (ret > 0)
- {
- if (0==strcmp(version,string)) /* match */
- {
- curr_dev = dev; /* copy device */
- nr++;
- }
- }
- }
- usb_close (udev);
- }
- }
- }
- if (nr == 1)
- {
- curr_udev = usb_open(curr_dev);
- }
- return nr;
- }
- /* eof myusbfunctions.h */
Advertisement
Add Comment
Please, Sign In to add comment