# P.I. Engineering SDK Help

## RailDriver Desktop Train Cab Controller Data Report

### General Information

VID | 05f3h
PID | 0D2h or 210
Consumer Usage Page | 1
Usage Page | 000Ch or 12

### RailDriver Desktop Train Cab Controller Input Report

Figure 1: RailDriver Desktop Train Cab Controller key reference.

Endpoint: 1, consumer usage page

Report Length: 15 bytes.

Byte 1* | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9 | Byte 10 | Byte 11 | Byte 12 | Byte 13 | Byte 14 | Byte 15
Constant | Reverser (0-255) | Throttle (0-255) | Auto Brake (0-255) | Ind. Brake (0-255) | Bail Off (0-255) | 3 Pos. Rotary 1 (0-255) | 3 Pos. Rotary 2 (0-255) | Blue Buttons (0-7) | Blue Buttons (8-15) | Blue Buttons (16-23) | Blue Buttons, Zoom, Pan (24-31) | Pan, Cab Buttons (32-39) | Cab Buttons, Whistle (40-43) | Product ID
0 | <data> | <data> | <data> | <data> | <data> | <data> | <data> | D1 | D2 | D3 | D4 | D5 | D6 | 210

D1: For all bits 0 for button up, 1 for button down. Bit 1=button 0, bit 2=button 1, bit 3=button 2, etc.
D2: For all bits 0 for button up, 1 for button down. Bit 1=button 8, bit 2=button 9, bit 3=button 10, etc.
D3: For all bits 0 for button up, 1 for button down. Bit 1=button 16, bit 2=button 17, bit 3=button 18, etc.
D4: For all bits 0 for button up, 1 for button down. Bit 1=button 24, bit 2=button 25, bit 3=button 26, etc.
D5: For all bits 0 for button up, 1 for button down. Bit 1=button 32, bit 2=button 33, bit 3=button 34, etc.
D6: For all bits 0 for button up, 1 for button down. Bit 1=button 40, bit 2=button 41, bit 3=button 42, etc.

### RailDriver Desktop Train Cab Controller Output Report

The following types of output reports are available; Write to Display and Speaker On/Off.

Endpoint: 2, vendor defined usage page

Report Length: 9 bytes.

### 1. Write to Display

Byte 1* | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9
Constant | 3 Digit Command | Right Digit | Middle Digit | Left Digit | Constant | Constant | Constant | Constant
0 | 134 | LED3 | LED2 | LED1 | 0 | 0 | 0 | 0

LED1: For all bits, 0 to turn off segment, 1 to turn on segment. Each bit corresponds to a segment as shown in figure for the right digit.
LED2: For all bits, 0 to turn off segment, 1 to turn on segment. Each bit corresponds to a segment as shown in figure for the middle digit.
LED3: For all bits, 0 to turn off segment, 1 to turn on segment. Each bit corresponds to a segment as shown in figure for the left digit.

### 2. Speaker On/Off

Byte 1* | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Byte 9
Constant | Speaker Command | Constant | Constant | Constant | Constant | Constant | Speaker Control | Constant
0 | 133 | 0 | 0 | 0 | 0 | 0 | Spk | 0

Spk: 0 to turn speaker off, 1 to turn speaker on.

*This first byte may be omitted on some non-PC operating systems. On these systems the read and write lengths will be 1 byte smaller.

Back to top