Prev: Regexp problem when parsing a string
Next: Python 3.1.2
From: Omer Ihsan on 21 Mar 2010 16:44 i have installed pyusb now and run the sample usbenum.py....i have 3 usb ports on my PC but the results show 6 outputs to dev.filename..they are numbers like 001 or 005 etc.... and they changed when i plugged in devices...(i am no good with the usb standards)....i just want to identify each device/port... what parameter in the example would help me....
From: Tim Roberts on 23 Mar 2010 00:22 Omer Ihsan <omrihsan(a)gmail.com> wrote: > >i have installed pyusb now and run the sample usbenum.py....i have 3 >usb ports on my PC but the results show 6 outputs to >dev.filename..they are numbers like 001 or 005 etc.... and they >changed when i plugged in devices...(i am no good with the usb >standards)....i just want to identify each device/port... what >parameter in the example would help me.... You can't identify the ports.[1] What good would it do you? The ports on your PC are not numbered. You certainly CAN identify the devices, by their VID and PID (or idVendor and idProduct). You identify by function, not by location. When you plug in a USB drive, you don't want to worry about where it's plugged in. === [1]: OK, technically, it is not impossible to identify the port numbers, but it is quite tedious. You need to chase through the sysfs expansion of your buses hub/port tree and find a match for your device. It's not worth the trouble. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
From: Omer Ihsan on 23 Mar 2010 10:49 On Mar 23, 9:22 am, Tim Roberts <t...(a)probo.com> wrote: > Omer Ihsan <omrih...(a)gmail.com> wrote: > > >i have installed pyusb now and run the sample usbenum.py....i have 3 > >usb ports on my PC but the results show 6 outputs to > >dev.filename..they are numbers like 001 or 005 etc.... and they > >changed when i plugged in devices...(i am no good with the usb > >standards)....i just want to identify each device/port... what > >parameter in the example would help me.... > > You can't identify the ports.[1] What good would it do you? The ports on > your PC are not numbered. > > You certainly CAN identify the devices, by their VID and PID (or idVendor > and idProduct). You identify by function, not by location. When you plug > in a USB drive, you don't want to worry about where it's plugged in. > === > [1]: OK, technically, it is not impossible to identify the port numbers, > but it is quite tedious. You need to chase through the sysfs expansion of > your buses hub/port tree and find a match for your device. It's not worth > the trouble. > -- > Tim Roberts, t...(a)probo.com > Providenza & Boekelheide, Inc. VID and PID is fair enough. now what i want is that i have a threaded code that threads two functions to run at the same time. i want each function to run seperate devices. the problem is if it doesnt identify the attached devices it might run the code on a single device which isnt what is required. how will i be able to run a code on a device of my choice???....you can leave away the threading part for now.
From: Tim Roberts on 24 Mar 2010 23:41 Omer Ihsan <omrihsan(a)gmail.com> wrote: > >VID and PID is fair enough. now what i want is that i have a threaded >code that threads two functions to run at the same time. i want each >function to run seperate devices. the problem is if it doesnt identify >the attached devices it might run the code on a single device which >isnt what is required. Some of the libraries that pyusb uses are not thread-safe, like libusb 0.1. >how will i be able to run a code on a device of my choice???....you >can leave away the threading part for now. You can return all of the devices with a particular VID and PID: collection = usb.core.find( find_all=True, idVendor=0x1234, idProduct=0x5678 ) Then you can dish those out to threads using something like the queue module. Or, usb.core.find accepts a predicate function that allows you to use any criteria you wish. What kind of device are you trying to manipulate? I have a lot of USB experience -- perhaps I can offer advice. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
|
Pages: 1 Prev: Regexp problem when parsing a string Next: Python 3.1.2 |