Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:dev:tailcontrol-command-protocol [2025/11/04 16:46] – darkgrue | en:dev:tailcontrol-command-protocol [2026/05/16 04:42] (current) – darkgrue | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| - | Command list for the Tail Company TailControl firmware. TailControl is the unified firmware platform (version 5.// | + | Command list for the Tail Company TailControl firmware. TailControl is the unified firmware platform (version 5.// |
| All commands are case-sensitive. Trailing whitespace (e.g., `NULL`, `CR`, etc.) are ignored. The space between a command keyword and the parameters is mandatory. | All commands are case-sensitive. Trailing whitespace (e.g., `NULL`, `CR`, etc.) are ignored. The space between a command keyword and the parameters is mandatory. | ||
| Line 20: | Line 20: | ||
| Device name is one of the following: | Device name is one of the following: | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| + | * '' | ||
| - | The BLE Device | + | TailControl will uses the same Service and Characteristics UUIDs across all supported products: '' |
| - | * RX Characteristic is '' | + | |
| - | * TX Characteristic is '' | + | |
| - | * Battery Voltage is '' | + | |
| - | The BLE Device Service for the EarGear 2 is '' | + | |
| - | * RX Characteristic is '' | + | * TX Characteristic is '' |
| - | * TX Characteristic is '' | + | |
| - | * Battery Voltage is '' | + | |
| - | + | ||
| - | <WRAP round todo 90%> | + | |
| - | TailControl will use a new Service and Characteristics UUIDs going forward, to distinguish it from previous firmwares (and to further enforce the “forklift upgrade” required). | + | |
| - | + | ||
| - | The BLE Device Service for TailControl is '' | + | |
| - | | + | |
| - | * TX Characteristic is '' | + | |
| * Battery Voltage is '' | * Battery Voltage is '' | ||
| - | </ | ||
| <WRAP round important 90%> | <WRAP round important 90%> | ||
| Line 105: | Line 93: | ||
| - | ===== Move Commands | + | ===== Servo-Based Moves (ClawGear, EarGear 2, MiTail, MiTail Mini, FlutterWings) |
| - | Move commands return ''< | + | Move commands return ''< |
| A command will return '' | A command will return '' | ||
| Line 131: | Line 119: | ||
| | **TAILU3** | **U**ser defined **3** | | | **TAILU3** | **U**ser defined **3** | | ||
| | **TAILU4** | **U**ser defined **4** | | | **TAILU4** | **U**ser defined **4** | | ||
| + | |||
| + | |||
| + | ===== Stepper-Based Moves (Not Currently Used) ===== | ||
| + | |||
| + | Move commands return ''< | ||
| + | |||
| + | A command will return '' | ||
| + | |||
| + | A new command that is received before the currently executing command is finished will immediately end the current command and start the new one. | ||
| + | |||
| + | | **TAILHM** | **H**o**M**e position | | ||
| + | | **MOVE1** | **MOVE** **1** | | ||
| + | | **MOVE2** | **MOVE** **2** | | ||
| + | | **MOVE3** | **MOVE** **3** | | ||
| + | | **MOVE4** | **MOVE** **4** | | ||
| + | | **MOVE5** | **MOVE** **5** | | ||
| + | | **MOVE6** | **MOVE** **6** | | ||
| + | | **MOVE7** | **MOVE** **7** | | ||
| + | | **MOVEU1** | **MOVE** **U**ser defined **1** | | ||
| + | | **MOVEU2** | **MOVE** **U**ser defined **2** | | ||
| + | | **MOVEU3** | **MOVE** **U**ser defined **3** | | ||
| + | | **MOVEU4** | **MOVE** **U**ser defined **4** | | ||
| + | |||
| + | |||
| + | ===== ClawGear-only Commands ===== | ||
| + | |||
| + | | **CLAPMODE** | Starts Clap Mode (and disables Tilt Mode, if enabled), returns '' | ||
| + | | **STOPCLAP** | Stops Clap Mode, returns '' | ||
| + | | **STOPTILT** | Stops Tilt Mode, returns '' | ||
| + | | **TILTMODE** | Starts Tilt Mode (and disables Clap Mode, if enabled), returns '' | ||
| + | |||
| + | ===== EarGear 2-only Commands ===== | ||
| + | |||
| + | | **LISTENMODE** | Starts Listen Mode ([[#Listen Mode|see below]]), returns '' | ||
| + | | **STOPLISTEN** | Stops Listen Mode ([[#Listen Mode|see below]]), returns '' | ||
| + | | **STOPTILT** | Stops Tilt Mode ([[#Tilt Mode|see below]]), returns '' | ||
| + | | **TILTMODE** | Starts Tilt Mode ([[#Tilt Mode|see below]]), returns '' | ||
| Line 155: | Line 180: | ||
| - | ===== EarGear 2-only | + | ===== RGB LED Commands ===== |
| - | | **LISTENMODE** (or **LISTEN FULL**) | Starts Listen Mode ([[#Listen Mode|see below]]), returns '' | + | RGB support is experimental, and not included in production firmware. |
| - | | **STOPLISTEN** (or **ENDLISTEN**) | Stops Listen Mode ([[#Listen Mode|see below]]), returns '' | + | |
| - | | **STOPTILT** (or **ENDTILTMODE**) | Stops Tilt Mode ([[#Tilt Mode|see below]]), returns '' | + | |
| - | | **TILTMODE** (or **TILTMODE START**) | Starts Tilt Mode ([[#Tilt Mode|see below]]), returns '' | + | |
| - | + | ||
| - | + | ||
| - | ===== RGB LED Commands ===== | + | |
| | **RGBOFF** | **RGB** LEDs **OFF**, returns '' | | **RGBOFF** | **RGB** LEDs **OFF**, returns '' | ||
| Line 201: | Line 220: | ||
| | **SETHOLDONSTOP** | **SET** servo **HOLD** is maintained when the servos **STOP** (maintains servo PWM when not moving, default for EarGear 2); returns '' | | **SETHOLDONSTOP** | **SET** servo **HOLD** is maintained when the servos **STOP** (maintains servo PWM when not moving, default for EarGear 2); returns '' | ||
| | **UNSETHOLDONSTOP** | **UNSET** servo **HOLD** when the servos **STOP** (servo PWM is dropped when not moving, default for tail-based devices); returns '' | | **UNSETHOLDONSTOP** | **UNSET** servo **HOLD** when the servos **STOP** (servo PWM is dropped when not moving, default for tail-based devices); returns '' | ||
| - | | **SETHOME** | **SET** **HOME** position (0 through 8) for each servo (e.g., '' | + | | **SETHOME** | **SET** **HOME** position (0 through 8) for eac2h servo (e.g., '' |
| | **SETLISTENMOVES** | **SET** internal **LISTEN** Mode **MOVES** to play on a listen event in addition to sending event notifications; | | **SETLISTENMOVES** | **SET** internal **LISTEN** Mode **MOVES** to play on a listen event in addition to sending event notifications; | ||
| | **UNSETLISTENMOVES** | **UNSET** internal **LISTEN** Mode **MOVES** to play on a listen event, only an event notification will be sent and it is the responsibility of the connected application to send commands to react to events; returns '' | | **UNSETLISTENMOVES** | **UNSET** internal **LISTEN** Mode **MOVES** to play on a listen event, only an event notification will be sent and it is the responsibility of the connected application to send commands to react to events; returns '' | ||
| Line 381: | Line 400: | ||
| **STOPPUSSKEY** | **STOPPUSSKEY** | ||
| - | The device will then reboot after 3 seconds. If the bond needs to be removed or reset, see [[en: | + | The device will then reboot after 3 seconds. If the bond needs to be removed or reset, see [[en: |
| - | ==== Unbinding ==== | + | ==== Unbinding |
| Resetting/ | Resetting/ | ||
| Line 391: | Line 410: | ||
| * Sending a '' | * Sending a '' | ||
| - | * Performing a factory reset using the single button: | + | * Performing a factory reset using the single button |
| - Press and hold the power button. | - Press and hold the power button. | ||
| - At approximately 3 seconds, the blue LED will flash three times and turn off. Continue to hold without releasing the button. If you wish to cancel the factory reset, release at any time before the next step and the device will power off. | - At approximately 3 seconds, the blue LED will flash three times and turn off. Continue to hold without releasing the button. If you wish to cancel the factory reset, release at any time before the next step and the device will power off. | ||
| Line 466: | Line 485: | ||
| - | == Copyright 2024-2025 © The Mechanical Tail Company Limited contact@thetailcompany.com. All Rights Reserved. The Mechanical Tail Company Limited also claims trademark rights in the following: TailControl, | + | == Copyright 2024-2026 © The Mechanical Tail Company Limited contact@thetailcompany.com. All Rights Reserved. The Mechanical Tail Company Limited also claims trademark rights in the following: TailControl, |
