cheapsdo2.0/protocol/src/lib.rs

32 lines
636 B
Rust

#![no_std]
use serde::{Deserialize, Serialize};
#[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, Clone)]
pub struct StatusMessage {
pub measured_frequency: u64,
pub average_frequency: u64,
pub pwm: u16,
}
impl Default for StatusMessage {
fn default() -> Self {
Self {
measured_frequency: 0u64,
average_frequency: 0u64,
pwm: 0u16,
}
}
}