forked from cyrilzakka/Halo-iOS
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Controller & Interaction Modes
Summary
- Build a clear path for using COLMI rings as human-input devices in addition to passive health trackers.
- Capture the command map, firmware expectations, and UX constraints for gesture/tap/scroll interactions.
- Deliver a prototype control loop (SwiftUI app or companion daemon) with measurable latency and battery impact data.
Background
- Legacy projects (e.g.,
colmi_r0x_controller) demonstrated wave/scroll/tap interactions via accelerometer streams and gesture commands. - Our documentation now lists sensor capabilities and potential applications, but we have no dedicated plan for controller-focused work.
- Real-time streaming and gesture enablement impact battery life and firmware expectations; we need structured exploration before committing.
Goals
- Produce a capability matrix mapping each gesture-related command to supported ring models/firmware versions.
- Prototype at least two interaction flows:
- Media control: tap/scroll -> play/pause, volume.
- Pointer/navigation: wave/tilt -> focus change or scroll.
- Quantify latency (packet arrival to action) and battery impact for each prototype scenario.
- Define reusable abstractions (e.g.,
RingGestureEvent, gesture pipeline) that the app or external integrations can consume.
Non-Goals (for now)
- Shipping production-ready controller features or public APIs.
- Building firmware mods ourselves—leverage existing community firmware when necessary.
- Implementing persistence or cloud sync (captured separately).
Proposed Tasks
Phase 1 – Research & Capability Map
- Translate known gesture commands (
0x0204,0x0206,0x69subtype0x01) into a reference table with expected payloads. - Cross-check firmware dumps in
Legacy/ATC_RF03_Ringto confirm gesture enablement bits and notification formats. - Interview/collect field data from existing community projects (
colmi_r0x_controller, RingCLI) for lessons learned.
Phase 2 – Prototype Implementation
- Add optional gesture subscription path in
RingBLEManager(behind debug flag) that surfaces raw gesture events. - Build a minimal SwiftUI overlay that maps gestures to system controls (use
MPRemoteCommandCenter/ custom actions). - Evaluate feasibility of a macOS companion (Catalyst or menubar app) for cross-device control.
Phase 3 – Testing & Metrics
- Instrument the prototype to log: gesture type, detection latency, BLE signal strength, and action success rate.
- Run controlled battery-drain tests: baseline vs. gestures+realtime HR vs. gestures-only.
- Document noise scenarios (false positives when walking, handwashing) and mitigation strategies (debounce, motion thresholds).
Phase 4 – Documentation & Next Steps
- Publish a developer guide covering setup, commands, payload diagrams, and sample code.
- Summarize trade-offs (accuracy vs. battery, firmware constraints) and recommend default configurations.
- Identify prerequisites for shipping controller functionality (UX affordances, settings toggles, user education).
References
COLMI_RINGS_COMPREHENSIVE_DOCUMENTATION.md— “Sensor Capabilities & Application Opportunities” section.Legacy/ATC_RF03_Ring— firmware mods and OTA tooling for gesture experiments.COLMI_RING_FEATURES_REALITY_CHECK.md— gesture capability matrix across models.- Historical projects:
colmi_r0x_controller, RingCLI gesture branches, Home Assistant automations.
Metadata
Metadata
Assignees
Labels
No labels