|
|
|
|
@ -6,6 +6,13 @@ use tauri::async_runtime::JoinHandle;
|
|
|
|
|
use crate::ble::SensorSource;
|
|
|
|
|
use crate::device::Device;
|
|
|
|
|
|
|
|
|
|
/// Last trainer targets, reapplied after reconnect.
|
|
|
|
|
#[derive(Default)]
|
|
|
|
|
pub struct TrainerTargets {
|
|
|
|
|
pub power: Option<i16>, // watts
|
|
|
|
|
pub cadence: Option<u16>, // rpm (raw, as entered by user)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub struct State {
|
|
|
|
|
pub source: Arc<dyn SensorSource>,
|
|
|
|
|
/// Все найденные при скане устройства (для поиска по id при подключении).
|
|
|
|
|
@ -14,4 +21,6 @@ pub struct State {
|
|
|
|
|
pub trainer: Mutex<Option<String>>,
|
|
|
|
|
/// Потоки телеметрии по категориям ("hr"/"cadence"/"trainer")
|
|
|
|
|
pub streams: Mutex<HashMap<String, JoinHandle<()>>>,
|
|
|
|
|
/// Last trainer targets, reapplied after reconnect.
|
|
|
|
|
pub trainer_targets: Mutex<TrainerTargets>,
|
|
|
|
|
}
|
|
|
|
|
|