forked from PAWPAW-Mirror/lib_xua
xmosdfu (OS X host dfu example) now uses a list for PID to make adding PIDs easier. Added hi-res board PID to list.
This commit is contained in:
@@ -5,12 +5,21 @@
|
||||
|
||||
/* the device's vendor and product id */
|
||||
#define XMOS_VID 0x20b1
|
||||
|
||||
#define XMOS_XCORE_AUDIO_AUDIO2_PID 0x3066
|
||||
#define XMOS_L1_AUDIO2_PID 0x0002
|
||||
#define XMOS_L1_AUDIO1_PID 0x0003
|
||||
#define XMOS_L2_AUDIO2_PID 0x0004
|
||||
#define XMOS_SU1_AUDIO2_PID 0x0008
|
||||
#define XMOS_U8_MFA_AUDIO2_PID 0x000A
|
||||
|
||||
unsigned short pidList[] = {XMOS_XCORE_AUDIO_AUDIO2_PID,
|
||||
XMOS_L1_AUDIO2_PID,
|
||||
XMOS_L1_AUDIO1_PID,
|
||||
XMOS_L2_AUDIO2_PID,
|
||||
XMOS_SU1_AUDIO2_PID,
|
||||
XMOS_U8_MFA_AUDIO2_PID};
|
||||
|
||||
unsigned int XMOS_DFU_IF = 0;
|
||||
|
||||
#define DFU_REQUEST_TO_DEV 0x21
|
||||
@@ -46,15 +55,24 @@ static int find_xmos_device(unsigned int id)
|
||||
|
||||
while ((dev = devs[i++]) != NULL)
|
||||
{
|
||||
int foundDev = 0;
|
||||
struct libusb_device_descriptor desc;
|
||||
libusb_get_device_descriptor(dev, &desc);
|
||||
printf("VID = 0x%x, PID = 0x%x\n", desc.idVendor, desc.idProduct);
|
||||
if (desc.idVendor == XMOS_VID &&
|
||||
((desc.idProduct == XMOS_L1_AUDIO1_PID) ||
|
||||
(desc.idProduct == XMOS_L1_AUDIO2_PID) ||
|
||||
(desc.idProduct == XMOS_SU1_AUDIO2_PID) ||
|
||||
(desc.idProduct == XMOS_L2_AUDIO2_PID) ||
|
||||
(desc.idProduct == XMOS_U8_MFA_AUDIO2_PID)))
|
||||
printf("VID = 0x%x, PID = 0x%x, BCDDevice: 0x%x\n", desc.idVendor, desc.idProduct, desc.bcdDevice);
|
||||
|
||||
if(desc.idVendor == XMOS_VID)
|
||||
{
|
||||
for(int j = 0; j < sizeof(pidList)/sizeof(unsigned short); j++)
|
||||
{
|
||||
if(desc.idProduct == pidList[j])
|
||||
{
|
||||
foundDev = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (foundDev)
|
||||
{
|
||||
if (found == id)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user