From 526d3a7ed9f7a2cfc9f41594379ae27d20f1ede9 Mon Sep 17 00:00:00 2001 From: Raul Victor Trombin Date: Thu, 4 Apr 2024 14:18:09 -0300 Subject: [PATCH] src: message: Fix: Checksum split payload_lenght and msg_id into two bytes --- src/message.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/message.rs b/src/message.rs index 814c9962e..a459446dc 100644 --- a/src/message.rs +++ b/src/message.rs @@ -78,8 +78,12 @@ impl ProtocolMessage { let mut checksum: u16 = 0; checksum += HEADER[0] as u16; checksum += HEADER[1] as u16; - checksum += self.payload_length; - checksum += self.message_id; + for &byte in self.payload_length.to_le_bytes().iter() { + checksum += byte as u16 + } + for &byte in self.message_id.to_le_bytes().iter() { + checksum += byte as u16 + } checksum += self.src_device_id as u16; checksum += self.dst_device_id as u16; for &byte in &self.payload {