summaryrefslogtreecommitdiff
path: root/host/opcd_usb.c
diff options
context:
space:
mode:
authorlaforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2006-09-25 14:52:19 +0000
committerlaforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2006-09-25 14:52:19 +0000
commit6b13ecdab08a28deadb4e947cbab740d02352617 (patch)
treec1d57c1f6fe4651d170f073f5a28b9e8274d552b /host/opcd_usb.c
parenta914cae28139ba4c61ba0aba8aeffbee4499358d (diff)
use new officially assigned vendor/product id
git-svn-id: https://svn.openpcd.org:2342/trunk@226 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
Diffstat (limited to 'host/opcd_usb.c')
-rw-r--r--host/opcd_usb.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/host/opcd_usb.c b/host/opcd_usb.c
index d73289d..9224516 100644
--- a/host/opcd_usb.c
+++ b/host/opcd_usb.c
@@ -50,8 +50,6 @@ opcd_hexdump(const void *data, unsigned int len)
return string;
}
-#define OPCD_VENDOR_ID 0x2342
-#define OPCD_PRODUCT_ID 0x0001
#define OPCD_OUT_EP 0x01
#define OPCD_IN_EP 0x82
#define OPCD_INT_EP 0x83
@@ -63,12 +61,12 @@ static struct usb_device *find_opcd_handle(void)
for (bus = usb_busses; bus; bus = bus->next) {
struct usb_device *dev;
for (dev = bus->devices; dev; dev = dev->next) {
- if (dev->descriptor.idVendor == OPCD_VENDOR_ID
- && dev->descriptor.idProduct == OPCD_PRODUCT_ID
+ if (dev->descriptor.idVendor == OPENPCD_VENDOR_ID
+ && (dev->descriptor.idProduct == OPENPCD_PRODUCT_ID ||
+ dev->descriptor.idProduct == OPENPCD_PRODUCT_ID)
&& dev->descriptor.iManufacturer == 0
&& dev->descriptor.iProduct == 0
&& dev->descriptor.bNumConfigurations == 1
- && dev->config->bNumInterfaces == 2
&& dev->config->iConfiguration == 0)
return dev;
}
@@ -186,6 +184,7 @@ int opcd_send_command(struct opcd_handle *od, u_int8_t cmd,
ohdr->cmd = cmd;
ohdr->reg = reg;
ohdr->val = val;
+ ohdr->flags = OPENPCD_FLAG_RESPOND;
if (data && len)
memcpy(ohdr->data, data, len);
@@ -213,10 +212,13 @@ int opcd_usbperf(struct opcd_handle *od, unsigned int frames)
printf("starting DATA IN performance test (%u frames of 64 bytes)\n",
frames);
- opcd_send_command(od, OPENPCD_CMD_USBTEST_IN, transfers, frames, 0, NULL);
gettimeofday(&tv_start, NULL);
+ opcd_send_command(od, OPENPCD_CMD_USBTEST_IN, transfers, frames, 0, NULL);
for (i = 0; i < transfers; i++) {
int ret;
+
+ if (i < transfers - 1)
+ opcd_send_command(od, OPENPCD_CMD_USBTEST_IN, transfers, frames, 0, NULL);
ret = ausb_bulk_read(od->hdl, OPCD_IN_EP, buf, sizeof(buf), 0);
if (ret < 0) {
fprintf(stderr, "error receiving data in transaction\n");
personal git repositories of Harald Welte. Your mileage may vary