To perform a Read operation on the DLPC900, the host must assemble a sequence of bytes that corresponds to the command being used. The following Table 1-5 shows an example on how to read the curtain color intensity of each color.
Table 1-5 Read Operation Example (1)REPORT ID BYTE | FLAG BYTE | SEQUENCE BYTE | LENGTH (2) | USB COMMAND (2) |
---|
0x00 | 0xC0 | 0x11 | 0x02 0x00 | 0x00 0x11 |
(1) All values shown are in HEX notation.
(2) LSB precedes the MSB for each parameter.
- Report ID byte: Always set to 0.
- Flag byte. Where:
- Bits 2:0 are set to 0x00 for regular DLPC900
operation.
- Bit 6 is set to 0x01 to indicate the host wants a
reply from the device.
- Bit 7 is set to 0x01 to indicate a read
transaction.
- Sequence byte: The sequence byte can be a rolling
counter and is used primarily when the host wants a response from the
DLPC900. The DLPC900 responds with the same sequence byte that the host
sent. The host can then match the sequence byte from the command it sent
with the sequence byte from the DLPC900 response.
- Length: Two bytes in length, denotes the number
of data bytes in the sequence but excludes the number of bytes in steps 1
through 4. The length denotes the total number of bytes sent in step 5
(command bytes).
- USB Command: Two byte USB command.
- Once the host transmits the data over the USB
interface, the DLPC900 responds to the Read operation by placing the
response data in its internal buffer. The host must then perform a HID
driver read operation. Table 1-6 shows the response data sent back from the DLPC900.
- Report ID: Always set
to 0x00.
- Flag byte: The same
as was sent plus error bit. The host may check the error flag (bit
5) as follows.
- 0 = No
errors.
- 1 = Command
not found or command failed.
- Sequence byte: The
same as was sent. The host may match the sent sequence byte with the
response sequence byte.
- Length: Number of
data bytes. The host must assemble the data according to the
definition of the command.
Table 1-6 Read Response Example (1)REPORT ID BYTE | FLAG BYTE | SEQUENCE BYTE | LENGTH (2) | DATA (2) |
---|
0x00 | 0xC0 | 0x11 | 0x06 0x00 | 0xFF 0x01 0xFF 0x01 0xFF 0x01 |
(1) All values shown are in HEX notation.
(2) LSB precedes the MSB for each parameter.