int io_init( char *dev ) { struct usb_bus *bus; struct usb_device *usbdev; usb_init(); /* initialize the library */ usb_find_busses(); /* find all busses */ usb_find_devices(); /* find all connected devices */ for(bus = usb_get_busses(); bus; bus = bus->next) { for(usbdev = bus->devices; usbdev; usbdev = usbdev->next) { if(usbdev->descriptor.idVendor == USB_VID_ATMEL && usbdev->descriptor.idProduct == USB_PID_SAMBA) { if( (io_handle = usb_open(usbdev)) ) { if( usb_set_configuration( io_handle, 1 ) < 0 ){ usb_close(io_handle); continue; } if( usb_claim_interface( io_handle, 1 ) < 0 ){ usb_close(io_handle); continue; } return samba_init(); } } } } fprintf( stderr, "found no compatible usb devices"); return -1; }
Dword SAMBA_open ( IN Demodulator* demodulator ) { Dword error = Error_NO_ERROR; Afatech_SAMBA_demodulator = demodulator; error = samba_init(); return (error); }
void init( void ) { int i ; enableUART(0,115200); enableUART(1,115200); usbll_init(); messageRxInit(); framInit(); // must come before ethernet ethernetInit(); samba_init(); setUsbCallback(USBAPP_ETHERNET,ethernetUsbRx); while(1){ setLED(i++ >> 10); usbll_poll(); } }