Added crate for usb-serial protocol

This commit is contained in:
Sebastian 2024-10-03 16:06:17 +02:00
parent 86a33b97a9
commit bc557ccdeb
4 changed files with 82 additions and 0 deletions

37
protocol/src/lib.rs Normal file
View file

@ -0,0 +1,37 @@
#![no_std]
use heapless::Vec;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub enum RadomMessage {
Status(StatusMessage),
}
#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub enum HostMessage {
RequestStatus,
TriggerDFUBootloader,
}
#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct StatusMessage {
position: Position,
alarms: Vec<Alarm, 64>,
}
#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub struct Position {
az: f32,
el: f32,
az_endcoder: f32,
el_encoder: f32,
az_magnetic: f32,
el_magnetic: f32,
}
#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
pub enum Alarm {
AZEncoderFault,
ELEncoderFault,
}