dash7/file/
firmware_version.rs1use deku::prelude::*;
2
3use crate::utils::{read_string, write_string};
4
5use super::SystemFile;
6
7#[derive(DekuRead, DekuWrite, Debug, Clone, PartialEq)]
9pub struct FirmwareVersion {
10 pub major: u8,
11 pub minor: u8,
12
13 #[deku(
14 reader = "read_string::<6>(deku::rest)",
15 writer = "write_string::<6>(deku::output, &self.application_name)"
16 )]
17 pub application_name: String,
18
19 #[deku(
20 reader = "read_string::<7>(deku::rest)",
21 writer = "write_string::<7>(deku::output, &self.git_sha1)"
22 )]
23 pub git_sha1: String,
24}
25
26impl SystemFile for FirmwareVersion {
27 const ID: u8 = 0x02;
28 const SIZE: u32 = 17;
29}