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 {