Zdravím,

nechci Vás svést na špatnou cestu, ale netváří se ta čtečka jako COM port? Poznámka o CP2102 by o tom svědčila. Pak bych ovšem doporučil pyserial místo pyusb ;-)

Jen nápad...

Dex



On 17.5.2015 8:30, "Ing. Vladislav Ludík" wrote:
libusb0 jsem jsem měl nahrané, ale asi špatné verze.
Teď jsem našel správnou verzi, libusb0 se nahrálo korektně.

Čtečka pak zmizela ve správci zařízení z Portů (byl tam nějaký COM)
a objevil se samostatný symbol pro usb jako libusb-32 devices s podsložkou
CP2102 USB to UART Bridge Controller

Když nyní dám usb.core.show_devices()
vrátí mi:
DEVICE ID 10c4:ea60 on Bus 000 Address 001, Specified at interface

Takže idVendor=0x10C48 měl být 0x10C4
Po opravě se vše rozjelo. Zdá se, že jsem na dobré cestě.

Děkuji za pomoc.

Vláďa

Dne 17.5.2015 v 2:43 Petr Messner napsal(a):
Njn, když chceš hackovat, tak na to musíš mít křídla :)

Z chyby 'generator' object has no attribute 'set_configuration' je zřejmé, že to usb.core.find vrací iterátor. No a proč to vrací iterátor? Protože deklarace té funkce <https://github.com/walac/pyusb/blob/a83f17e568bf893bed53fa984f00c1e168348cb9/usb/core.py#L1127> je

deffind(find_all=False, backend=None, custom_match=None, **args):

a když to voláš bez keyword argumentů, tak se jako find_all nastaví to 0x10C48, což se interpretuje podobně jako find_all=True.

Takže o krok zpět k ValueError: No backend available. Podívej se do zdrojáku, co to dělá. Prochází to moduly usb.backend.libusb1, usb.backend.libusb0 a usb.backend.openusb a volá to jejich funkci get_backend(), která se snaží danou DLL (nebo .so) knihovnu načíst (protože usb.backend.* jsou jen ctypes wrappery "céčkových" knihoven). Takže problém je v tom, že žádnou z těch knihoven buď nemáš k dispozici, nebo ji pyusb nemůže najít.

PM

Dne 16. května 2015 16:28 "Ing. Vladislav Ludík" <vl...@ludik.cz <mailto:vl...@ludik.cz>> napsal(a):

    Ještě chyby:

    dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)

    hlásí chybu:

    dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)
      File "build\bdist.win32\egg\usb\core.py", line 1199, in find
        raise ValueError('No backend available')
    ValueError: No backend available

    Když jsem změnil řádek na:

    dev = usb.core.find(0x10C48, 0xEA60)

    program projde dále, ale hlásí chybu:

    dev.set_configuration()
    AttributeError: 'generator' object has no attribute
    'set_configuration'

    Co s tím dále, nevím.


    Díky Vláďa
    _______________________________________________
    Python mailing list
    python@py.cz <mailto:python@py.cz>
    http://www.py.cz/mailman/listinfo/python

    Visit: http://www.py.cz




_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit:http://www.py.cz



_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Odpovedet emailem