AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

HID Ansteuerung

Ein Thema von Union · begonnen am 28. Feb 2007 · letzter Beitrag vom 28. Feb 2007
Antwort Antwort
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#1

HID Ansteuerung

  Alt 28. Feb 2007, 17:55
Ich verwende die Jedi HID Komponente um ein Telefonie-Headset anzusteuern. Ich habe auch erreicht was ich wollte, aber nur durch Herumprobieren.

Ich habe folgende Aufgabenstellungen:

Wird die Verbinden/Auflegen-Taste gedrückt

Im TJvHidDevice.OnData Event erhalte ich 3 Datenblöcke, bei denen jeweils die ersten drei Byte unterschiedlich sind. Beim Anschalten ist dies $80,$00,$01 und beim Ausschalten $81,$01,$00.

Internen Ringer des Headset setzen

Ich sende einen Datenblock an das Gerät. Dabei scheinen nur die ersten zwei Byte relevant. Das erste Byte im Puffer definiert dabei den Report und das erste Datenbyte einen Wert für an/aus.

Leider weiss ich nicht, warum das funktioniert. Gibt es eine Möglichkeit das allgemeingültig und richtig zu machen, nachdem man die HID-Informationen ausgelesen hat? Ich sehe jedenfalls auf den ersten Blick keine Zusammenhänge.


Hier die entsprechenden Daten:
Code:
"Plantronics BT Adapter" VID=$047F PID=$4254
      UsagePage=Consumer ($000C) Usage=Consumer Control ($0001) CollectionType=Application ($01)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=B7 ($00B7)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=B6 ($00B6)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=B5 ($00B5)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=B4 ($00B4)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=B3 ($00B3)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=B2 ($00B2)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=B1 ($00B1)
         Button Input: UsagePage=FFA0 ($FFA0) Usage=A1 ($00A1)
         Button Output: UsagePage=Telephony ($000B) Usage=Ringer ($009E)
         Button Feature: UsagePage=FFA0 ($FFA0) Usage=1 ($0001)
         Button Feature: UsagePage=FFA0 ($FFA0) Usage=B5 ($00B5)
         Button Feature: UsagePage=FFA0 ($FFA0) Usage=A1 ($00A1)
         Value Feature: UsagePage=FFA0 ($FFA0) Usage=9 ($0009)
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: HID Ansteuerung

  Alt 28. Feb 2007, 19:08
Kannst mich doch direkt anschreiben
Ich habe da einen Design-Fehler gemacht. Ich haette im OnData-Event die ReportID nicht vom Rest des Reports abtrennen sollen.
Jetzt ksann man den Puffer nicht direkt in eine von den GetUsageValue-Methoden fuettern.

Prinzipiell funktioniert das HID API so dass man einen Report liest und dann eine Usage extrahiert.
Der HID-Deskriptor beschreibt naemlich genau die Struktur des Reports.
Schick mir mal direkt robert_marquardt att gmx dott de den Output von UsagesDemo und CollectionDemo und dein Programm.
Ich bau dann ein wie man das macht. Ein HID-Geraet das einen Deskriptor hat der wirklich strukturiert ist, ist eher selten, daher werden die Methoden selten nachgefragt.

Ich habe die Idee das man ein Report-Objekt einfuehrt das die ganzen Analysemethoden in Properties umsetzt, aber ich finde einfach keine Zeit das zu realisieren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz