static int do_init(void) { unsigned char status; int r; r = get_hwstat(&status); if (r < 0) return r; if (!(status & 0x80)) { r = set_hwstat(status | 0x80); if (r < 0) return r; r = get_hwstat(&status); if (r < 0) return r; } status &= ~0x80; r = set_hwstat(status); if (r < 0) return r; r = get_hwstat(&status); if (r < 0) return r; r = sync_intr(0x56); if (r < 0) return r; return 0; }
int main(void) { struct sigaction sigact; int r = 1; char status[2]; char data[32]; r = libusb_init(NULL); if (r < 0) { fprintf(stderr, "failed to initialise libusb\n"); exit(1); } r =find_my_device(0x1d57, 0xad0a); /*r =probe_device(0x1d57, 0xad0a);*/ if (r < 0) { fprintf(stderr, "Could not find/open device\n"); return r; } /* r = libusb_claim_interface(devh, 0); if (r < 0) { fprintf(stderr, "usb_claim_interface error %d\n", r); goto out; } printf("claimed interface\n"); */ get_hwstat(status); //read_interrupt(1, data, 32, 1000); return 0; }