Gears are expressed as an offset to the commanded gradient, leaving the physics on the route's true gradient so shifting changes effort, not speed. Neutral gear commands exactly the route gradient, so an un-shifted ride is unchanged. Cadence is not in FTMS on this trainer but is on its Zwift channel, decoded against captured frames. The undeclared FTMS trailing bytes were ruled out: wheel RPM restated at a fixed 73.8x speed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
47 lines
1.5 KiB
TOML
47 lines
1.5 KiB
TOML
[package]
|
|
name = "bikecontrol-app"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "BikeControl desktop shell: Tauri commands and the event bridge to the UI"
|
|
|
|
[lib]
|
|
# Tauri v2 convention: the app lives in a lib so the same code can be reused by
|
|
# the Android/iOS entry points later (G-4).
|
|
name = "bikecontrol_app_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
bikecontrol-core = { workspace = true }
|
|
bikecontrol-ble = { workspace = true }
|
|
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-dialog = "2"
|
|
|
|
uuid = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_yaml_ng = { workspace = true }
|
|
roxmltree = { workspace = true }
|
|
tokio = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
[features]
|
|
default = ["mock-ride"]
|
|
# Compile the synthetic rider in `src/mock.rs` *as an option*. It is no longer
|
|
# the default data source — `bikecontrol_core::RideSession` fed by real FTMS
|
|
# telemetry is (see `state::Inner::new`). The feature exists so the mock can be
|
|
# selected at runtime with `BIKECONTROL_DEMO=1` or `BIKECONTROL_MOCK=1`, which
|
|
# is what makes the GUI developable with no hardware on the desk.
|
|
#
|
|
# Build with `--no-default-features` for a binary that can only ever show real
|
|
# trainer data.
|
|
mock-ride = []
|