diff options
Diffstat (limited to 'embassy-stm32/src/tl_mbox/cmd.rs')
| -rw-r--r-- | embassy-stm32/src/tl_mbox/cmd.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/embassy-stm32/src/tl_mbox/cmd.rs b/embassy-stm32/src/tl_mbox/cmd.rs new file mode 100644 index 000000000..3507c3231 --- /dev/null +++ b/embassy-stm32/src/tl_mbox/cmd.rs | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | use super::PacketHeader; | ||
| 2 | |||
| 3 | #[repr(C, packed)] | ||
| 4 | #[derive(Copy, Clone)] | ||
| 5 | pub struct Cmd { | ||
| 6 | pub cmd_code: u16, | ||
| 7 | pub payload_len: u8, | ||
| 8 | pub payload: [u8; 255], | ||
| 9 | } | ||
| 10 | |||
| 11 | impl Default for Cmd { | ||
| 12 | fn default() -> Self { | ||
| 13 | Self { | ||
| 14 | cmd_code: 0, | ||
| 15 | payload_len: 0, | ||
| 16 | payload: [0u8; 255], | ||
| 17 | } | ||
| 18 | } | ||
| 19 | } | ||
| 20 | |||
| 21 | #[repr(C, packed)] | ||
| 22 | #[derive(Copy, Clone, Default)] | ||
| 23 | pub struct CmdSerial { | ||
| 24 | pub ty: u8, | ||
| 25 | pub cmd: Cmd, | ||
| 26 | } | ||
| 27 | |||
| 28 | #[repr(C, packed)] | ||
| 29 | #[derive(Copy, Clone, Default)] | ||
| 30 | pub struct CmdPacket { | ||
| 31 | pub header: PacketHeader, | ||
| 32 | pub cmd_serial: CmdSerial, | ||
| 33 | } | ||
| 34 | |||
| 35 | #[repr(C, packed)] | ||
| 36 | #[derive(Copy, Clone)] | ||
| 37 | pub struct AclDataSerial { | ||
| 38 | pub ty: u8, | ||
| 39 | pub handle: u16, | ||
| 40 | pub length: u16, | ||
| 41 | pub acl_data: [u8; 1], | ||
| 42 | } | ||
| 43 | |||
| 44 | #[repr(C, packed)] | ||
| 45 | #[derive(Copy, Clone)] | ||
| 46 | pub struct AclDataPacket { | ||
| 47 | pub header: PacketHeader, | ||
| 48 | pub acl_data_serial: AclDataSerial, | ||
| 49 | } | ||
