1use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
7pub enum MailboxMessageType {
8 Log,
9 Image,
10 GPTelemetry,
11 GNCTelemetry,
12 TargetFound,
13 Error,
14}
15
16#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
17pub struct MailboxMessage {
18 pub msg_type: MailboxMessageType,
19 pub data: Value,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct Image {
24 pub title: String,
25 pub file_path: String,
26}
27
28#[derive(Debug, Clone, Serialize, Deserialize)]
29pub struct GPTelemetry {
30 pub header: String,
32 pub content: String,
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
36pub struct GNCTelemetry {
37 pub header: String,
38 pub lat: f64,
39 pub long: f64,
40 pub alt: f64,
41 pub heading: f64,
42 pub time: f64, }
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
46pub struct Log {
47 pub timestamp: i64,
48 pub content: String,
49}