Forum: PC-Programmierung Python-Zugriff auf Cypress Devices mit CyUsb.dll


von P. K. (pek)


Lesenswert?

Hallo zusammen

Hat jemand von Euch schon mal mit Python-Scripts via CyUsb.dll auf 
Cypress USB-Device-Controller zugegriffen?

Ich bin an einer Anflanschung an die DLL interessiert, d.h. den Layer 
mit der cytpes-Mapping-Geschichte nicht selber machen zu müssen.

Falls noch niemand so etwas gemacht hat (kann ich mir fast nicht 
vorstellen), wäre ich auch froh um Links und/oder Hints, wie ich das 
Ganze angehen soll.

Gruss

: Verschoben durch User
von Christian R. (supachris)


Lesenswert?

Wenn dir das gemappe zu aufwendig ist, kannste ja auch Ironpython und 
die .NET DLL von Cypress nehmen. Da reicht ein einfaches

import clr
clr.AddReference(...)

Ich hab hier einige .NET DLLs mit Ironpython im Einsatz, zusammen mit 
dem Python Tools for Visual Studio geht das echt schick.

von P. K. (pek)


Lesenswert?

Danke für den Hinweis

Christian R. schrieb:
> .NET DLL von Cypress

Ich gehe davon aus, dass dies das "gewöhnliche" cyusb.dll, welches ich 
in meinen Windows-Applikationen referenziere.

von Christian R. (supachris)


Lesenswert?

Soweit ich mich erinnere, haben die auch eine native .NET DLL, die man 
ohne pinvoke Umwege in .NET benutzen kann. 
http://www.cypress.com/documentation/software-and-drivers/suiteusb-34-usb-development-tools-visual-studio 
Da steht auch was dazu.
Wir setzen den verbuggten Treiber aber seit Jahren schon nicht mehr ein, 
die WinUSB läuft da im Gegensatz zum Cypress Krempel absolut zuverlässig 
und ist von MS digital signiert.

von P. K. (pek)


Lesenswert?

Christian R. schrieb:
> Wir setzen den verbuggten Treiber aber seit Jahren schon nicht mehr ein,
> die WinUSB läuft da im Gegensatz zum Cypress Krempel absolut zuverlässig
> und ist von MS digital signiert.

Ich muss gestehen, dass mir das von verschiedener Seite schon empfohlen 
wurde. Allerdings betreibe ich die USB-Host Seite mehr so als 
Nebenschauplatz, und scheue etwas die Geschichte mit dem erneuten 
Eintragen und Zertifizieren unseren eigenen VID/PID (war damals, i.e. 
vor meiner Zeit ein ziemliches Kopfweh...). Habe mich also immer nach 
dem Motto "never Change a running System" verhalten.
Oder gibt's mit dem Windows-Treiber (WinUSB) einen leichteren Weg?

von Christian R. (supachris)


Lesenswert?

P. K. schrieb:
> und scheue etwas die Geschichte mit dem erneuten
> Eintragen und Zertifizieren unseren eigenen VID/PID

Du musst ja nur die eigene VID/PID in das Inf file für WinUSB eintragen.
Aber WinUSB hat keine native .NET Unterstützung, da bist du auch bei 
Python wieder an der normalen CTypes Geschichte.
Da gibts aber schon einiges: 
http://stackoverflow.com/questions/12926923/winusb-dll-and-python-specifically-winusb-initialize

von P. K. (pek)


Lesenswert?

Christian R. schrieb:
> Da gibts aber schon einiges:
> 
http://stackoverflow.com/questions/12926923/winusb-dll-and-python-specifically-winusb-initialize

Das sieht gut aus, werde das vermutlich als Basis benutzen. Vielen Dank!

: Bearbeitet durch User
von P. K. (pek)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.