Data | Field | Remark |
40 | RequestTypeReservedBits | Vendor type request, 40 = PC-to-scanner, C0 = Scanner-to-PC |
0c | Request | 0C when 1 byte is transferred, 04 when more bytes are transferred |
0088 | Value | Parallel port register code, see table below |
0d74 | Index | Does not seem important. In my test program a value of 0 works OK. |
0001 | TransferBufferLength | Length of additional data, always 1 for simple packets |
90 | Data | Data transferred from or to register |
Transfer type | Buffer | Remark |
UsbReadScanner | 00 00 XX 00 [4-byte length] | XX is some variable value, usually 0 |
UsbReadScannerLines | 00 00 00 00 00 0C XX 00 | This command seems a bit odd compared to the others |
UsbReadScannerFast | XX 04 YY XX [4-byte length] | ??? |
UsbWriteScanner | 01 00 XX 00 [4-byte length] |
The HP3300 uses this command to write the gamma and gain/offset tables.
XX is some variable value, usually 0 |
UsbWriteScannerFw | 01 01 00 00 [4-byte length] |
The HP3400 uses this command to write the gamma and gain/offset tables. |
UsbWriteScannerAD | 01 11 00 00 [4-byte length] | ??? |