Menu

Special Wiki Pages

Special Thanks!

This Wiki wouldn't be possible without @ToeiRei. Thank you for all of your help and guidance. Another special mention goes out to @Darkgrue, who writes and maintains the technical documentation.

This is an old revision of the document!


TailCoNTROL Breaking Changes

This is a list of breaking changes in the TailCoNTROL Protocol from previous firmware versions.

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.

  • Most command responses changed to OK and ERR. Move state responses still exist (e.g., <movename> BEGIN upon start, and <movename> END upon completion).
  • OTA responses now BEGIN OTA, OTA ERR, and OTA SUCCESS.
  • BLE MTU and Generic Access Profile (GAP) LE Suggested Data Length changed to 512.
  • EarGear 2 support is currently intended to require a forced update of the application and the firmware so that both can support the significant changes to the EarGear 2:
    • EarGear 2 moves are now internal to the firmware, and called with the same move commands as other products (e.g., TAILFA).
    • DSSP and USERMOVE will operate identically across all products, including the EarGear 2.
    • Listen Mode and Tilt Mode for EarGear 2 runs onboard the firmware, but still emits triggers back to the application.
    • HWVER Returns EG2 x.x for EarGear 2 controller hardware, instead of HWVER B.
  • CONFRD command removed, replaced by READCONF and READNVS.
  • CONFWR command replaced with WRITECONF.
  • VERA command for iOS will be removed (no longer needed if applications supports larger MTU).
  • 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).
    • TAILCONTROL_SRV_UUID “19F8ADE2-D0C6-4C0A-912A-30601D9B3060”
    • SYS_CHRC_RX_UUID “5E4D86AC-EF2F-466F-A857-8776D45FFBC2”
    • SYS_CHRC_TX_UUID “567A99D6-A442-4AC0-B676-4993BF95F805”
    • BATT_VOLTAGE_UUID “E818BDA3-88A7-43C0-8509-6E0BBB6F55D9”
  • HWVER will return the hardware identifier strings prefixed by HWVER (e.g., HWVER EG 4.0).
  • Design note: application is responsible for generating a random (strong) 6-digit passkey, setting that using the SETPUSSKEY command, and displaying that key to the user in order to proceed with the binding process.
Back to top