1
Fork 0

More trace logging.

This commit is contained in:
Alex Helfet 2017-12-30 18:05:33 +00:00
parent 6d26fbeeda
commit 14f64573e6

View file

@ -113,11 +113,19 @@ pub fn encode_to_slice(p: &Payload, dest: &mut Encoded) -> Result<usize> {
// programmer error. // programmer error.
assert!(max_encoded_len(p.len()) <= dest.len()); assert!(max_encoded_len(p.len()) <= dest.len());
#[cfg(feature = "trace")] {
println!("framed::encode: Payload = {:?}", p);
}
let cobs_len = cobs::encode(&p, &mut dest[HEADER_LEN..]); let cobs_len = cobs::encode(&p, &mut dest[HEADER_LEN..]);
let checksum = checksum(p); let checksum = checksum(p);
{ {
let mut _header = &mut dest[0..HEADER_LEN]; let mut _header = &mut dest[0..HEADER_LEN];
#[cfg(feature = "trace")] {
println!("framed::encode: Header = {:?}", _header);
}
} }
{ {
let footer = &mut dest[ let footer = &mut dest[
@ -126,10 +134,13 @@ pub fn encode_to_slice(p: &Payload, dest: &mut Encoded) -> Result<usize> {
(HEADER_LEN + cobs_len + FOOTER_LEN)]; (HEADER_LEN + cobs_len + FOOTER_LEN)];
footer[0..CHECKSUM_LEN].copy_from_slice(&checksum); footer[0..CHECKSUM_LEN].copy_from_slice(&checksum);
footer[CHECKSUM_LEN] = FRAME_END_SYMBOL; footer[CHECKSUM_LEN] = FRAME_END_SYMBOL;
#[cfg(feature = "trace")] {
println!("framed::encode: Footer = {:?}", footer);
}
} }
let len = HEADER_LEN + cobs_len + FOOTER_LEN; let len = HEADER_LEN + cobs_len + FOOTER_LEN;
#[cfg(feature = "trace")] { #[cfg(feature = "trace")] {
println!("framed: Encoded frame = {:?}", &dest[0..len]); println!("framed::encode: Frame = {:?}", &dest[0..len]);
} }
Ok(len) Ok(len)
} }
@ -185,7 +196,7 @@ pub fn encode_to_writer<W: Write>(p: &Payload, w: &mut W) -> Result<usize> {
pub fn decode_to_slice(e: &Encoded, dest: &mut [u8]) pub fn decode_to_slice(e: &Encoded, dest: &mut [u8])
-> Result<usize> { -> Result<usize> {
#[cfg(feature = "trace")] { #[cfg(feature = "trace")] {
println!("framed: Encoded input = {:?}", e); println!("framed::decode: Encoded = {:?}", e);
} }
if e.len() == 0 { if e.len() == 0 {
@ -208,9 +219,9 @@ pub fn decode_to_slice(e: &Encoded, dest: &mut [u8])
let footer = &e[(e.len() - FOOTER_LEN)..e.len()]; let footer = &e[(e.len() - FOOTER_LEN)..e.len()];
#[cfg(feature = "trace")] { #[cfg(feature = "trace")] {
println!("framed: header = {:?}\n\ println!("framed::decode: header = {:?}\n\
framed: body = {:?}\n\ framed::decode: body = {:?}\n\
framed: footer = {:?}", framed::decode: footer = {:?}",
_header, body, footer); _header, body, footer);
} }
@ -218,16 +229,23 @@ pub fn decode_to_slice(e: &Encoded, dest: &mut [u8])
.map_err(|_| Error::CobsDecodeFailed)?; .map_err(|_| Error::CobsDecodeFailed)?;
let decoded = &dest[0..decoded_len]; let decoded = &dest[0..decoded_len];
#[cfg(feature = "trace")] {
println!("framed::decode: payload = {:?}",
decoded);
}
let calc_checksum = checksum(decoded); let calc_checksum = checksum(decoded);
let received_checksum = &footer[0..CHECKSUM_LEN]; let received_checksum = &footer[0..CHECKSUM_LEN];
if calc_checksum != received_checksum { #[cfg(feature = "trace")] {
return Err(Error::ChecksumError); println!("framed::decode: calc checksum = {:?}\n\
framed::decode: recv checksum = {:?}",
calc_checksum, received_checksum);
} }
#[cfg(feature = "trace")] { if calc_checksum != received_checksum {
println!("framed: decoded = {:?}", return Err(Error::ChecksumError);
decoded);
} }
Ok(decoded_len) Ok(decoded_len)