telemetry_dataclasses/
caraspace.rs

1//! Register TelemetryPacket with the caraspace system
2
3use caraspace::prelude::{
4  CRFrameObjectType,
5  CRSerializeable,
6  CRSerializationError,
7  Frameable,
8};
9
10use crate::packets::TelemetryPacket;
11
12impl Frameable for TelemetryPacket {
13  const CRFRAMEOBJECT_TYPE : CRFrameObjectType = CRFrameObjectType::TelemetryPacket;
14}
15
16impl CRSerializeable for TelemetryPacket {
17
18  fn deserialize(stream : &Vec<u8>, pos : &mut usize)
19  -> Result<Self, CRSerializationError> {
20    match Self::from_bytestream(stream, pos) {
21      Err(_err) => {
22        return Err(CRSerializationError::UnknownError);
23      }
24      Ok(obj) => {
25        return Ok(obj)
26      }
27    }
28  }
29  
30  fn serialize(&self) 
31    -> Vec<u8> {
32    self.to_bytestream()
33  }
34}
35