blipper_shared/
protocol.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
4pub enum Command {
5 Idle,
6 Info,
7 CaptureProtocol(u32),
8 Capture,
9 RemoteControlSend(RemoteControlCmd),
10}
11
12#[derive(Serialize, Deserialize, Debug)]
13pub enum Reply {
14 Ok,
15 CaptureReply { data: CaptureData },
16 CaptureProtocolReply { data: GenericRemote },
17 Info { info: Info },
18}
19
20#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
21pub struct CaptureData {
22 pub samplerate: u32,
23 pub len: u32,
24 pub bufs: [[u16; 32]; 4],
25}
26
27#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
28pub struct GenericRemote {
29 pub addr: u16,
30 pub cmd: u16,
31}
32
33#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
34pub struct RemoteControlCmd {
35 pub pid: u8,
36 pub addr: u16,
37 pub cmd: u8,
38}
39
40#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
41pub struct Info {
42 pub version: u32,
43 pub transmitters: u32,
45}