Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.sci.electronics > #224570 > unrolled thread

Daten an USB HID senden

Started byJohannes Bauer <dfnsonfsduifb@gmx.de>
First post2017-03-16 18:50 +0100
Last post2017-03-19 21:15 +0100
Articles 4 — 2 participants

Back to article view | Back to de.sci.electronics


Contents

  Daten an USB HID senden Johannes Bauer <dfnsonfsduifb@gmx.de> - 2017-03-16 18:50 +0100
    Re: Daten an USB HID senden Christian Zietz <newsgroup.1001@chz.xyz> - 2017-03-16 19:58 +0100
      Re: Daten an USB HID senden Johannes Bauer <dfnsonfsduifb@gmx.de> - 2017-03-17 20:06 +0100
      Re: Daten an USB HID senden Johannes Bauer <dfnsonfsduifb@gmx.de> - 2017-03-19 21:15 +0100

#224570 — Daten an USB HID senden

FromJohannes Bauer <dfnsonfsduifb@gmx.de>
Date2017-03-16 18:50 +0100
SubjectDaten an USB HID senden
Message-ID<oaej8s$5bl$1@news.albasani.net>
Hallo Gruppe,

ich habe ein Projekt mit einem STM32F407, das als USB Device fungieren
soll und an einen PC angeschlossen werden soll. Gegenüber dem PC tritt
es als USB HID Device auf.

Jetzt brauche ich allerdings auch noch einen "Rückkanal", auf dem ich
möglichst einfach (und Standardkonform) sehr geringe Datenmengen
übertragen kann (Größenordnung 10 Byte/Sekunde). Der Knackpunkt ist,
dass das alles mit "Standard" Treibern funktionieren soll und zwar
leider auch unter Windows.

Ich habe also hin- und herüberlegt, wie das ein einfachsten zu
bewerkstelligen wäre. Eine Möglichkeit wäre, dass die eine Richtung via
USB HID gemacht wird (Daten an den PC senden), der STM32 dann aber noch
ein USB RS232 emuliert und ich darüber meine Rückrichtung hinkriege.
Vorteil wäre, dass HID "einfach so" funktioniert und RS232 auch und auch
supersimpel anzusteuern wäre. Nachteil: Ich weiß gar nicht, ob USB
überhaupt unterstützt, dass da plötzlich zwei Geräte sind (m.W.n. geht
das nicht).

Aber es muss ja auch für USB HID einen "Standard" Rückkanal geben (z.B.
um per Software NUM Lock LEDs zu setzen o.ä.). Was ist denn da das
einfachste (im Hinblick auf: Unter Windows möglichst irgendeine
Standard-API nehmen, ich will da so wenig wie möglich programmieren
müssen). Wenn es nur Linux wäre, würde ich das alles per USB Bulk machen
und meinen HID-Treiber selber schreiben, aber das mache ich garantiert
nicht unter Windows :-(

Alle Tipps und Brainstorming herzlich willkommen,
Viele Grüße,
Johannes


-- 
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt?
> Zumindest nicht öffentlich!
Ah, der neueste und bis heute genialste Streich unsere großen
Kosmologen: Die Geheim-Vorhersage.
 - Karl Kaos über Rüdiger Thomas in dsa <hidbv3$om2$1@speranza.aioe.org>

[toc] | [next] | [standalone]


#224583

FromChristian Zietz <newsgroup.1001@chz.xyz>
Date2017-03-16 19:58 +0100
Message-ID<ej05j2Fj74eU1@mid.individual.net>
In reply to#224570
Johannes Bauer schrieb:

> Aber es muss ja auch für USB HID einen "Standard" Rückkanal geben (z.B.
> um per Software NUM Lock LEDs zu setzen o.ä.). Was ist denn da das
> einfachste (im Hinblick auf: Unter Windows möglichst irgendeine
> Standard-API nehmen, ich will da so wenig wie möglich programmieren
> müssen).

Klar unterstützt (USB) HID auch einen Kanal zum Gerät. Stichwort Output
und Feature Reports. Welche API nimmst Du denn zum Lesen von Daten vom
HID-Gerät? Warum nimmst Du die nicht auch zum Schreiben?

Direkt mit der Win32-API wäre:
<https://msdn.microsoft.com/de-de/library/windows/hardware/ff539956(v=vs.85).aspx>;
es gibt aber auch Bibliotheken, die das ein wenig kapseln.
<https://github.com/signal11/hidapi> habe ich persönlich nicht
verwendet, aber es sieht ganz nett (und plattformunabhängig) aus.

Grüße
Christian
-- 
Christian Zietz  -  CHZ-Soft  -  czietz (at) gmx.net
WWW: http://www.chzsoft.de/
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA

[toc] | [prev] | [next] | [standalone]


#224663

FromJohannes Bauer <dfnsonfsduifb@gmx.de>
Date2017-03-17 20:06 +0100
Message-ID<oahc34$bs3$1@news.albasani.net>
In reply to#224583
Hi Christian,

On 16.03.2017 19:58, Christian Zietz wrote:

> Klar unterstützt (USB) HID auch einen Kanal zum Gerät. Stichwort Output
> und Feature Reports. Welche API nimmst Du denn zum Lesen von Daten vom
> HID-Gerät? Warum nimmst Du die nicht auch zum Schreiben?

Hmmm, ich bin gerade erst dabei, das Device zu fertigen. Die API habe
ich mir bisher erst rudimentär angesehen.

Keine Ahnung, ich hatte bisher nur gelesen dass HID Devices einen
Interrupt-IN Endpoint hatten und bisher keines mit Interrupt-OUT gesehen
-- aber da das geht, werde ich das so machen, das ist ganz prima!

> Direkt mit der Win32-API wäre:
> <https://msdn.microsoft.com/de-de/library/windows/hardware/ff539956(v=vs.85).aspx>;
> es gibt aber auch Bibliotheken, die das ein wenig kapseln.
> <https://github.com/signal11/hidapi> habe ich persönlich nicht
> verwendet, aber es sieht ganz nett (und plattformunabhängig) aus.

In der Tat, insbesondere weil ich Linux und Windows unterstützen möchte,
werde ich die einsetzen.

Vielen Dank für die Hilfe,
Johannes

-- 
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt?
> Zumindest nicht öffentlich!
Ah, der neueste und bis heute genialste Streich unsere großen
Kosmologen: Die Geheim-Vorhersage.
 - Karl Kaos über Rüdiger Thomas in dsa <hidbv3$om2$1@speranza.aioe.org>

[toc] | [prev] | [next] | [standalone]


#224807

FromJohannes Bauer <dfnsonfsduifb@gmx.de>
Date2017-03-19 21:15 +0100
Message-ID<oamos9$et8$1@news.albasani.net>
In reply to#224583
Hi nochmal,

On 16.03.2017 19:58, Christian Zietz wrote:

> Klar unterstützt (USB) HID auch einen Kanal zum Gerät. Stichwort Output
> und Feature Reports. Welche API nimmst Du denn zum Lesen von Daten vom
> HID-Gerät? Warum nimmst Du die nicht auch zum Schreiben?
> 
> Direkt mit der Win32-API wäre:
> <https://msdn.microsoft.com/de-de/library/windows/hardware/ff539956(v=vs.85).aspx>;
> es gibt aber auch Bibliotheken, die das ein wenig kapseln.
> <https://github.com/signal11/hidapi> habe ich persönlich nicht
> verwendet, aber es sieht ganz nett (und plattformunabhängig) aus.

Nochmal vielen Dank für den Tipp.

Ich habe das gerade fertiggestellt und es läuft EINWANDFREI. Die Library
ist echt superklasse (extrem einfache, schlanke, super saubere und
intuitive API) und das funktioniert "einfach so", nachdem ich mir meinen
OUT Endpoint hinzugefügt habe.

Sehr cool, das macht mir mein Leben sehr viel leichter :-)

Viele Grüße,
Johannes


-- 
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt?
> Zumindest nicht öffentlich!
Ah, der neueste und bis heute genialste Streich unsere großen
Kosmologen: Die Geheim-Vorhersage.
 - Karl Kaos über Rüdiger Thomas in dsa <hidbv3$om2$1@speranza.aioe.org>

[toc] | [prev] | [standalone]


Back to top | Article view | de.sci.electronics


csiph-web