RailDriver OCU Data Report | Main Page

General Information

VID 05f3h
PID 0161h or 353
Consumer Usage Page 1
Usage Page 000Ch or 12

RailDriver OCU Input Report

The following types of input reports are available; General Incoming Data.

Figure 1: OCU reference.

Endpoint: 1, consumer usage page

Report Length: 18 bytes.

1.  General incoming data

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
Bytes 16-17
Byte 18
Constant
Right Knob MSB
Right Knob LSB
Left Knob MSB
Left Knob LSB
Right Joystick X MSB
Right Joystick X LSB
Right Joystick Y MSB
Right Joystick Y LSB
Left Joystick X MSB
Left Joystick X LSB
Left Joystick Y MSB
Left Joystick Y LSB
Digital Input
Digital Input
Reserved
Unit ID
(0-255)
0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
D1
D2
value
<data>

A1: Right knob MSB or high order byte. Combine with A2 to get Right Knob value=A1*256+A2.
A2: Right knob LSB or low order byte. Combine with A1 to get Right Knob value=A1*256+A2.
A3: Left knob MSB or high order byte. Combine with A4 to get Left Knob value=A3*256+A4.
A4: Left knob LSB or low order byte. Combine with A3 to get Left Knob value=A3*256+A4.
A5: Right Joystick X MSB or high order byte. Combine with A6 to get Right Joystick X value=A5*256+A6.
A6: Right Joystick X LSB or low order byte. Combine with A5 to get Right Joystick X value=A5*256+A6.
A7: Right Joystick Y MSB or high order byte. Combine with A8 to get Right Joystick Y value=A7*256+A8.
A8: Right Joystick Y LSB or low order byte. Combine with A7 to get Right Joystick Y value=A7*256+A8.
A9: Left Joystkck X MSB or high order byte. Combine with A10 to get Left Joystick X value=A9*256+A10.
A10: Left Joystick X LSB or low order byte. Combine with A9 to get Left Joystick X value=A9*256+A10.
A11: Left Joystkck Y MSB or high order byte. Combine with A12 to get Left Joystick Y value=A11*256+A12.
A12: Left Joystick Y LSB or low order byte. Combine with A11 to get Left Joystick Y value=A11*256+A12.
D1:  Bit 1=SW4 up, bit 2=SW4 down, bit 3=SW3 up, bit 4=SW3 down, bit 5=SW2 up, bit 6=SW2 down, bit 7=SW1 up, bit 8=SW1 down.
D2
:  Bit 1=Tilt Sensor upright, bit 2=Right Black Button, bit 3=Green Button, bit 4=Left Black Button, bit 5=SW6 up, bit 6=SW6 down, bit 7=SW5 up, bit 8=SW5 down.

RailDriver OCU Output Reports

The following types of output reports are available; Set LEDs 1, Set LEDs 2, Clear LCD, Initialize LCD, Write Characters to LCD. 

Endpoint: 2, vendor defined usage page

Report Length: 9 bytes.

1. Set LEDs 1 - Turn on or off LEDs.

Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
Byte 9
Constant
LED Command
Group 1
Group 2
Group 3
Group 4
Group 5
Group 6
LED Control
0
93h
G1
G2
G3
G4
G5
G6
11h

G1:  For all bits 0=ON, 1=OFF. Bits 1-4=na, bit 5=Ind. REL red, bit 6=Ind. REL yellow, bit 7=LOW red, bit 8=LOW yellow.
G2:  For all bits 0=ON, 1=OFF. Bit 1=Ind. MED red, bit 2= Ind. MED yellow, bit 3=Ind. FULL red, bit 4=Ind. FULL yellow, bit 5=EMERG red, bit 6=EMERG yellow, bits 7-8=na.
G3:  For all bits 0=ON, 1=OFF. Bit 1=STOP red, bit 2= STOP yellow, bit 3=COAST B/H1 red, bit 4=COAST B/H1 yellow, bit 5=COAST/H2 red, bit 6=COAST/H2 yellow, bit 7=COUPLE/H3 red, bit 8=COUPLE/H3 yellow.
G4:  For all bits 0=ON, 1=OFF. Bit 1=4 red, bit 2= 4 yellow, bit 3=7 red, bit 4=7 yellow, bit 5=10 red, bit 6=10 yellow, bit 7=15 red, bit 8=15 yellow.
G5:  For all bits 0=ON, 1=OFF. Bit 1=Auto REL yellow, bit 2= Auto REL red, bit 3=MIN yellow, bit 4=MIN red, bit 5=LIGHT yellow, bit 6=LIGHT red, bit 7=Auto MED yellow, bit 8=Auto MED red.
G6:  For all bits 0=ON, 1=OFF. Bit 1=Auto FULL yellow, bit 2= Auto FULL red, bit 3=CHARGE yellow, bit 4=CHARGE red, bit 5=HEADLIGHT, bit 6=na, bit 7=REV red, bit 8=REV yellow.

2. Set LEDs 2 - Turn on or off LEDs.

Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
Byte 9
Constant
LED Command
Group 7
Constant
Constant
Constant
Constant
Constant
LED Control
0
93h
G7
0
0
0
0
0
22h

G7:  For all bits 0=ON, 1=OFF. Bit 1=N red, bit 2= N yellow, bit 3=FWD red, bit 4=FWD yellow, bit 5=hidden blue LED in the Independent section, bit 6=hidden blue LED in the Auto section, bit 7=hidden blue LED near REV, bit 8=hidden blue LED near HEADLIGHT.

3. Clear LCD - Clears the LCD screen.

Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
Byte 9
Constant
Clear LCD Command
Constant
Constant
Constant
Constant
Constant
Constant
Constant
0
90h
0
0
0
0
0
0
0

4. Initialize LCD - Writes RailDriver OCU to the LCD screen.

Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
Byte 9
Constant
Initialize LCD Command
Constant
Constant
Constant
Constant
Constant
Constant
Constant
0
97h
0
0
0
0
0
0
0

5. Write Characters to LCD - Write characters to the LCD screen.

Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
Byte 9
Constant
Write to LCD Command
Start Character Pos
1st Character
2nd Character
3rd Character
4th Character
5th Character
6th Character
0
LCD
Pos
Val
Val
Val
Val
Val
Val

LCD:  The command is either d1h to send 1 character, d2h to send to characters, d3h to send 3 characters, d4h to send 4 characters, d5h to send 5 characters, d6h to send 6 characters.
Pos
:  Position at which to begin writing the 6 characters. Line 1 starts at Pos=0. Line 2 starts at Pos=64.
Val:   The ASCII value for the desired character. Special characters are a1h-ffh and can be found in WH1602B-Y-JCS.pdf, page 10, Table 2.

Example: To write completely on both lines send the following reports, values in hex.

0, d6, 00, 41, 42, 43, 44, 45, 46 //write A, B, C, D, E, F starting at Pos=00
0, d6, 06, 47, 48, 49, 4A, 4B, 4C //write G, H, I, J, K, L starting at Pos=06
0, d4, 0C, 4D, 4E, 4F, 50 // writeM, N, O, P starting at Pos=0C (12)
0, d6, 40, 51, 52, 53, 54, 55, 56 //write Q, R, S, T, U, V starting at Pos=40, start of line 2
0, d6, 46, 57, 58, 59, 5A, 5B, 5C //write W, X, Y, Z, 0, 1 starting at Pos=46
0, d4, 4C, 32, 33, 34, 35 //write 2, 3, 4, 5 starting at Pos=4C