Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| en:dev:tailcontrol-command-protocol [2025/11/04 16:43] – [No-phone Mode] darkgrue | en:dev:tailcontrol-command-protocol [2025/11/04 16:46] (current) – darkgrue | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| **IMPORTANT NOTICE:** TailControl and the TailControl Protocol is still under development. Some commands and features described here relate to a future release and are subject to change. | **IMPORTANT NOTICE:** TailControl and the TailControl Protocol is still under development. Some commands and features described here relate to a future release and are subject to change. | ||
| </ | </ | ||
| + | |||
| ===== Bluetooth Low Energy (BLE) ===== | ===== Bluetooth Low Energy (BLE) ===== | ||
| Line 46: | Line 47: | ||
| For tail-series (MiTail, MiTail Mini, and FlutterWings) v3.6 controller hardware, the battery charging characteristic is unset (charging state is not available). | For tail-series (MiTail, MiTail Mini, and FlutterWings) v3.6 controller hardware, the battery charging characteristic is unset (charging state is not available). | ||
| </ | </ | ||
| + | |||
| ===== TailControl Device Indicators ===== | ===== TailControl Device Indicators ===== | ||
| + | |||
| ==== Blue LED ==== | ==== Blue LED ==== | ||
| Line 60: | Line 63: | ||
| - **Blink fast three times** when the button is held for more than 3 seconds (but less than 13), indicates the device is ready to power off when the button is released. | - **Blink fast three times** when the button is held for more than 3 seconds (but less than 13), indicates the device is ready to power off when the button is released. | ||
| - **Blink fast continuously** when the button is held for more than 13 seconds, indicates the device is ready to factory reset when the button is released. | - **Blink fast continuously** when the button is held for more than 13 seconds, indicates the device is ready to factory reset when the button is released. | ||
| + | |||
| ==== Red LED ==== | ==== Red LED ==== | ||
| Line 81: | Line 85: | ||
| **Note:** Unlike the DIGITAiL, MiTail, MiTail Mini, and FlutterWings devices **can** be used while charging. | **Note:** Unlike the DIGITAiL, MiTail, MiTail Mini, and FlutterWings devices **can** be used while charging. | ||
| + | |||
| ==== Green LED ==== | ==== Green LED ==== | ||
| Line 156: | Line 161: | ||
| | **STOPTILT** (or **ENDTILTMODE**) | Stops Tilt Mode ([[#Tilt 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 '' | | **TILTMODE** (or **TILTMODE START**) | Starts Tilt Mode ([[#Tilt Mode|see below]]), returns '' | ||
| + | |||
| ===== RGB LED Commands ===== | ===== RGB LED Commands ===== | ||
| Line 169: | Line 175: | ||
| | **RGBTST** | **RGB** **TE**s**T**; | | **RGBTST** | **RGB** **TE**s**T**; | ||
| | **SETRGB** | **SET** **RGB** configuration; | | **SETRGB** | **SET** **RGB** configuration; | ||
| + | |||
| ===== Other Commands ===== | ===== Other Commands ===== | ||
| Line 204: | Line 211: | ||
| | **REBOOT** | **REBOOT**; returns '' | | **REBOOT** | **REBOOT**; returns '' | ||
| | **TASKU** | Prints to the hardware serial console the minimum amount of remaining stack space that was available to the task since the task started executing (high water mark), returns '' | | **TASKU** | Prints to the hardware serial console the minimum amount of remaining stack space that was available to the task since the task started executing (high water mark), returns '' | ||
| + | |||
| + | |||
| ===== Directly Set Servo Position ===== | ===== Directly Set Servo Position ===== | ||
| Line 225: | Line 234: | ||
| * Parameters can be separated by any character that is not a number or a letter (e.g., space, comma, semicolon). However, the letters themselves act as separators, and it is recommended that no additional characters are used, as the serial buffer has a limited capacity and may not be able to store the whole instruction. | * Parameters can be separated by any character that is not a number or a letter (e.g., space, comma, semicolon). However, the letters themselves act as separators, and it is recommended that no additional characters are used, as the serial buffer has a limited capacity and may not be able to store the whole instruction. | ||
| * Depending on the tail and position, it can sag out of the commanded position when servo power is released at the end of the DSSP move. This may cause a visual defect of jerking back into the previous position when the next move starts. | * Depending on the tail and position, it can sag out of the commanded position when servo power is released at the end of the DSSP move. This may cause a visual defect of jerking back into the previous position when the next move starts. | ||
| + | |||
| ==== DSSP Example ==== | ==== DSSP Example ==== | ||
| Line 271: | Line 281: | ||
| {{: | {{: | ||
| + | |||
| ==== USERMOVE Examples ==== | ==== USERMOVE Examples ==== | ||
| + | |||
| === Example 1 – Slow Wag 1 (same as the '' | === Example 1 – Slow Wag 1 (same as the '' | ||
| Line 290: | Line 302: | ||
| * **L75L75** Position 2 is reached in 75 * 20 ms = 1.5 s; return to Position 1 in the same time | * **L75L75** Position 2 is reached in 75 * 20 ms = 1.5 s; return to Position 1 in the same time | ||
| * **H1** Home at end of move | * **H1** Home at end of move | ||
| + | |||
| === Example 2 – Test Servos === | === Example 2 – Test Servos === | ||
| Line 310: | Line 323: | ||
| Because no easing parameters ('' | Because no easing parameters ('' | ||
| </ | </ | ||
| + | |||
| ==== USERLEDS Examples ==== | ==== USERLEDS Examples ==== | ||
| + | |||
| === Example 1 – Beacon (same as the '' | === Example 1 – Beacon (same as the '' | ||
| Line 337: | Line 352: | ||
| * **A0A8** Start off, finish at full brightness | * **A0A8** Start off, finish at full brightness | ||
| * **L100L100** Each brightness point is reached in 100 * 20 ms = 2 s | * **L100L100** Each brightness point is reached in 100 * 20 ms = 2 s | ||
| - | |||
| Line 350: | Line 364: | ||
| <WRAP round important 90%> | <WRAP round important 90%> | ||
| Do **NOT** attempt to use Conference Mode on TailControl firmware prior to 5.3.0, or a condition requiring repair of the control board can occur.</ | Do **NOT** attempt to use Conference Mode on TailControl firmware prior to 5.3.0, or a condition requiring repair of the control board can occur.</ | ||
| + | |||
| + | |||
| ==== Enabling Conference Mode (Pairing and Binding) ==== | ==== Enabling Conference Mode (Pairing and Binding) ==== | ||
| Line 357: | Line 373: | ||
| The device will then reboot after 3 seconds. Conference Mode is then enabled, and pairing proceeds. The user's phone (or other device) will prompt for the passkey (which was set earlier), and the bond will be established on both devices. After that, the passkey or a previous bond (up to 3 can be stored) will be required to connect to the device. | The device will then reboot after 3 seconds. Conference Mode is then enabled, and pairing proceeds. The user's phone (or other device) will prompt for the passkey (which was set earlier), and the bond will be established on both devices. After that, the passkey or a previous bond (up to 3 can be stored) will be required to connect to the device. | ||
| + | |||
| ==== Disabling Conference Mode ==== | ==== Disabling Conference Mode ==== | ||
| Line 365: | Line 382: | ||
| 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 ==== | ||
| Line 385: | Line 403: | ||
| </ | </ | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| Line 414: | Line 427: | ||
| No-phone Mode is suspended (after completing any ongoing move) if a BLE connection is made. It will resume after BLE is disconnected. | No-phone Mode is suspended (after completing any ongoing move) if a BLE connection is made. It will resume after BLE is disconnected. | ||
| - | ^ Group ^ Move Group Name ^ Move List ^ | + | ^ Group ^ Move Group Name ^ Move List ^ |
| - | | 1 | Calm and Relaxed | Slow Wag 1, Slow Wag 2, Slow Wag 3 | | + | | 1 | Calm and Relaxed | Slow Wag 1, Slow Wag 2, Slow Wag 3 | |
| - | | 2 | Fast and Excited | Fast Wag, Short Wag, Happy Wag, Erect | | + | | 2 | Fast and Excited | Fast Wag, Short Wag, Happy Wag, Erect | |
| - | | 3 | Frustrated and Tense | Tremble 1, Tremble 2, Tremble Erect, High Wag | | + | | 3 | Frustrated and Tense | Tremble 1, Tremble 2, Tremble Erect, High Wag | |
| The parameter order is not important, except that the three '' | The parameter order is not important, except that the three '' | ||
| - | ^ Prefix | + | ^ Prefix |
| - | | **G** | Move Group (see table above) | <1 ... 3> | | + | | **G** | Move Group (see table above) | <1 ... 3> | |
| - | | **T1** | Minimum random pause between moves in 1-second increments | <1 ... 240> (1 s ... 4 min) | | + | | **T1** | Minimum random pause between moves in 1-second increments | <1 ... 240> (1 s ... 4 min) | |
| - | | **T2** | Maximum random pause between moves in 1-second increments | <1 ... 240> (1 s ... 4 min) | | + | | **T2** | Maximum random pause between moves in 1-second increments | <1 ... 240> (1 s ... 4 min) | |
| - | | **T3** | Delay to wait for BLE connection before starting NPM | <25**1** ... 25**4**> (1 ... 4 min) | | + | | **T3** | Delay to wait for BLE connection before starting NPM | <25**1** ... 25**4**> (1 ... 4 min) | |
| No-phone Mode (NPM) will cause the tail to delay one to four minutes (based on the setting of the third '' | No-phone Mode (NPM) will cause the tail to delay one to four minutes (based on the setting of the third '' | ||