RINGDALE USB (UNIVERSAL SERIAL BUS) HID RELAY CONTROLLER (1543) TECHNICAL REFERENCE MANUAL Rev 1.0 April 2006 ©Copyright 2006 Ringdale, Inc.
NOTE Information in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Ringdale, Inc. Ringdale is a registered trademark of Ringdale, Inc .
USB COMMUNICATIONS This device conforms to the USB specification revision 2.0. This device also conforms with the Human Interface Device (HID) class specification version 1.1. The device communicates to the host as a vendor defined HID device. The details about how the relay status and commands are structured into HID reports follow later in this section.
The Ringdale HID Relay Controller uses 3 endpoints: Control Endpoint 0 1 IN (to host) interrupt endpoint – 0x81 1 OUT (from host) interrupt endpoint – 0x02 CONFIGURATION DESCRIPTOR Item Value (Hex) bLength 09 bDescriptorType = Configuration 02 wTotalLength 0029 bNumInterfaces 01 bConfigurationValue 01 iConfiguration 00 bmAttributes 80 bMaxPower 41 bLength 09 bDescriptorType = Interface 04 bInterfaceNumber 00 bAlternateSetting 00 bNumberEndpoints 02 bInterfaceClass 03 bInterfaceSubClass 00 bInterfaceProtocol
HID USAGES HID devices send data in reports. Elements of data in a report are identified by unique identifiers called usages. The structure of the device’s reports and the device’s capabilities are reported to the host in a report descriptor. The host usually gets the report descriptor only once, right after the device is plugged in. The report descriptor usages identify the devices capabilities and report structures.
Output Report Usage (Operational commands) Report Count (8) Output (Data, Variable, Absolute, Bitfield) 09 02 95 08 91 02 Feature Report Usage (Configuration message) Report Count (8) Feature (Data, Variable, Absolute, Bitfield) End Collection 09 03 95 08 B1 02 C0 CONTROL COMMANDS Relay configuration data is read /set using the Feature Report via the Control Pipe (Endpoint 0) Write = Set relay configuration Read = Get relay configuration cmd 0x00 = reply (to read config request) data: byte reserved1; by
STATUS REPORT A status report is an 8 byte report received by the host on the Input interrupt endpoint whenever the device changes state. When the host requests an interrupt packet and no status change report is pending, the unit will respond with a NAK reply. A status report can be made pending by the host by using the operational command RequestStatus. Status report: byte open; byte alarm; byte padding[6]; The open parameter will have a value of 1 or 0. A 1 indicates that the relay is powered open.
RequestStatus cmnd = 0x04 parameters: none The device will respond to the next In interrupt pipe request with a status report.