2 - Connection Types
eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS)
Page 22 of 245 (D998200115-17)
2.1.1 About USB Reports, Usages, Usage Pages, and Usage IDs
All USB HID devices send and receive data using Reports. Each report can contain several sections,
called Usages, each of which has its own unique four-byte (32-bit) identifier. The two most significant
bytes of a usage are called the usage page, and the two least significant bytes are called the usage ID.
Vendor-defined HID usages must have a usage page in the range 0xFF00 - 0xFFFF, and it is common
practice for related usage IDs share the same usage page. For these reasons, all usages for MagneSafe V5
devices use vendor-defined usage page 0xFF00, Magnetic Stripe Reader.
HID reports used by the host can be divided into two types:
Feature Reports, which the host uses to send commands to the device. Feature reports can be further
subdivided into Get Feature and Set Feature types. MagneSafe V5 devices only use one feature
report.
Input Reports are used by the device to send unsolicited notifications to the host when the device’s
state changes, or to send asynchronous responses to the host when a command completes. The device
commonly uses input reports when reporting unpredictable cardholder interactions, or when a
command takes more time for the device to process than is reasonable for the host to wait on a
blocking call for the device to acknowledge completion.
For information about using feature reports to send commands to the device and receive responses from
the device, see section 2.1.2 How to Send Commands On the USB Connection. For information about
receiving unsolicited data from the device via Input Reports, see section 2.1.3 How to Receive Data On
the USB Connection (HID Only).