Python and USB

M

Marco Bartel

Hi Folks,

i just started to adapt some i2c routines from Flagship to Python.
I allready succeded in porting the low-level-routines accessing the
parallel port. But now i also changed the electronics, so that my
i2c-bus is connected to the usb-port of my machine. What i'am looking
for now, is a way to access the usb-subsystem from python. i know there
is a library called libusb for c , wich deals with the
usb-kernel-modules, but unfortunatly i didn't found a wrapper around
this library, wich allows me to do the same from within python. I just
was thinking about to do the wrapper myself using SWIG, but i also still
hope, that there is someone outside, who played allready with usb and
python arround.

great thanks in advance for some tips and hints
Marco
 
R

Roger Binns

I just
was thinking about to do the wrapper myself using SWIG, but i also still
hope, that there is someone outside, who played allready with usb and
python arround.

Here is one I made earlier:

http://cvs.sf.net/viewcvs.py/bitpim/bitpim/native/usb/

It is shipping as part of BitPim and works with libusb on Linux and Mac
and libusb-win32 on Windows.

If someone wants to make this into a proper distutils style package
etc, I'd be more than happy to contribute the code etc.

Roger
 
M

Marco Bartel

Roger said:
Here is one I made earlier:

http://cvs.sf.net/viewcvs.py/bitpim/bitpim/native/usb/

It is shipping as part of BitPim and works with libusb on Linux and Mac
and libusb-win32 on Windows.

If someone wants to make this into a proper distutils style package
etc, I'd be more than happy to contribute the code etc.

Roger
Thanks a lot roger,
it was exactly the thing i'am was looking for.
Now i only have to get my device running. Under
C i was allready using the libusb, and so this code should
be easily to be adapted.

THX
Marco
 
R

Roger Binns

it was exactly the thing i'am was looking for.
Now i only have to get my device running. Under
C i was allready using the libusb, and so this code should
be easily to be adapted.

Yes, you get a straight wrapping of libusb, as well as a
more Pythonic interface (in libusb.py and usb.py respectively).

There are some issues unresolved, mainly due to the APIs that
libusb exposes. For example it makes no mention of being
thread safe (my wrapper does release the GIL around read/writes)
and the lists of busses/devices/configs are freed and reallocated
if you call usb_find_busses/usb_find_devices. Consequently
the Python objects could be pointing at freed memory.

Roger
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,021
Latest member
AkilahJaim

Latest Threads

Top