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/05/24 01:57] – [Other Commands] darkgrue | en:dev:tailcontrol-command-protocol [2025/06/21 14:27] (current) – [Conference Mode] darkgrue | ||
---|---|---|---|
Line 100: | Line 100: | ||
- | ===== Tail Moves ===== | + | ===== Move Commands |
Move commands return ''< | Move commands return ''< | ||
Line 152: | Line 152: | ||
===== EarGear 2-only Commands ===== | ===== EarGear 2-only Commands ===== | ||
- | | **LISTENMODE** (or **LISTEN FULL**) | Starts Listen Mode; [[#Listen Mode|see below]], returns '' | + | | **LISTENMODE** (or **LISTEN FULL**) | Starts Listen Mode ([[#Listen Mode|see below]]), returns '' |
- | | **STOPLISTEN** (or **ENDLISTEN**) | Stops Listen Mode; [[#Listen Mode|see below]], returns '' | + | | **STOPLISTEN** (or **ENDLISTEN**) | Stops Listen Mode ([[#Listen Mode|see below]]), returns '' |
- | | **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 '' |
- | ===== MiTail Mini-only | + | ===== RGB LED Commands ===== |
- | | **RGBOFF** | **RGB** LEDs **OFF** | | + | | **RGBOFF** | **RGB** LEDs **OFF**, returns '' |
+ | | **RGBRBO** | **RGB** **R**ain**B**ow pattern, returns '' | ||
+ | | **RGBRB2** | **RGB** **R**ain**B**ow pattern with random sparkly glitter, returns '' | ||
+ | | **RGBCON** | **RGB** **CON**fetti; | ||
+ | | **RGBSIN** | **RGB** **SIN**e; a colored dot sweeping back and forth, with fading trails, returns '' | ||
+ | | **RGBJUG** | **RGB** **JUG**gle; eight colored dots, weaving in and out of sync with each other, returns '' | ||
+ | | **RGBBPM** | **RGB** **BPM**; colored stripes pulsing at a defined Beats-Per-Minute, | ||
+ | | **RGBDMO** | **RGB** **DE**m**O**; | ||
+ | | **RGBTST** | **RGB** **TE**s**T**; | ||
+ | | **SETRGB** | **SET** **RGB** configuration and restart after 3 seconds; (e.g., '' | ||
- | | **RGBRBO** | **RGB** **R**ain**B**ow pattern | | ||
- | | **RGBRB2** | **RGB** **R**ain**B**ow pattern with random sparkly glitter | | ||
- | | **RGBCON** | **RGB** **CON**fetti; | ||
- | | **RGBSIN** | **RGB** **SIN**e; a colored dot sweeping back and forth, with fading trails | | ||
- | | **RGBJUG** | **RGB** **JUG**gle; eight colored dots, weaving in and out of sync with each other | | ||
- | | **RGBBPM** | **RGB** **BPM**; colored stripes pulsing at a defined Beats-Per-Minute | | ||
===== Other Commands ===== | ===== Other Commands ===== | ||
- | | **AUTOMODE** | **AUTO**nomous **MO**de; [[# | + | | **AUTOMODE** | **AUTO**nomous **MO**de |
- | | **DSSP** | **D**irectly **S**et **S**ervo **P**osition; [[#Directly Set Servo Position|see below]], returns '' | + | | **DSSP** | **D**irectly **S**et **S**ervo **P**osition |
| **HWVER** | Returns **H**ard**W**are **VER**sion; | | **HWVER** | Returns **H**ard**W**are **VER**sion; | ||
| **PING** | Keepalive heartbeat (from application), | | **PING** | Keepalive heartbeat (from application), | ||
- | | **SETPUSSKEY** | **SET** **P**a**SSKEY**, | + | | **SETPUSSKEY** | **SET** **P**a**SSKEY**, |
| **SHUTDOWN** | **SHUT DOWN** the unit (will lose the BLE connection), | | **SHUTDOWN** | **SHUT DOWN** the unit (will lose the BLE connection), | ||
| **STOPAUTO** | **STOP AUTO**nomous Mode, returns '' | | **STOPAUTO** | **STOP AUTO**nomous Mode, returns '' | ||
| **STOPNPM** | **STOP** **N**o-**P**hone **M**ode and disables it in NVS configuration; | | **STOPNPM** | **STOP** **N**o-**P**hone **M**ode and disables it in NVS configuration; | ||
- | | **USERMOVE** | [[# | + | | **USERMOVE** | Set user-defined move ([[# |
- | | **STOPPUSSKEY** | **STOP** **P**a**SSKEY**, | + | | **STOPPUSSKEY** | **STOP** **P**a**SSKEY**, |
- | | **USERLEDS** | [[# | + | | **USERLEDS** | Set user-defined Glow Tip pattern ([[# |
| **VER** | Returns the firmware **VER**sion number; '' | | **VER** | Returns the firmware **VER**sion number; '' | ||
Line 186: | Line 189: | ||
| **BATT** | **BATT**ery percentage, returns the integer value of estimated battery capacity remaining | | **BATT** | **BATT**ery percentage, returns the integer value of estimated battery capacity remaining | ||
+ | | **READCONF** | **READ** running **CONF**iguration; | ||
+ | | **WRITECONF** | **WRITE** **CONF**iguration to NVS and set running configuration to match (e.g., '' | ||
+ | | **SETDISCONNECTEDCOUNT** | **SET** BLE **DISCONNECTED** power off **COUNT**down parameter in NVS and running configuration (in minutes, '' | ||
+ | | **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 '' | ||
+ | | **SETHOME** | **SET** **HOME** position (0 through 8) for each servo (e.g., '' | ||
+ | | **OTA** | Starts firmware **O**ver **T**he **A**ir update process (e.g., '' | ||
| **FORMATNVS** | **FORMAT** **NVS** (erase all contents of the default NVS partition, including BLE bonds) and reboot | | | **FORMATNVS** | **FORMAT** **NVS** (erase all contents of the default NVS partition, including BLE bonds) and reboot | | ||
- | | **OTA** | Starts firmware **O**ver **T**he **A**ir update process (e.g., '' | + | | **READNVS** | **READ** **CONF**iguration |
- | | **READCONF** | **READ** | + | |
- | | **READNVS** | **READ** **CONF**iguration from NVS; returns space-delimited configuration parameters stored in NVS (e.g., | + | |
| **REBOOT** | **REBOOT** after 3 seconds, returns '' | | **REBOOT** | **REBOOT** after 3 seconds, returns '' | ||
- | | **RELEASEHOLDONSTOP** | **RELEASE** servo **HOLD** when the servos **STOP** (default for tail-based devices); 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 '' |
- | | **SETHOLDONSTOP** | **SET** servo **HOLD** is maintained when the servos **STOP** (default for EarGear 2); returns '' | + | |
- | | **SETHOME** | **SET** **HOME** position (0 through 8) for each servo (e.g., '' | + | |
- | | **TASKU** | Prints to the hardware serial console the minimum amount | + | |
- | | **WRITECONF** | **WRITE** **CONF**iguration to NVS and set running configuration to match (e.g., '' | + | |
===== Directly Set Servo Position ===== | ===== Directly Set Servo Position ===== | ||
Line 225: | Line 228: | ||
- | ===== User-defined | + | ===== User-defined Moves and Glow Tip Patterns ===== |
- | Up to 4 user-defined move definitions and 4 LED patterns can be sent over the BT/BLE connection and assigned to user | + | Up to 4 user-defined move definitions and 4 Glow Tip LED patterns can be sent over the BT/BLE connection and assigned to user |
presets (callable with the '' | presets (callable with the '' | ||
- | The two instructions used to send a tail move or a Glow Tip LED pattern definition follow the same syntax and consist of a | + | The two instructions used to send a move or a Glow Tip LED pattern definition follow the same syntax and consist of a |
keyword ('' | keyword ('' | ||
defines the type of parameter (see table, below). | defines the type of parameter (see table, below). | ||
Line 369: | Line 372: | ||
* **Replay Attack:** a type of network attack in which an attacker captures a valid network transmission and then retransmits it later. The main objective is to trick the system into accepting the retransmission of the data as legitimate. | * **Replay Attack:** a type of network attack in which an attacker captures a valid network transmission and then retransmits it later. The main objective is to trick the system into accepting the retransmission of the data as legitimate. | ||
+ | <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.</ | ||
==== Enabling Conference Mode (Pairing and Binding) ==== | ==== Enabling Conference Mode (Pairing and Binding) ==== | ||
Line 398: | Line 403: | ||
<WRAP round info 90%> | <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 | + | Note that 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 |
* On Android, enter Settings, Connections, | * On Android, enter Settings, Connections, |