Firmware and management software for my wearables
- Rust 92.7%
- Kotlin 5%
- Nix 0.9%
- Linker Script 0.7%
- Just 0.4%
- Other 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Firmware 0.2.2 and the matching companion changes, after lytewatch's own update path passed verify, write and install on hardware (0.1.0 -> 0.2.1 from the Android app): - Every update now checks, writes, reads back and installs in one pass. The verify-only and write-without-activating modes stay in lytewatch-core's receiver for tests; the System screen's mode button is gone. Each transfer gets a fresh receiver once the previous one ends. - lytewatch-core gains transfer_progress (no_std): a rate estimator over the last 5 s on a fixed ring of samples, time remaining, and a SignalQuality rating from RSSI (strong > -65, good > -75, weak > -85, otherwise "move closer"). The watch's receiving screen shows KiB sent of total with the percentage, the rate with time left, and the signal, in full-width lines redrawn in place. The Android app shows the same text through bridge functions that reuse the watch's wording, plus its own RSSI sampled every 2 s. - The watch samples the link's RSSI every 2 s on a deadline in the Bluetooth loop (so a stream of firmware packets cannot postpone it), which also carries the silent-phone check. - A Bluetooth launcher tile shows link state, signal in dBm, counters and the last disconnect reason, with a full-width Restart Bluetooth button; System is information only again. The app's post-upload text no longer tells the wearer to validate on the watch, which is InfiniTime's flow. Tested: workspace tests, clippy for the workspace and firmware, the Android build, and new tests for the estimator, signal bands and the shared wording. Not yet run on hardware. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019kmdSBYKun9uULj871sEvp |
||
| .forgejo/workflows | ||
| apps | ||
| crates | ||
| firmware/pinetime | ||
| issues | ||
| tools | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| rust-toolchain.toml | ||