elomax

[ Techniek ] [ Shop ] [ Site map
THidDevices ] [ THidDevice ] THidDataPort ] THidWaiter ]

Terug
Omhoog

THidDevice

Waar THidDevices algemene controle geeft over alle compatibele devices die op de PC zijn aangesloten, geeft THidDevice de controle over één specifiek apparaat. Eén of meer THidDevice componenten wordt gekoppeld met een THidDevices component. Het THidDevice wordt dan aangesloten (connect) op één van de apparaten uit de lijst die THidDevices beheert. THidDevice kan dan gebruikt worden om met dat ene specifieke apparaat te communiceren. Via een THidData array kan data naar het apparaat worden opgestuurd. Als het apparaat data naar de PC stuurt, genereert THidDevice een event. THidDevice is afgeleid van TComponent.

Een eenvoudig voorbeeld maakt het gebruik van dit component snel duidelijk. U kunt het voorbeeld project hier downloaden.

Properties

HidDevices: THidDevices

Dit is een verwijzing naar het meer algemene THidDevices component. THidDevice kan dan worden aangesloten op één van de apparaten uit de lijst die THidDevices bijhoudt.

Connected: Boolean

THidDevice kan worden aangesloten op één van de apparaten uit de lijst die THidDevices bijhoudt. Zolang THidDevice is aangesloten op een apparaat, en dit apparaat niet is verwijderd, is Connected TRUE.

Handle: THandle

USB apparaten worden door Windows benaderd via een handle. Normaal gesproken zult u Handle niet nodig hebben, omdat THidDevice voldoende functies biedt. Handle is READ-ONLY.

VendorID[ Devicenr: Word]: Word

Elke fabrikant van USB apparaten kan bij het USB implementers forum een unieke Vendor ID aanvragen. Dit nummer wordt in het apparaat geprogrammeerd, en zorgt ervoor dat Windows de fabrikant van het apparaat kan herkennen. Samen met het Product ID zorgt het er tevens voor dat Windows het betreffende type apparaat kan onderscheiden van alle andere apparaten, en daardoor ervoor kan zorgen dat bij aansluiten van het apparaat de juiste drivers worden geladen. USB Solution chips worden gemaakt door Leiderdorp Instruments en hun VendorID is $07A0 (1952)

ProductID[ Devicenr: Word]: Word

Samen met het Vendor ID zorgt dit nummer ervoor dat Windows het betreffende type apparaat kan onderscheiden van alle andere apparaten, en daardoor ervoor kan zorgen dat bij aansluiten van het apparaat de juiste drivers worden geladen. Kijk bij de beschrijving van elk specifiek lid van de USB Solution familie, welk ProductID erbij hoort. ProductID is READ-ONLY.

VersionNumber[ Devicenr: Word]: Word

Elk type apparaat kan een versie nummer van het apparaat in zich hebben. Hoewel dit versie nummer als een Word wordt weergegeven, moet het beschouwd worden als vier BCD getallen. Versienummer $0100 betekent versie 01.00. VersionNumber is READ-ONLY.

ManufacturerString[ Devicenr: Word]: String

De fabrikant naam kan door de fabrikant als string in een USB apparaat worden opgeslagen, en met ManufacturerString worden uitgelezen. De fabrikant naam in een USB Solution apparaat is 'Leiderdorp Instruments'. ManufacturerString is READ-ONLY.

ProductString[ Devicenr: Word]: String

De naam van het apparaat kan door de fabrikant als string in een apparaat worden gezet, en met ProductString worden uitgelezen. Deze product naam wordt door Windows op het scherm getoond als een apparaat voor de allereerste keer wordt aangesloten, en Windows meldt bijvoorbeeld: 'New hardware found: I/O Solution.' ProductString is READ-ONLY.

SerialNumberString[ Devicenr: Word]: String

Elk USB apparaat van een bepaald type kan een eigen serienummer hebben. Dit nummer moet dan uniek zijn voor alle apparaten van het betreffende type. Met SerialNumberString kan het in het apparaat opgeslagen unieke serienummer worden uitgelezen. In een USB Solution apparaat wordt geen serienummer toegepast. In dit geval geeft SerialNumberString een lege string terug. SerialNumberString is READ-ONLY.

IndexedString[ Devicenr: Word; StringIndex: ULONG]: String

Behalve de bovengenoemde strings, kunnen in een USB apparaat nog een willekeurig aantal andere strings worden opgeslagen. De betekenis van deze extra strings hangt helemaal van het type apparaat af. In een USB Solution apparaat worden deze strings niet gebruikt, en levert IndexedString altijd een lege string op. In apparaten waar wel van deze extra strings aanwezig zijn, is de index van de eerste van deze extra strings 0. IndexedString is READ-ONLY.

Methods

Connect[ DeviceIndex: Word]

Met deze procedure wordt THidDevice aangesloten op het apparaat met nummer [ DeviceIndex] uit de lijst met apparaten van THidDevices. Als het niet lukt om aan te sluiten op het apparaat, wordt een USBException gegenereerd. Als THidDevice eerder al op een apparaat was aangesloten, dan wordt deze bestaande verbinding eerst verbroken.

Disconnect

Met deze procedure wordt THidDevice losgemaakt van het apparaat waarop het is aangesloten. Als er een apparaat was aangesloten dat als gevolg van het aanroepen van de Disconnect procedure wordt losgemaakt, wordt een OnDisconnect event gegenereerd.

HookHidDataPort( HidDataPort: THidDataPort)

Met deze procedure kan een component van het type THidDataPort aan het THidDevice component gekoppeld worden. THidDataPort kan daarna gebruikt worden om met het apparaten waaraan THidDevice is gekoppeld, te communiceren. THidDataPort geeft de mogelijkheid de 8 bytes waarmee de communicatie gepaard gaat te beschouwen als 8 losse bytes, 4 short integer, 2 long integers, een int64, of als 64 losse bits. Meestal zal het niet nodig zijn deze procedure rechtstreeks aan te roepen, omdat de koppeling ook tot stand kan worden gebracht via de Delphi IDE.

UnhookHidDataPort( HidDataPort: THidDataPort)

Met deze procedure wordt een THidDataPort die aan een THidDevice gekoppeld is, hiervan losgemaakt. Meestal zal het niet nodig zijn deze procedure rechtstreeks aan te roepen, omdat de koppeling automatisch wordt verwijderd als een THidDataPort component wordt verwijderd.

Events

OnDisconnect: TNotifyEvent

Dit event wordt gegenereerd wanneer er het apparaat waaraan THidDevice is aangesloten, wordt losgenomen.

OnHidData: THidDataEvent

Dit event wordt gegenereerd wanneer het apparaat waaraan THidDevice is aangesloten data naar de PC gestuurd heeft. Deze data kan in de THidDevice.OnHidData event handler verwerkt worden. Als een THidDataPort is gekoppeld, wordt de data tevens naar de THidDataPort gestuurd, en kan de data via dit component verwerkt worden.

Vorige ] Volgende ]

© 2005...2008 Elomax [Voorwaarden ]