Skip to content

Rethink Capabilities to allow different versions of the same Wearable with different capabilities #94

@DennisMoschina

Description

@DennisMoschina

Problem: Firmware-dependent capabilities are not represented

Background

Currently, all wearables of a given type expose all capabilities that are supported by any firmware version of that wearable. This implicitly assumes that all connected devices run the latest firmware.

However, for some wearables, new capabilities were introduced in later firmware releases. When a device runs an older firmware version, these capabilities may be:

  • partially implemented,
  • unavailable, or
  • behave differently.

Problem Statement

Because capabilities are assigned solely based on the wearable type and not on the firmware version, the system cannot reliably determine which features are actually supported by a connected device. This leads to ambiguous behavior and increases the risk of runtime errors or unsupported operations when working with older firmware versions.

Desired Behavior

Capabilities should be conditionally enabled based on the firmware version of the connected wearable. A device should only expose the capabilities that are guaranteed to be supported by its currently installed firmware.

Proposed Direction (high-level)

Introduce a mechanism to:

  • associate capabilities with minimum (and optionally maximum) firmware versions, and
  • resolve the effective set of capabilities for a wearable at runtime based on its reported firmware version.

Motivation

  • Avoid ambiguous or undefined behavior when interacting with older firmware
  • Improve robustness of feature detection
  • Make firmware evolution explicit and easier to reason about
  • Enable backward compatibility without special-case logic in app code

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions