Fixed some bit shifting.

I was shifting before masking because I had been using a larger mask,
u16. Now it masks then shifts because I had changed it to being a u8
mask for each section.
This commit is contained in:
2025-11-14 20:03:50 -05:00
parent 5b7df6d300
commit eb0e531d3a

View File

@ -1,3 +1,5 @@
//! # Header
//! The
use crate::bits::*;
@ -41,8 +43,8 @@ impl FromBytes for ApId
{
if bytes.len() < 2usize { return Err("ERROR"); }
let id: u16 = (((bytes[0] as u16) << 8) & ApId::MASK_ARR[0]) |
((bytes[1] as u16) & ApId::MASK_ARR[1]);
let id: u16 = (((bytes[0] & ApId::MASK_ARR[0]) as u16) << 8) |
(((bytes[1] & ApId::MASK_ARR[1]) as u16));
Ok(Parsed::new(2usize, id.into()))
}
@ -56,7 +58,7 @@ impl IntoBytes for ApId
{
if buffer.len() < 2usize { return Err("Error"); }
let id: u16 = self.from();
let id: u16 = self.value;
buffer[0] = ((id >> 8) as u8) & ApId::MASK_ARR[0];
buffer[1] = (id as u8) & ApId::MASK_ARR[0];
@ -88,7 +90,7 @@ impl IntoBits for ApId
{
if bytes.len() < 2usize || mask.len() < 2usize { return Err("Error"); }
let id: u16 = self.from();
let id: u16 = self.value;
bytes[0] = ((id >> 8) as u8) & mask[0];
bytes[1] = (id as u8) & mask[1];
@ -189,6 +191,7 @@ pub enum PacketType
const TYPE_TELEMETRY: u8 = 0b00000000;
const TYPE_TELECOMMAND: u8 = 0b00010000;
impl PacketType
{
pub const MASK_U8: u8 = 0b00010000;