From: Brendan S. (eTRIX) <Bre...@eT...> - 2009-06-17 07:27:30
|
Thanks Santiago :) Unfortunately I'm new to usb so it's not making too much sense at the moment. What is the class object that self is referring to here ? Is getdevs() your own function or a standard os function ? Presumably getdevs calls something like usb.busses() somewhere ? I don't see how this gives me the name of the serial device (eg. /dev/cu.usbmodem0001) that I can then reference with pyserial Serial() function. example: port = '/dev/cu.usbmodem0001' # need to auto detect/determine this ser = serial.Serial( port ) Thanks Brendan. Santiago Palomino Sanchez-Manjavacas wrote: > Well, you can use the device VID and PID to select which device to open. > I use something like: > > def do_d(self, args): > if self.devh is not None: > self.do_close('') > #ls > if self.devh is None: > self.devs=getdevs() > shortlist(self.devs) > dn = -1; > index = 0; > for d in self.devs: > if (d[1].idVendor == 0xFFFF and d[1].idProduct == 0x0000): > dn = index; > index = index + 1; > if(dn == -1): > return 1 > self.curdev=self.devs[dn] > self.devh=self.curdev[1].open() > self.devn=dn > self.devh.setConfiguration(self.curdev[2]) > > self.devh.claimInterface(self.curdev[2].interfaces[0][0]) > self.devh.setAltInterface(0) > > > > On Wed, Jun 17, 2009 at 7:14 AM, Brendan Simon (eTRIX) > <Bre...@et... <mailto:Bre...@et...>> wrote: > > I have a device with a usb connection that presents itself as a serial > device to operating system (OS X). > It appears as /dev/cu.usbmodem0001 and /dev/tty.usbmodem0001 on the > filesystem when the device is plugged in. > > I can successfully detect the device USB Vendor ID and Product ID using > pyusb :) > > Now I have to use pyserial to talk to the device -- which I have > successfully done by opening the serial port with a hard coded device > filename (/dev/cu.usbmodem0001). > > There must be some way for me to use the pyusb information to be able to > determine the appropriate device filename to open with pyusb. > > Does anyone know how to do this or have any suggestions ??? > > Thanks, Brendan. |