Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:dev:tailcontrol-release-notes [2026/09/21 20:21] โ darkgrue | en:dev:tailcontrol-release-notes [2026/09/25 20:35] (current) โ darkgrue | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== TailControl Release Notes ====== | ====== TailControl Release Notes ====== | ||
| + | |||
| + | |||
| + | ===== TailControl v5.4.8 ===== | ||
| + | |||
| + | ==== Fixed ==== | ||
| + | * Removed duplicated line in console banner logo. | ||
| + | * **Serial console dropping characters and lines on ESP32-S3 boards (EarGear 2 v4.1, ClawGear v4.1).** The Arduino-ESP32 3.3.7 HW USB CDC driver silently discards up to 64 bytes when '' | ||
| + | * **Console lines losing their beginning after brief USB link dropouts.** The HW USB CDC TX buffer is increased from 256 to 2048 bytes ('' | ||
| + | * **ClawGear: Tilt and Clap Mode only responded while a move was running.** The accelerometer servicing condition was inverted. The fix from '' | ||
| + | * **ClawGear: uninitialized '' | ||
| + | * **ClawGear: the tilt classifier low-pass filter is reseeded after missed updates** (a move running or modes off), so stale readings can't trigger a tilt right after a move. | ||
| + | * **ClawGear: the tilt state is reset when Tilt Mode is armed**, so the current tilt triggers immediately, | ||
| + | |||
| + | ==== Added ==== | ||
| + | * Added '' | ||
| + | * '' | ||
| + | * Each message is formatted in full and queued as one item. A single writer task performs every '' | ||
| + | * Uses a 2 KB queue with a static ring buffer, a static writer task and no heap allocation. | ||
| + | * API: '' | ||
| + | * The '' | ||
| + | * Output loss is now visible: a cut line ends in '' | ||
| + | |||
| + | ==== Changed ==== | ||
| + | * All console output in '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * The startup banner no longer calls '' | ||
| + | * Application tasks are created with '' | ||
| + | |||
| + | ==== Removed ==== | ||
| + | * **ClawGear: | ||
| + | |||
| + | ==== Internal ==== | ||
| + | * Native test mocks: added logger stubs, since '' | ||
| + | * Fixed warnings in release builds (no '' | ||
| Line 79: | Line 114: | ||
| * Added move mappings for FlutterWings. | * Added move mappings for FlutterWings. | ||
| * Documented new commands and command changes. | * Documented new commands and command changes. | ||
| + | |||
| + | |||
| + | ===== TailControl v5.2.8 ===== | ||
| + | |||
| + | * Rebranded " | ||
| + | * Add full EarGear 2 support: | ||
| + | * Add dedicated firmware moves for EarGear 2. | ||
| + | * Set EarGear 2 to maintain servo holding at all times to facilitate assembly (as per staff request). | ||
| + | * New I2S support added. | ||
| + | * Set configuration item for Listen Mode to send responses only. | ||
| + | * Set configuration item for Tilt Mode to send responses only. | ||
| + | * Add I2S debug task for Ear Gear. | ||
| + | * Add configuration parameter for Listen and Tilt mode to send triggers only (allows application to manage movements). | ||
| + | * Add configuration parameter for Listen move group selection. | ||
| + | * Support EG2 Tilt and Listen Mode in No-phone Mode. | ||
| + | * Move TailCoNTROL to new BLE UUIDs. | ||
| + | * Reorganized code units and functions to improve organization and readability. | ||
| + | * Add Device Information Service (DIS) BLE characteristics. | ||
| + | * Add SETHOLDONSTOP and RELEASEHOLDONSTOP commands. | ||
| + | * Fixed BATT characteristic response truncation (thank you Code-L). | ||
| + | * Implement simple message queue for ISR debug tracing. | ||
| + | * Fixed unsigned long int sprintf format strings. | ||
| + | * Improved commenting for hardware/ | ||
| + | * Fixed JLed invocation to address timer conflict. | ||
| + | * Clean up debug logging to make format consistent. | ||
| + | * Added Conference Mode and associated configuration settings. | ||
| + | * Fix move group selection logic. | ||
| + | * Fix LIS2DW12 library to support non-hardcoded SPI bus wiring. | ||
| + | * Rework button press servicing and visual indicators. | ||
| + | * Add new function to perform factory reset on extended button hold. | ||
| + | * Rename some variables and functions to better reflect their purpose. | ||
| + | * Reverted undesirable MiTail easing function settings for some moves. | ||
| + | * Refactored NVS options and compilation units. | ||
| + | * Added persistent setting for automatic power off when BLE is disconnected (default is OFF). | ||
| + | * Added persistent setting for home on POWEROFF command (default is ON). | ||
| + | * CONFRD command removed, replaced by READCONF and READNVS. | ||
| + | * CONFWR command replaced with WRITECONF. | ||
| + | * Added SETHOME command (and persistent setting) for FlutterWings, | ||
| + | * Added REBOOT command. | ||
| + | * Improved BLE MTU settings for iOS. | ||
| + | * Split RTOS tasks into separate unit files. | ||
| + | * Fix race condition between updateMoves() and setMove() / setDSSPMove() that caused stuttering/ | ||
| + | * Improved debug messages. | ||
| + | * Update ESP32Servo library to 1.2.1. | ||
| + | * Updated JLed library to v4.15.0. | ||
| + | * Updated NimBLE-Arduino library to v2.1.2 (made transitions for breaking changes). | ||
| + | * Updated ServoEasing library to v3.4.0 (made transitions for breaking changes). | ||
| + | * Updated BLE_OTA_Python scripts and documentation. | ||
| + | * Added script to build unified binary for EarGear 2 firmware. | ||
| + | * Added ESP Web Tools configuration for writing EarGear 2 firmware. | ||
| + | * Fix PlatformIO $extra_scripts to be cumulative. | ||
| + | * Update Tail Control Protocol to reflect as-built. | ||
| + | * Add additional details to Service Notes about the Glow Tip. | ||
| Line 119: | Line 207: | ||
| * Updated ESP32Servo library to v1.2.0. | * Updated ESP32Servo library to v1.2.0. | ||
| * Updated documentation. | * Updated documentation. | ||
| + | |||
