Skip to content

Commit

Permalink
address some review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
gvaradarajan committed Jan 31, 2025
1 parent a8d97f6 commit a1687bb
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
18 changes: 18 additions & 0 deletions micro-rdk-nmea/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ mod tests {
let message = WaterDepth::from_cursor(cursor);
assert!(message.is_ok());
let message = message.unwrap();
let source_id = message.source_id();
assert!(source_id.is_ok());
assert_eq!(source_id.unwrap(), 255);
let depth = message.depth();
assert!(depth.is_ok());
assert_eq!(depth.unwrap(), 2.12);
Expand All @@ -55,6 +58,9 @@ mod tests {
let message = WaterDepth::from_cursor(cursor);
assert!(message.is_ok());
let message = message.unwrap();
let source_id = message.source_id();
assert!(source_id.is_ok());
assert_eq!(source_id.unwrap(), 0);
let depth = message.depth();
assert!(depth.is_ok());
assert_eq!(depth.unwrap(), 3.9);
Expand All @@ -78,6 +84,10 @@ mod tests {
let message = TemperatureExtendedRange::from_cursor(cursor);
assert!(message.is_ok());
let message = message.unwrap();
let source_id = message.source_id();
assert!(source_id.is_ok());
assert_eq!(source_id.unwrap(), 255);

let temp = message.temperature();
assert!(temp.is_ok());
let temp = temp.unwrap();
Expand All @@ -104,6 +114,10 @@ mod tests {
assert!(message.is_ok());
let message = message.unwrap();

let source_id = message.source_id();
assert!(source_id.is_ok());
assert_eq!(source_id.unwrap(), 58);

let altitude = message.altitude();
assert!(altitude.is_ok());
let altitude = altitude.unwrap();
Expand Down Expand Up @@ -146,6 +160,10 @@ mod tests {
let message = message.unwrap();
println!("message: {:?}", message);

let source_id = message.source_id();
assert!(source_id.is_ok());
assert_eq!(source_id.unwrap(), 162);

let range_residual_mode = message.range_residual_mode();
println!("range_residual_mode: {:?}", range_residual_mode);
assert!(matches!(
Expand Down
11 changes: 7 additions & 4 deletions micro-rdk-nmea/src/messages/pgns.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,14 +163,17 @@ pub struct NmeaMessage {
data: MessageData,
}

impl NmeaMessage {
pub fn new(mut bytes: Vec<u8>) -> Result<Self, NmeaParseError> {
let msg_data = bytes.split_off(32);
let metadata = NmeaMessageMetadata::try_from(bytes)?;
impl TryFrom<Vec<u8>> for NmeaMessage {
type Error = NmeaParseError;
fn try_from(mut value: Vec<u8>) -> Result<Self, Self::Error> {
let msg_data = value.split_off(32);
let metadata = NmeaMessageMetadata::try_from(value)?;
let data = MessageData::from_bytes(metadata.pgn(), msg_data)?;
Ok(Self { metadata, data })
}
}

impl NmeaMessage {
pub fn to_readings(self) -> Result<GenericReadingsResult, NmeaParseError> {
Ok(HashMap::from([
(
Expand Down

0 comments on commit a1687bb

Please sign in to comment.