Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi 7, mit USB auf Cypress CY7C68013 FX2 zugreifen

  Alt 14. Aug 2024, 19:04
Wenn das Ding so ein Ding sich selbst als COM-Port via USB ausgibt
und am Besten noch einen der 2 bzw. 3 Standard-Chipsätze nutzt oder kompatibel dazu ist,
oder es einen Treiber gibt, welcher im System einen virtuellen COM-Port bereit stellt,
dann ist es eigentlich ganz einfach und mit Hausmittelchen (ComPort-Komponente bzw. Terminal) zu realisieren.

Was das Ding für ein Protokoll über USB nutzt, hab ich auf die schnelle nicht erkennen können,
und ob man da einfach mit "Standardsachen" z.B. über die SetupAPI auf das USB-Device zugreifen könnte,
aber steht bestimmt alles in der Doku.
https://www.infineon.com/dgdl/Infine...7d0ec9f7974252

Bei speziellen Treibern, mit 'ner zu komplexen API, wird es dann schwieriger.

Hier scheint es eine DLL zu geben (wie Vorgänger erwähnte), wofür du meistens "nur" eine passende Unit mit den DLL-Exports benötigst,
und schon kannst du die Funktionen dieser DLL einfach aufrufen ... je nachdem, wie kompliziert oder pervers diese API dann aufgebaut ist, kann es einfach oder schlimm werden.

Falls es eine C++-Header-File für die DLL gibt, und es nicht extrem viele Funktionen sind, dann wäre es wohl nicht so aufwändig, das in eine Delphi-Unit zu übersetzen.


Es gibt/gab wohl auch schon Projekte, wo jemand das Ding auf einen DruckerPort umgebogen hat
und darüber via DeviceIoControl auf den RAM (Speicher) des Chips zugreift.
https://www-user.tu-chemnitz.de/~heh...LPT/api.en.htm



https://www.edaboard.com/threads/del...fx2-usb.24193/




HID ... lange her und selbst nie wirklich genutzt.
Bissl schade, dass unsere beiden foreneigenen Experten, zu diesem Thema, verstorben sind.

https://github.com/kategray/CyUSB/bl.../src/CyAPI.cpp
https://github.com/kategray/CyUSB/tr...ibrary/cpp/inc
Ich seh da jetzt keine Exports für eine DLL (oder übersehn), falls man es mit einem C++-Compiler zu einer DLL kompilieren würde/könnte,
aber vermutlich kann man den Code davon nach Delphi übersetzen und dann letztendlich via MSDN-Library durchsuchenDeviceIoControl direkt mit dem USB-Gerät reden,
falls das ganze kompatibel zum eigenen Gerät und dessen Firmware ist.

CyAPI.cpp -> CCyFX3Device würde scheinbar die eigentliche API darstellen, deren Funktionen du dann selbst ansprechen würdest (nach Aufbau der Verbindung).
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Aug 2024 um 19:29 Uhr)
  Mit Zitat antworten Zitat