Repository navigation
suunto_nautic: value subscriptions (UnsynchronisedLogs / BusyState) - #6
Merged
Merged
Conversation
…cations The dive /Data stream is a Whiteboard subscription (0x10 subscribe, 0x08 reply with the current value, 0x01 notifications, 0x11/0x09 unsubscribe), as an official-app capture on a Nautic S and an Ocean shows. Value resources such as /Logbook/UnsynchronisedLogs and /Sync/BusyState use the same framing; expose subscribe, unsubscribe and wait_notification so a host can sync when the watch reports new logs. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
suunto_nautic_device_subscribe,suunto_nautic_device_unsubscribeandsuunto_nautic_device_wait_notificationto the public Nautic header.Why: an official Suunto app capture (Nautic S pairing, Ocean new-activity) shows that what the driver calls the /Data "stream" is a Whiteboard subscription:
0x10subscribes to a resource handle and is answered by0x08with the current value, the watch pushes0x01notifications,0x11unsubscribes (0x09reply). The app subscribes to/Logbook/UnsynchronisedLogs(uint16 count) and/Sync/BusyState(uint8) on every connect and syncs when the count rises and the watch isn't busy. These calls let libdc-swift do the same (deepsealabs/libdc-swift#45).[type:u16 LE][value](notifications carry one trailing pad byte).FF FF FFhandle) returnsDC_STATUS_UNSUPPORTED.Covered by libdc-swift's fake-watch tests (SuuntoNauticTransportTests). Needs on-watch confirmation that notifications arrive on a real Nautic/Ocean.
Used by deepsealabs/libdc-swift
feat/nautic-auto-sync. Do not merge before hardware testing.🤖 Generated with Claude Code