Added crate for usb-serial protocol
This commit is contained in:
parent
86a33b97a9
commit
bc557ccdeb
4 changed files with 82 additions and 0 deletions
10
protocol/Cargo.toml
Normal file
10
protocol/Cargo.toml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[package]
|
||||
name = "radomctl-protocol"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
serde = {version = "1.0.193", default-features = false, features = ["derive"]}
|
||||
heapless = {version = "0.8.0", features = ["serde"]}
|
||||
37
protocol/src/lib.rs
Normal file
37
protocol/src/lib.rs
Normal 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,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue