Contents
| T-Code | |
|---|---|
| Type | Device control protocol |
| Used by | OSR2, SR6, MultiFunPlayer |
| Transport | Serial (USB/BT), WebSocket |
| Spec | tcode-spec on GitHub |
T-Code is an ASCII-based serial protocol for controlling multi-axis interactive devices in real time. It defines the axis naming convention and command syntax used by OSR2, SR6, and compatible firmware.
Syntax ยง
A T-Code command encodes the target axis, position, and interpolation interval:
<Axis><Position><Interval>
- Axis โ a letter+digit identifier (L0, R0, V0, A0, B0, C0)
- Position โ 1โ4 digit value (0000โ9999, normalized to 0โ1)
- Interval โ
I+ milliseconds
Examples:
L0500I500 Move L0 (stroke) to 50% over 500ms R0999I200 Move R0 (twist) to maximum over 200ms L0000L1500I100 Move L0 and L1 simultaneously
Standard axes ยง
| Axis | Name | Description |
|---|---|---|
| L0 | Stroke | Primary up/down linear motion |
| L1 | Surge | Forward/backward linear motion |
| L2 | Sway | Left/right linear motion |
| R0 | Twist | Rotational axis |
| R1 | Roll | Roll axis |
| R2 | Pitch | Pitch axis |
| V0 | Vibe 0 | Vibration channel 0 |
| A0 | Air | Pneumatic (suction) control |