MCP2221 und HID

Gast #4824679
Wie kann ich den MCP2221 unter Linux über HID ansteuern ?

Mein MCP2221 wir als "/dev/hidraw3" erkannt.

Ich kann die Device mit
1
int fd = open("/dev/hidraw3", O_RDWR|O_NONBLOCK);
öffnen.


So kann ich den Herstelle-Name auslesen.
1
int res;
2
char buf[256];
3
res = ioctl(fd, HIDIOCGRAWNAME(256), buf);

Kann ich irgendwie auch mit "ioctl(fd, ....." auf die GPIO und I²C 
zugreifen ?
#4824843
Mathias schrieb:

> Kann ich irgendwie auch mit "ioctl(fd, ....." auf die GPIO und I²C
> zugreifen ?

Ja, das müsste gehen.

Wie Du mit hidraw umgehst, steht hier:
https://www.kernel.org/doc/Documentation/hid/hidraw.txt
(oder in Deinem Kernel-Source-Verzeichnis)

Im Datenblatt 
http://ww1.microchip.com/downloads/en/DeviceDoc/20005292B.pdf
ab Seite 23 ("3.0 USB HID COMMUNICATION") findest Du die Struktur der 
HID-Pakete. Die sind immer 64 Byte groß und werden mit read() und 
write() übertragen.

Damit müsstest Du alle nötigen Informationen zusammen haben.

fchk
#4824893
>Wie Du mit hidraw umgehst, steht hier:
>https://www.kernel.org/doc/Documentation/hid/hidraw.txt

Das habe ich hier auch gefunden, ich konnte es auch fehlerfrei 
kompilieren und starten. Das spuckt mir aber nur Info zu den HID-Geräten 
aus.

https://android.googlesource.com/kernel/common.git/+/android-3.10/samples/hidraw/hid-example.c

>Im Datenblatt
>http://ww1.microchip.com/downloads/en/DeviceDoc/20...
>ab Seite 23 ("3.0 USB HID COMMUNICATION") findest Du die Struktur der
>HID-Pakete. Die sind immer 64 Byte groß und werden mit read() und
>write() übertragen.

Dies habe ich auch schon gesehen, werde aber nicht schlau.

Schön wäre ein Beispiel, wie ich zB. den GPIO0 ein und ausschalte.
Google findet da leider nichts.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.