コード例 #1
0
ファイル: link_usb1.c プロジェクト: TC01/tilibs
static int tigl_find(void)
{
	// discover devices
	libusb_device **list;
	ssize_t cnt = libusb_get_device_list(NULL, &list);
	ssize_t i = 0;
	int j = 0;
	int k;

	if (cnt <= 0)
	{
		return 0;
	}

	memset(tigl_devices, 0, sizeof(tigl_devices));
	tigl_n_devices = 0;

	for (i = 0; i < cnt; i++)
	{
		libusb_device *device = list[i];
		struct libusb_device_descriptor desc;
		int r = libusb_get_device_descriptor(device, &desc);
		if (r < 0)
		{
			fprintf(stderr, "failed to get device descriptor");
			return r;
		}
		if (desc.idVendor == VID_TI)
		{
			for(k = 0; k < (int)(sizeof(tigl_infos) / sizeof(tigl_infos[0])); k++)
			{
				if (desc.idProduct == tigl_infos[k].pid)
				{
					tigl_devices[j].vid = desc.idVendor;
					tigl_devices[j].pid = desc.idProduct;
					tigl_devices[j].version = desc.bcdDevice;
					tigl_get_product(tigl_devices[j].product_str, sizeof(tigl_devices[j].product_str), device);
					ticables_info(_(" found %s on #%i, version <%x.%02x>\n"),
						      tigl_devices[j].product_str, j+1,
						      desc.bcdDevice >> 8,
						      desc.bcdDevice & 0xff);

					tigl_devices[j++].dev = device;
					tigl_n_devices = j;

					if (j >= MAX_CABLES)
					{
						return j;
					}
				}
			}
		}
	}
コード例 #2
0
ファイル: link_usb1.c プロジェクト: TI8XEmulator/graph89
static int tigl_find(void)
{
	// discover devices
	libusb_device **list;
	ssize_t cnt = libusb_get_device_list(NULL, &list);
	ssize_t i = 0;
	int j = 0;
	int k;

	if (cnt <= 0)
	{
		return 0;
	}

	for (i = 0; i < cnt; i++)
	{
		libusb_device *device = list[i];
		struct libusb_device_descriptor desc;
		int r = libusb_get_device_descriptor(device, &desc);
		if (r < 0)
		{
			fprintf(stderr, "failed to get device descriptor");
			return r;
		}
		if ((desc.idVendor == VID_TI))
		{
			for(k = 0; k < (int)(sizeof(tigl_infos) / sizeof(usb_infos)); k++)
			{
				if(desc.idProduct == tigl_infos[k].pid)
				{
					ticables_info(_(" found %s on #%i, version <%x.%02x>\n"),
						      tigl_get_product(device), j+1,
						      desc.bcdDevice >> 8,
						      desc.bcdDevice & 0xff);

					memcpy(&tigl_devices[j], &tigl_infos[k], sizeof(usb_infos));
					tigl_devices[j++].dev = device;
				}
			}
		}
	}