From 94caa9f03db2262b56882ec4200d2362a312a9a9 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 3 Oct 2022 10:15:58 +1100 Subject: [PATCH 1/3] generated from_parts fixes --- .../resources/rust/sbp_messages_mod.rs | 26 +++++++++---------- rust/sbp/src/messages/mod.rs | 2 +- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs b/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs index edf1f6c69d..aa131cb016 100644 --- a/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs +++ b/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs @@ -144,7 +144,7 @@ impl<'de> serde::Deserialize<'de> for Sbp { } impl Sbp { - /// Parse a message from a [Frame](crate::Frame). + /// Parse a message from given fields. /// /// # Example /// @@ -152,35 +152,33 @@ impl Sbp { /// use std::convert::TryInto; /// /// use sbp::messages::logging::MsgLog; - /// use sbp::{Frame, Sbp}; + /// use sbp::Sbp; /// /// fn main() -> Result<(), Box> { /// // log level 1 and with "hello" as the message + /// let msg_type = 1025; + /// let sender_id = 1; /// let payload: &[u8] = &[1, 104, 101, 108, 108, 111]; - /// let frame = Frame { - /// msg_type: 1025, - /// sender_id: 1, - /// payload, - /// }; - /// let msg: MsgLog = Sbp::from_frame(frame)?.try_into()?; + /// + /// let msg: MsgLog = Sbp::from_parts(msg_type, sender_id, payload)?.try_into()?; /// assert_eq!(msg.sender_id, Some(1)); /// assert_eq!(msg.level, 1); /// assert_eq!(msg.text.as_bytes(), "hello".as_bytes()); /// Ok(()) /// } /// ``` - pub fn from_frame(mut frame: crate::Frame) -> Result { - match frame.msg_type { + pub fn from_parts(msg_type: u16, sender_id: u16, mut payload: B) -> Result { + match msg_type { ((*- for m in msgs *)) (((m.msg_name)))::MESSAGE_TYPE => { - let mut msg = (((m.msg_name)))::parse(&mut frame.payload)?; - msg.set_sender_id(frame.sender_id); + let mut msg = (((m.msg_name)))::parse(&mut payload)?; + msg.set_sender_id(sender_id); Ok(Sbp::(((m.msg_name)))(msg)) }, ((*- endfor *)) _ => { - let mut msg = Unknown::parse(&mut frame.payload)?; - msg.set_sender_id(frame.sender_id); + let mut msg = Unknown::parse(&mut payload)?; + msg.set_sender_id(sender_id); Ok(Sbp::Unknown(msg)) } } diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index b4a6eaf11b..df015eeac7 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -1531,7 +1531,7 @@ impl Sbp { /// Ok(()) /// } /// ``` - pub fn from_parts( + pub fn from_parts( msg_type: u16, sender_id: u16, mut payload: B, From e87c62b9ed3d71f3d8ca04980794e7a53797d89f Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 3 Oct 2022 10:16:46 +1100 Subject: [PATCH 2/3] adjust --- generator/sbpg/targets/resources/rust/sbp_messages_mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs b/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs index aa131cb016..9690ea2c92 100644 --- a/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs +++ b/generator/sbpg/targets/resources/rust/sbp_messages_mod.rs @@ -167,7 +167,7 @@ impl Sbp { /// Ok(()) /// } /// ``` - pub fn from_parts(msg_type: u16, sender_id: u16, mut payload: B) -> Result { + pub fn from_parts(msg_type: u16, sender_id: u16, mut payload: B) -> Result { match msg_type { ((*- for m in msgs *)) (((m.msg_name)))::MESSAGE_TYPE => { From fa3d03de63ac6a7589697a0cfe0a695c2ef8cc01 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 3 Oct 2022 10:17:56 +1100 Subject: [PATCH 3/3] adjust --- rust/sbp/src/messages/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index df015eeac7..b4a6eaf11b 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -1531,7 +1531,7 @@ impl Sbp { /// Ok(()) /// } /// ``` - pub fn from_parts( + pub fn from_parts( msg_type: u16, sender_id: u16, mut payload: B,