diff --git a/Makefile b/Makefile index 135ad6f2b..212e0edd4 100644 --- a/Makefile +++ b/Makefile @@ -68,7 +68,7 @@ upload: cargo-ver cargo +esp espflash flash --package micro-rdk-server --monitor --partition-table micro-rdk-server/esp32/partitions.csv --baud 460800 -f 80mhz --bin micro-rdk-server-esp32 --target=xtensa-esp32-espidf -Zbuild-std=std,panic_abort test: - cargo test -p micro-rdk --lib --features native,ota + cargo test --workspace --tests --no-fail-fast --features native,ota clippy-native: cargo clippy -p micro-rdk --no-deps --features native,ota -- -Dwarnings diff --git a/micro-rdk-nmea/src/lib.rs b/micro-rdk-nmea/src/lib.rs index c5ebadc1c..02e8cdaf4 100644 --- a/micro-rdk-nmea/src/lib.rs +++ b/micro-rdk-nmea/src/lib.rs @@ -9,8 +9,8 @@ mod tests { messages::{ message::Message, pgns::{ - GnssPositionData, GnssSatsInView, TemperatureExtendedRange, WaterDepth, - MESSAGE_DATA_OFFSET, + GnssPositionData, NmeaMessage, NmeaMessageBody, TemperatureExtendedRange, + WaterDepth, MESSAGE_DATA_OFFSET, }, }, parse_helpers::{ @@ -157,10 +157,17 @@ mod tests { let res = general_purpose::STANDARD.decode_vec(msg_str, &mut data); assert!(res.is_ok()); - let cursor = DataCursor::new(data[MESSAGE_DATA_OFFSET..].to_vec()); - let message = GnssSatsInView::from_cursor(cursor); - assert!(message.is_ok()); + let nmea_message = NmeaMessage::try_from(data); + assert!(nmea_message.is_ok()); + + let nmea_message = nmea_message.unwrap(); + let message = match nmea_message.data { + NmeaMessageBody::GnssSatsInView(val) => Some(val), + _ => None, + }; + assert!(message.is_some()); let message = message.unwrap(); + println!("message: {:?}", message); let source_id = message.source_id(); diff --git a/micro-rdk-nmea/src/messages/pgns.rs b/micro-rdk-nmea/src/messages/pgns.rs index 34b06d9ae..8bf219d9f 100644 --- a/micro-rdk-nmea/src/messages/pgns.rs +++ b/micro-rdk-nmea/src/messages/pgns.rs @@ -126,7 +126,7 @@ pub struct GnssSatsInView { } macro_rules! define_pgns { - ( $(($pgndef:ident, $pgn:expr)),* ) => { + ( $($pgndef:ident),* ) => { #[derive(Clone, Debug)] pub enum NmeaMessageBody { $($pgndef($pgndef)),*, @@ -143,7 +143,7 @@ macro_rules! define_pgns { pub fn from_bytes(pgn: u32, bytes: Vec) -> Result { Ok(match pgn { - $($pgn => { + $($pgndef::PGN => { let cursor = DataCursor::new(bytes); Self::$pgndef($pgndef::from_cursor(cursor)?) }),*, @@ -163,15 +163,11 @@ macro_rules! define_pgns { pub const MESSAGE_DATA_OFFSET: usize = 32; -define_pgns!( - (WaterDepth, 128267), - (TemperatureExtendedRange, 130316), - (GnssSatsInView, 129540) -); +define_pgns!(WaterDepth, TemperatureExtendedRange, GnssSatsInView); pub struct NmeaMessage { - metadata: NmeaMessageMetadata, - data: NmeaMessageBody, + pub metadata: NmeaMessageMetadata, + pub data: NmeaMessageBody, } impl TryFrom> for NmeaMessage { diff --git a/micro-rdk/src/common/conn/server.rs b/micro-rdk/src/common/conn/server.rs index e37f762aa..ddb37ff44 100755 --- a/micro-rdk/src/common/conn/server.rs +++ b/micro-rdk/src/common/conn/server.rs @@ -117,6 +117,7 @@ impl IncomingConnectionManager { Self { connections } } + #[allow(dead_code)] pub(crate) fn max_connections(&self) -> usize { self.connections.len() } diff --git a/micro-rdk/src/common/robot.rs b/micro-rdk/src/common/robot.rs index 3f73d3a4f..00cf06620 100755 --- a/micro-rdk/src/common/robot.rs +++ b/micro-rdk/src/common/robot.rs @@ -504,6 +504,7 @@ impl LocalRobot { } pub fn get_periodic_app_client_tasks(&mut self) -> Vec> { + #[allow(unused_mut)] let mut tasks = Vec::>::new(); #[cfg(feature = "data")] diff --git a/micro-rdk/src/common/sensor.rs b/micro-rdk/src/common/sensor.rs index a0e18f41e..45615dfab 100755 --- a/micro-rdk/src/common/sensor.rs +++ b/micro-rdk/src/common/sensor.rs @@ -61,8 +61,7 @@ pub(crate) fn register_models(registry: &mut ComponentRegistry) { } } -pub type GenericReadingsResult = - ::std::collections::HashMap<::prost::alloc::string::String, google::protobuf::Value>; +pub type GenericReadingsResult = HashMap<::prost::alloc::string::String, google::protobuf::Value>; #[cfg(feature = "data")] impl From for Data {