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 [2024/10/19 23:23] – [Device Advertisement] darkgrue | en:dev:tailcontrol-command-protocol [2024/11/09 17:09] (current) – darkgrue | ||
---|---|---|---|
Line 6: | Line 6: | ||
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. | ||
- | <WRAP round todo> | + | <WRAP round todo 90%> |
**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 at this time, especially EarGear 2 features. | **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 at this time, especially EarGear 2 features. | ||
</ | </ | ||
Line 38: | Line 38: | ||
The BLE Device Service for TailCoNTROL is '' | The BLE Device Service for TailCoNTROL is '' | ||
- | * RX Characteristic is '' | + | * RX Characteristic is '' |
- | * TX Characteristic is '' | + | * TX Characteristic is '' |
- | * Battery Voltage is '' | + | * Under the standard Device Information Service (DIS, '' |
+ | * Manufacturer Name '' | ||
+ | * Model Number '' | ||
+ | * Firmware Revision '' | ||
+ | * Hardware Revision '' | ||
+ | | ||
+ | * Battery Percentage '' | ||
+ | | ||
+ | * Charging State (if hardware supported) is '' | ||
</ | </ | ||
Line 240: | Line 248: | ||
| **U** | User preset number | <1 ... 4> | | | **U** | User preset number | <1 ... 4> | | ||
| **P** | Number of points in the Glow Tip pattern | <1 ... 32> | | | **P** | Number of points in the Glow Tip pattern | <1 ... 32> | | ||
- | | **N** | Number of cycles (times the pattern will be repeated) | <0 ... 255> | | + | | **N** | Number of cycles (times the pattern will be performed) | <0 ... 255> | |
| **A** | Brightness point for Glow Tip | <0 ... 8>\\ 0 -> LEDs off\\ ...\\ 4 -> 50% intensity\\ ...\\ 8-> LEDs max intensity | | | **A** | Brightness point for Glow Tip | <0 ... 8>\\ 0 -> LEDs off\\ ...\\ 4 -> 50% intensity\\ ...\\ 8-> LEDs max intensity | | ||
| **S/L** | Time between the current point and the next (in 20 ms increments)\\ **S** will wait in the current position, then move to the next when the time has elapsed\\ **L** will gradually move from the current position to the next, over the time specified | 0 ... 127 (time * 20 ms) | | | **S/L** | Time between the current point and the next (in 20 ms increments)\\ **S** will wait in the current position, then move to the next when the time has elapsed\\ **L** will gradually move from the current position to the next, over the time specified | 0 ... 127 (time * 20 ms) | | ||
Line 264: | Line 272: | ||
* **U1** Store into user preset 1 | * **U1** Store into user preset 1 | ||
* **P2** The move consists of 2 points | * **P2** The move consists of 2 points | ||
- | * **N3** | + | * **N3** |
* **E0E66** Servo 1 move to Position 1 has no easing, move to Position 2 uses EASE_CUBIC_OUT (0x42) | * **E0E66** Servo 1 move to Position 1 has no easing, move to Position 2 uses EASE_CUBIC_OUT (0x42) | ||
* **F0F66** Servo 2 move to Position 1 has no easing, move to Position 2 uses EASE_CUBIC_OUT (0x42) | * **F0F66** Servo 2 move to Position 1 has no easing, move to Position 2 uses EASE_CUBIC_OUT (0x42) | ||
Line 282: | Line 290: | ||
* **U2** Store into user preset 2 | * **U2** Store into user preset 2 | ||
* **P4** The move consists of 4 points | * **P4** The move consists of 4 points | ||
- | * **N3** | + | * **N3** |
* **A0A4A8A4** Move Servo 1 90° at a time, starting from 0° | * **A0A4A8A4** Move Servo 1 90° at a time, starting from 0° | ||
* **B4B8B4B0** Move Servo 2 90° at a time, starting from 90° | * **B4B8B4B0** Move Servo 2 90° at a time, starting from 90° | ||
Line 289: | Line 297: | ||
* **H1** Home at end of move | * **H1** Home at end of move | ||
- | <WRAP round info> | + | <WRAP round info 90%> |
Because no easing parameters ('' | Because no easing parameters ('' | ||
</ | </ | ||
Line 304: | Line 312: | ||
* **U1** Store into user preset 1 | * **U1** Store into user preset 1 | ||
* **P2** The pattern consists of 2 brightness points | * **P2** The pattern consists of 2 brightness points | ||
- | * **N5** | + | * **N5** |
* **A8A0** Start at full brightness, then turn off | * **A8A0** Start at full brightness, then turn off | ||
* **S5S95** On for 5 * 20 ms = 100 ms; off for 50 * 20ms = 1 s | * **S5S95** On for 5 * 20 ms = 100 ms; off for 50 * 20ms = 1 s | ||
Line 310: | Line 318: | ||
=== Example 2 – Fade in/out (similar to '' | === Example 2 – Fade in/out (similar to '' | ||
- | The Glow Tip LEDs light up slowly, then dim until completely off; this is repeated | + | The Glow Tip LEDs light up slowly, then dim until completely off; this is performed |
**USERLEDS U2 P2 N3 A0A8 L100L100** | **USERLEDS U2 P2 N3 A0A8 L100L100** | ||
Line 316: | Line 324: | ||
* **U2** Store into user preset 2 | * **U2** Store into user preset 2 | ||
* **P2** The pattern consists of 2 brightness points | * **P2** The pattern consists of 2 brightness points | ||
- | * **N3** | + | * **N3** |
* **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 386: | Line 394: | ||
- Ten seconds after the triple-flash (13 seconds total of continuous holding), the blue LED will blink quickly continuously, | - Ten seconds after the triple-flash (13 seconds total of continuous holding), the blue LED will blink quickly continuously, | ||
- | <WRAP round info> | + | <WRAP round info 90%> |
The bond will also need to be removed on the phone or other device as well, or it will attempt to continue to use the bond (which will fail, because those stored credentials will no longer be valid). | The bond will also need to be removed on the phone or other device as well, or it will attempt to continue to use the bond (which will fail, because those stored credentials will no longer be valid). | ||
Line 397: | Line 405: | ||
===== iOS Casual Mode ===== | ===== iOS Casual Mode ===== | ||
- | <WRAP round todo> | + | <WRAP round todo 90%> |
This feature is pending removal in a future release. | This feature is pending removal in a future release. | ||
</ | </ |