- BLEManager: fall back to withResponse write when characteristic lacks PROPERTY_WRITE_NR (0x4); NimBLE defaults to PROPERTY_WRITE (0x8) only, causing iOS to silently drop every withoutResponse write at 5/10 Hz - BLEManager: scan withServices:nil so NimBLE scan-response UUIDs are found; filter by UWB_TAG name prefix in didDiscover - BLEPackets: remove custom clamping extensions (Int16/Int32/UInt16/UInt8) that shadowed Swift.max() with Int16.max inside the extension scope; stdlib BinaryInteger.init(clamping:) covers all cases - BLEStatusView: use explicit Binding(get:set:) for gpsStreamEnabled / imuStreamEnabled — SwiftUI cannot synthesize $binding through a let computed property backed by a class reference - SensorManager: fix isRelativeAltitudeAvailable() — it is a class method, not an instance method; also fixed inverted double-negative logic Note for HAL: add NimBLE PROPERTY_WRITE_NR to GPS (abcdef3) and IMU (abcdef4) characteristics for no-ACK streaming at 5/10 Hz. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
saltylab-ios
SaltyBot iOS Companion App (Sul-Tee) — Swift/SwiftUI, sensor streaming for follow-me mode
Description
SaltyBot iOS Companion App (Sul-Tee) — Swift/SwiftUI, sensor streaming for follow-me mode