HID erstmal, steht für Human Interface Device und ist eine Art "Schnittstelle" um USB Geräte anzubinden die für Mensch Maschine Interaktionen gedacht sind ... Tastatur ist da der naheliegendste Vergleich.
Ich habe mir vor ein paar Wochen eine 3x3 Tasten mini Tastatur geholt mit RGB LEDs und der Hoffnung, dass die LEDs auch interaktiv vom PC aus reagieren ... leider ist es nur eine statische Beleuchtung, die ich zwar anpassen kann aber eben nicht live und auch nur über das ziemlich murksige Tool.
Versuche die Tastatur zu verstehen endeten bei einem ATMega32 (NICHT U, also ohne nativen USB) der irgendeine kryptische USB Schaltung verwendet, die ich nur teilweise auf einer Russischen Webseite ohne Code gefunden habe ... den Controller Umflashen fällt damit also flach.
Jetzt habe ich mir den Leonardo Pro Micro geholt weul das ein Mega32U4 (mit nativem USB) ist und unter Arduino als HID Gerät konfiguriert werden kann.
Er wird schon als Tastatur Maus und Gamecontroller gleichzeitig erkannt, aber ich brauche einen Rückkanal um vom PC aus die Tasten zu konfigurieren und die LEDs anzusteuern.
Das HID Interface (BootKeyboard aus dem HID-Projekt ganz genau) bietet eine Unterstützung für FeatureReports, das ist eine relativ simple SChnittstelle soweit ich es verstanden habe, bei der man auf der API SEite des PC nur einen Datenblock mit einer führenden ID Nummer an das GErät senmdet und dort beliebig interpretieren kann.
Das wäre die IDeale Schnittstelle, aber ich scheiterte daran, dass die HID4Java Lib eben eine alte DLL verwendete, mit der ich das Gerät unter Win 10 nicht öffnen kann. Die DLL ersetzen hat leider keinen nennenswerten Erfolg gezeigt, das Gerät lässt sich zwar öffnen aber der sendFeatureReport Aufruf scheitert immer mit -1 (ich vermute fast das ist ein Failsafe, weil die Methode in der DLL wahrscheinlich eine andere Signatur bekommen hat)
Ich könnte zwar hingehen und den Code von HIDApi und HID4Java anpassen, aber den Kaninchenbau wollte ich eigentlich noch nicht betreten.
Die Idee mit Seriell ist mir heute früh auch gekommen, das wäre für den Rückkanal zumindest erstmal eine Option, ich berichte mal ob HID Modus und virtueller COM Port gleichzeitig möglich sind, das ist nämliche meine nächste Befürchtung.
------------------------
Zum eigentlichen Topic:
Java ist eigentlich mein Mittel der WAhl für GUI auf dem PC, weil es prinzipiell unter allen OS läuft für die es eine Java Runtime gibt, aber die Einbindung von USB erfordert native Unterstützung und als ich gestern versucht habe Visual Studio zu laden (in der 2010er Edition gabs noch die Kostenlose Version für privat) wurde ich aber von M$ bitter enttäuscht.
Daher Suche ich im Moment entweder nach einer leichtgewichtigen, halbwegs WYSIWYG Editor ähnlichen Grundlage mit der ich ohne C++ in 3ter Potenz rumeiern muss um mir eine einfache GUI zu bauen.
Ist Borland denn prinzipell erstmal kostenfrei nutzbar?!
Am liebsten würde ich ja mit ein paar Plugins unter Eclipse arbeiten, aber man wird mit halbfertigen Werkzeugen förmlich erschlagen wenn man im Marketplace sucht, ich finde halt im Moment einfach kein brauchbares Tool.
Lesezeichen