Skip to content

V0.5 - 094f900

Choose a tag to compare

@honnet honnet released this 12 Nov 05:41

Main new features:

  • ring-to-ring RSSI: each connected ring measures the signal strength of the other rings (~6 reports/s, both directions agree within 1-3 dB), groundwork for estimating distances between rings (e.g. between the hands)
  • new "Multi-ring experiments" app: several rings at once ("Add rings" asks for one ring after another, allowed rings reconnect automatically when the page opens), RSSI to the computer and between rings with live graphs, sorting by name / RSSI / reports / heard, battery level, Forget and Disconnect all
  • battery level: the ring estimates its charge (also while charging) and learns its own range; shown in the app and in make scan
  • RSSI between each ring and the computer, measured by the ring

Extra:

  • flash rings from macOS (make scan, make flash)
  • fix: over-the-air updates with large writes could fail as the custom service grew (memory pool size)
  • the app keeps working when Chrome on Linux stops delivering notifications (it reads the values instead)
  • rings already running this firmware (V0.1 or later) accept any of the 2 binaries, whatever their model. Stock rings only accept the binary of their product ID:
    • LibRing_094f900_0x4C_2026_rings.bin: 2026 rings (product ID 0x4C)
    • LibRing_094f900_0x17_older_rings.bin: original SR08 rings (product ID 0x17)

Notes:

  • ring-to-ring RSSI uses more battery (the ring listens about 60 % of the time): "Stop ring-to-ring RSSI" in the app when it isn't needed
  • the battery % is an estimate: until a ring has seen a charger plug-in / removal and a full charge, it shows "(not learned yet)"; learned values are lost when the ring restarts or is updated
  • Chrome remembers the rings across its restarts only with chrome://flags/#enable-web-bluetooth-new-permissions-backend
  • "Scan RSSI" (computer-side RSSI of rings that aren't connected) doesn't work in Chrome on Linux