- 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>