By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,548 Members | 1,497 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,548 IT Pros & Developers. It's quick & easy.

Python and USB

P: n/a
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

Jul 18 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
> 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
Jul 18 '05 #2

P: n/a
Roger Binns wrote:
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

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

Jul 18 '05 #3

P: n/a
> 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
Jul 18 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.