Python and USB

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Marco Bartel

    Python and USB

    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

  • Roger Binns

    #2
    Re: Python and USB

    > I just[color=blue]
    > 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.[/color]

    Here is one I made earlier:



    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


    Comment

    • Marco Bartel

      #3
      Re: Python and USB

      Roger Binns wrote:[color=blue][color=green]
      >>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.[/color]
      >
      >
      > 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
      >
      >[/color]
      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

      Comment

      • Roger Binns

        #4
        Re: Python and USB

        > it was exactly the thing i'am was looking for.[color=blue]
        > 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.[/color]

        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_device s. Consequently
        the Python objects could be pointing at freed memory.

        Roger


        Comment

        Working...