Uh oh!
There was an error while loading. Please reload this page.
Adding USB Support for dive computers - #2
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Sese-Schneider
left a comment
There was a problem hiding this comment.
Had to leave for work, here's my finalized review
| set_target_properties(libdivecomputer PROPERTIES | ||
| PUBLIC_HEADER dive_computer.h | ||
| OUTPUT_NAME "dive_computer" | ||
| OUTPUT_NAME "libdivecomputer" |
There was a problem hiding this comment.
Why does the output name need to be libdivecomputer?
| # add_compile_definitions(__APPLE__=1) | ||
| # add_compile_definitions(HAVE_HIDAPI=1) | ||
| # add_compile_definitions(HAVE_PTHREAD_H=1) |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Ben1980
commented
Feb 20, 2024
@Sese-Schneider I think we should discuss if this PR can be merged or how changes should look like. Shall we have a call? |
Sese-Schneider
commented
Feb 22, 2024
@Ben1980 PR looks very good so far - I want to test it myself after the weekend and merge it ASAP. |
Sese-Schneider
commented
Feb 28, 2024
merging to develop - windows is still not working so this would be my next step to get it to main. |
…al review - ackOutbound(seq, status): ack the exact sequence written, never the current writeSeq; add a re-entrancy guard so the 4ms mailbox timer cannot start a second concurrent GATT write (DiveNote#1) - notification listener reads the _bridge FIELD and checks isClosed, preventing a push into memory freed by teardown/dispose (DiveNote#2) - download(): group allocate/attach/send in a try that disposes the bridge and rethrows, so an early failure can neither leak the bridge nor hang forever awaiting a _BleBridgeReleased that will never come (DiveNote#3) - guard _bleBridgeReleased.complete() against StateError wedging the ReceivePort listener (DiveNote#5) - enableDebugLogging() now drives Logger('BleBridge') on the background isolate and Logger('BleTransport') on the main isolate, both forwarded to developer.log via a shared helper (DiveNote#6) - scan(): drop results after close, clear the global onScanResult handler and _seen on cancel (DiveNote#7) - connect(): disconnect the GATT link on any post-connect failure before the retry loop opens a new one (#11) - export ble_profile.dart / ble_scan_result.dart from the barrel and drop the example's deep import (#16) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Provides USB and USB HID support for macOS.
All dependencies come via git submodules and are built during example compilation time.
Logging is also now working but needs a review.
I was only able to confirm USB HID working with Suunto EON Core, can't say if USB is working but I guess it is.