Files
ProjectNautilus/common/src/telemetry/mod.rs

25 lines
534 B
Rust

use chrono::serde::ts_nanoseconds;
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Telemetry {
#[serde(with = "ts_nanoseconds")]
pub timestamp: DateTime<Utc>,
pub message: TelemetryMessage,
}
#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
pub enum SwitchBank {
A,
B,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub enum TelemetryMessage {
SwitchState {
bank: SwitchBank,
switches: [bool; 16],
}
}