cheapsdo2.0/protocol/src/lib.rs

32 lines
633 B
Rust

#![no_std]
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub enum DeviceMessage {
Status(StatusMessage),
}
#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub enum HostMessage {
RequestStatus,
SetPLLOutputs,
}
#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub struct StatusMessage {
pub measured_frequency: f64,
pub average_frequency: f64,
pub pwm: u16,
}
impl Default for StatusMessage {
fn default() -> Self {
Self {
measured_frequency: 0.0f64,
average_frequency: 0.0f64,
pwm: 0u16,
}
}
}