use literal vendor/device ids only once

parent c5e7ba84
...@@ -180,11 +180,8 @@ int oau_list_devices(void) ...@@ -180,11 +180,8 @@ int oau_list_devices(void)
{ {
int i, devs; int i, devs;
struct oau_devarray *list; struct oau_devarray *list;
char vid[10], did[10];
sprintf(vid, "%04x", OAU_VENDOR_ID); list = oau_get_devarray(OAU_VENDOR_ID, OAU_DEVICE_ID);
sprintf(did, "%04x", OAU_DEVICE_ID);
list = oau_get_devarray(vid, did);
oau_display_devarray(list); oau_display_devarray(list);
return 0; return 0;
......
...@@ -72,7 +72,7 @@ class OauTest(cmd.Cmd): ...@@ -72,7 +72,7 @@ class OauTest(cmd.Cmd):
def fill_devarray(self): def fill_devarray(self):
self.api.oau_get_devarray.restype = POINTER(DevArray) self.api.oau_get_devarray.restype = POINTER(DevArray)
self.devarray = self.api.oau_get_devarray(b'1556', b'0443') self.devarray = self.api.oau_get_devarray(0x1556, 0x0443)
ndevs = self.devarray.contents.ndevs ndevs = self.devarray.contents.ndevs
devs = self.devarray.contents.devs devs = self.devarray.contents.devs
self.devices = [] self.devices = []
......
...@@ -23,15 +23,18 @@ void oau_display_devarray(struct oau_devarray *ls) ...@@ -23,15 +23,18 @@ void oau_display_devarray(struct oau_devarray *ls)
static struct oau_usb_dev usb_dev[MAX_OUA]; static struct oau_usb_dev usb_dev[MAX_OUA];
static struct oau_devarray devarray = { -1, usb_dev, }; static struct oau_devarray devarray = { -1, usb_dev, };
struct oau_devarray *oau_get_devarray(char *vendor_id, char *device_id) struct oau_devarray *oau_get_devarray(unsigned int vendor_id, unsigned int device_id)
{ {
struct udev *udev = udev_new(); struct udev *udev = udev_new();
struct udev_enumerate *enumerate = udev_enumerate_new(udev); struct udev_enumerate *enumerate = udev_enumerate_new(udev);
struct udev_list_entry *devs, *ptr, *ptr2; struct udev_list_entry *devs, *ptr, *ptr2;
int found_devs = 0; int found_devs = 0;
char vid[6], did[6];
udev_enumerate_add_match_property(enumerate, "ID_VENDOR_ID", vendor_id);
udev_enumerate_add_match_property(enumerate, "ID_MODEL_ID", device_id); sprintf(vid, "%04x", vendor_id);
sprintf(did, "%04x", device_id);
udev_enumerate_add_match_property(enumerate, "ID_VENDOR_ID", vid);
udev_enumerate_add_match_property(enumerate, "ID_MODEL_ID", did);
udev_enumerate_scan_devices(enumerate); udev_enumerate_scan_devices(enumerate);
devs = udev_enumerate_get_list_entry(enumerate); devs = udev_enumerate_get_list_entry(enumerate);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment