Stationary Knowledge Bundle
Bundle OKF 0.2 · 2 conceitos · aalmada/Stationary
Open source Repository Open in the app JSON README (API)
About
# Stationary Knowledge Bundle
## Fitness Machine Service
- [Fitness Machine Service](ftms/index.md) - Bluetooth Fitness Machine Service v1.0.1 specification, organized by section.
## Sources
- [FTMS v1.0.1 specification](https://www.bluetooth.com/specifications/specs/fitness-machine-service-1-0-1/) - Canonical Fitness Machine Service Bluetooth Service Specification.
Details
- Kind
- OKF bundles
- Topic
- No topic detected
- Publisher
- aalmada
- Origin
- okf_github
- Category
- dados
- Version
- 0.2
- Last push
- 2026-09-12T11:17:00Z
- Repository state
- ativo
- Language
- C#
- Added
- 2026-09-12 10:05:18
- Updated
- 2026-09-12 10:05:18
- Origin id
aalmada/Stationary:docs/index.md
README
# Stationary Stationary is a .NET 10 toolkit for Bluetooth Fitness Machine Service (FTMS) equipment. It provides high-performance, transport-neutral codecs together with BLE connectivity, serialized Control Point coordination, telemetry presentation, heart-rate support, and a .NET MAUI dashboard for multiplatform app delivery. The dashboard uses ReactiveUI and Reactive Extensions for reactive MVVM and real-time event processing.  ## Projects | Project | Purpose | | --- | --- | | `Stationary.Ftms` | Allocation-conscious FTMS payload codecs and validation. | | `Stationary.Ble` | BLE transport integration. | | `Stationary.Ftms.Client` | Serialized FTMS Control Point operations and latest-only telemetry delivery. | | `Stationary.Ftms.Dashboard.Core` | Telemetry history and dashboard-domain models. | | `Stationary.HeartRate` | Heart-rate telemetry and cycling-LTHR analytics. | | `Stationary.Ftms.Dashboard` | .NET MAUI dashboard for compatible FTMS equipment. | ## Reactive Architecture The dashboard is a fully reactive .NET MAUI application built with ReactiveUI's reactive MVVM model and Reactive Extensions (Rx). `ReactiveCommand` represents user operations, while observable state derives UI feedback and availability from the underlying streams. Reactive pipelines coordinate real-time BLE connection lifecycle, FTMS telemetry, heart-rate measurements, Fitness Machine Status updates, Control Point responses, and dashboard commands. They merge, sample, serialize, schedule, and dispose these concurrent streams so the UI stays responsive while displaying the latest available data. ## Prerequisites - .NET SDK `10.0.401`, as pinned in [global.json](global.json). - The .NET MAUI workload for the platform being built. On macOS, install the Mac Catalyst workload for the currently configured dashboard target: ```bash dotnet workload install maui-maccatalyst ``` ## Build And Test Restore packages once, then use the no-restore commands for normal iteration: ```bash dotnet restore Stationary.slnx dotnet build Stationary.slnx --no-restore dotnet test --solution Stationary.slnx --no-restore dotnet format Stationary.slnx --verify-no-changes --no-restore ``` ## Run The Mac Catalyst Dashboard On Apple silicon: ```bash dotnet build src/Stationary.Ftms.Dashboard/Stationary.Ftms.Dashboard.csproj \ -t:Run \ -f net10.0-maccatalyst \ -r maccatalyst-arm64 \ --no-restore ``` Use `maccatalyst-x64` on an Intel Mac. The dashboard uses .NET MAUI as its multiplatform application foundation. The checked-in project currently targets Mac Catalyst; add the required MAUI target frameworks and workloads before building additional platform apps. ## Benchmarks ```bash dotnet build benchmarks/Stationary.Ftms.Benchmarks/Stationary.Ftms.Benchmarks.csproj \ -c Release \ --no-restore dotnet run --project benchmarks/Stationary.Ftms.Benchmarks/Stationary.Ftms.Benchmarks.csproj \ -c Release \ --no-build \ -- --filter '*FtmsCodecBenchmarks*' --join ``` ## Documentation - [FTMS v1.0.1 reference](docs/ftms/index.md) - [Documentation index](docs/index.md)