From 7c1c12c085cab1a43eac523ded7ba037cbd9deda Mon Sep 17 00:00:00 2001 From: marschap Date: Sat, 1 Dec 2007 16:51:22 +0000 Subject: [PATCH] support for IOWarrior24 PowerVampire --- server/drivers/IOWarrior.c | 6 ++++-- server/drivers/IOWarrior.h | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/server/drivers/IOWarrior.c b/server/drivers/IOWarrior.c index ac2b6cc..cf8b04d 100644 --- a/server/drivers/IOWarrior.c +++ b/server/drivers/IOWarrior.c @@ -143,7 +143,7 @@ static int iowlcd_write_data(usb_dev_handle *udh,int len,unsigned char *data) /* write 6 data byte reports */ for (i = 0; i < num_blk; i++) { - lcd_cmd[1] = 0x86; + lcd_cmd[1] = 0x80 | 6; memcpy(&lcd_cmd[2], ptr, 6); if (iow_lcd_wcmd(udh, lcd_cmd) == IOW_ERROR) return ptr - data; @@ -255,7 +255,7 @@ PrivateData *p; /* Which size */ strncpy(size, drvthis->config_get_string(drvthis->name, "Size", 0, DEFAULT_SIZE), sizeof(size)); - size[sizeof(size) - 1] = 0; + size[sizeof(size) - 1] = '\0'; if ((sscanf(size, "%dx%d", &w, &h) != 2) || (w <= 0) || (w > LCD_MAX_WIDTH) || (h <= 0) || (h > LCD_MAX_HEIGHT)) { @@ -310,6 +310,8 @@ PrivateData *p; if ((dev->descriptor.idVendor == iowVendor) && ((dev->descriptor.idProduct == iowProd24) || (dev->descriptor.idProduct == iowProd40) || + (dev->descriptor.idProduct == iowProd24PVa) || + (dev->descriptor.idProduct == iowProd24PVb) || (dev->descriptor.idProduct == iowProd56))) { /* IO-Warrior found; try to find it's description and serial number */ diff --git a/server/drivers/IOWarrior.h b/server/drivers/IOWarrior.h index fdabe3a..ffe8d4a 100644 --- a/server/drivers/IOWarrior.h +++ b/server/drivers/IOWarrior.h @@ -40,6 +40,8 @@ #define iowProd40 0x1500 /* IOW40 */ #define iowProd24 0x1501 /* IOW24 */ #define iowProd56 0x1503 /* IOW56 */ +#define iowProd24PVa 0x1511 /* IOW24 PowerVampire */ +#define iowProd24PVb 0x1512 /* IOW24 PowerVampire */ #define iowTimeout 1000 #define USB_REQ_SET_REPORT 0x09