Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions generator/sbpg/targets/resources/rust/sbp2json_cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ categories = ["parsing"]
keywords = ["encoding", "parsing"]

[dependencies.sbp]
path = "../sbp" # TODO: replace with published `sbp` crate version
path = "../sbp" # TODO: replace with published `sbp` crate version
features = ["json", "float_roundtrip"]

[dependencies]
Expand All @@ -44,9 +44,6 @@ predicates-core = "=1.0.3"
serde_json = "1.0.82"
assert-json-diff = "2.0"

[profile.release]
lto = true
codegen-units = 1

[lib]
name = "converters"
Expand Down
18 changes: 9 additions & 9 deletions generator/sbpg/targets/resources/rust/sbp_cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ authors = ["Swift Navigation <[email protected]>"]
repository = "https://github.com/swift-nav/libsbp"
license = "MIT"
categories = ["parsing"]
edition = "2018"
edition = "2024"
keywords = ["encoding", "parsing"]
readme = "../../README.md"

Expand All @@ -29,37 +29,37 @@ link = ["slotmap"]
path = "src/lib.rs"

[dependencies]
bytes = "1"
bytes = "1.10.1"
crc16 = "0.4"
log = "0.4"
log = "0.4.28"

[dependencies.swiftnav]
version = "0.10"
optional = true

[dependencies.slotmap]
version = "1"
version = "1.0.7"
optional = true

[dependencies.serde]
version = "1"
version = "1.0.228"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
version = "1.0.145"
optional = true

[dependencies.serde-big-array]
version = "0.4"
version = "0.5.1"
optional = true

[dependencies.base64]
version = "0.13"
version = "0.22.1"
optional = true

[dependencies.futures]
version = "0.3"
version = "0.3.31"
optional = true

[dependencies.dencode]
Expand Down
18 changes: 9 additions & 9 deletions rust/sbp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ authors = ["Swift Navigation <[email protected]>"]
repository = "https://github.com/swift-nav/libsbp"
license = "MIT"
categories = ["parsing"]
edition = "2018"
edition = "2024"
keywords = ["encoding", "parsing"]
readme = "../../README.md"

Expand All @@ -29,37 +29,37 @@ link = ["slotmap"]
path = "src/lib.rs"

[dependencies]
bytes = "1"
bytes = "1.10.1"
crc16 = "0.4"
log = "0.4"
log = "0.4.28"

[dependencies.swiftnav]
version = "0.10"
optional = true

[dependencies.slotmap]
version = "1"
version = "1.0.7"
optional = true

[dependencies.serde]
version = "1"
version = "1.0.228"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
version = "1.0.145"
optional = true

[dependencies.serde-big-array]
version = "0.4"
version = "0.5.1"
optional = true

[dependencies.base64]
version = "0.22"
version = "0.22.1"
optional = true

[dependencies.futures]
version = "0.3"
version = "0.3.31"
optional = true

[dependencies.dencode]
Expand Down
2 changes: 1 addition & 1 deletion rust/sbp/examples/serial.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use std::time::Duration;

use serialport::prelude::*;

use sbp::{iter_messages, Sbp};
use sbp::{Sbp, iter_messages};

fn main() {
let s = SerialPortSettings {
Expand Down
4 changes: 2 additions & 2 deletions rust/sbp/src/de.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ use dencode::FramedRead;
use futures::StreamExt;

use crate::{
messages::{invalid::Invalid, SbpMsgParseError},
HandleParseError, Sbp, CRC_LEN, HEADER_LEN, MAX_FRAME_LEN, PAYLOAD_INDEX, PREAMBLE,
CRC_LEN, HEADER_LEN, HandleParseError, MAX_FRAME_LEN, PAYLOAD_INDEX, PREAMBLE, Sbp,
messages::{SbpMsgParseError, invalid::Invalid},
};

/// Deserialize the IO stream into an iterator of messages.
Expand Down
4 changes: 2 additions & 2 deletions rust/sbp/src/json/de.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
use std::io;

use base64::{prelude::BASE64_STANDARD, Engine};
use base64::{Engine, prelude::BASE64_STANDARD};
use bytes::{Buf, BytesMut};
use dencode::{Decoder, FramedRead};
use serde::de::DeserializeOwned;
use serde_json::Deserializer;

use crate::{
BUFLEN,
json::{Json2JsonInput, JsonError, JsonInput},
messages::Sbp,
BUFLEN,
};

/// Deserialize the IO stream into an iterator of messages.
Expand Down
8 changes: 4 additions & 4 deletions rust/sbp/src/json/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@ mod ser;
use std::collections::HashMap;
use std::io;

use base64::{prelude::BASE64_STANDARD, Engine};
use base64::{Engine, prelude::BASE64_STANDARD};
use bytes::BytesMut;
use serde::{Deserialize, Serialize};
use serde_json::{ser::Formatter, Value};
use serde_json::{Value, ser::Formatter};

pub use serde_json::ser::CompactFormatter;

use crate::{messages::invalid::Invalid, HandleParseError, Sbp};
use crate::{HandleParseError, Sbp, messages::invalid::Invalid};
#[cfg(feature = "async")]
pub use de::stream_messages;
pub use de::{iter_json2json_messages, iter_messages, iter_messages_from_fields};

pub use ser::{to_vec, to_writer, Json2JsonEncoder, JsonEncoder};
pub use ser::{Json2JsonEncoder, JsonEncoder, to_vec, to_writer};

use crate::SbpMessage;
pub use convert::JsonMap;
Expand Down
6 changes: 3 additions & 3 deletions rust/sbp/src/json/ser.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
use std::{borrow::Borrow, convert::TryInto, io};

use base64::{prelude::BASE64_STANDARD, Engine};
use base64::{Engine, prelude::BASE64_STANDARD};
use bytes::{BufMut, BytesMut};
use dencode::{Encoder, FramedWrite, IterSinkExt};
use serde::Serialize;
use serde_json::{ser::Formatter, Serializer};
use serde_json::{Serializer, ser::Formatter};

use crate::{
BUFLEN, CRC_LEN, HEADER_LEN, MIN_FRAME_LEN, PREAMBLE, SbpMessage,
json::{
CommonJson, HaskellishFloatFormatter, Json2JsonInput, Json2JsonOutput, JsonError,
JsonOutput,
},
messages::Sbp,
SbpMessage, BUFLEN, CRC_LEN, HEADER_LEN, MIN_FRAME_LEN, PREAMBLE,
};

const BASE64_BUFLEN: usize = BUFLEN * 4;
Expand Down
2 changes: 1 addition & 1 deletion rust/sbp/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ pub use messages::Sbp;
pub use crate::messages::SbpMessage;

#[doc(inline)]
pub use ser::{to_vec, to_writer, Error as SerializeError, SbpEncoder};
pub use ser::{Error as SerializeError, SbpEncoder, to_vec, to_writer};

#[doc(inline)]
pub use de::{Error as DeserializeError, *};
Expand Down
2 changes: 1 addition & 1 deletion rust/sbp/src/messages/invalid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use bytes::{Buf, BufMut};

use crate::{de::CrcError, messages::SbpMsgParseError, wire_format::WireFormat, SbpMessage};
use crate::{SbpMessage, de::CrcError, messages::SbpMsgParseError, wire_format::WireFormat};

/// Invalid messages occur when either the frame or message payload doesn't have enough bytes or
/// the CRC does not match the messages payload. If the message is well formed with a message
Expand Down
2 changes: 1 addition & 1 deletion rust/sbp/src/messages/unknown.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
use bytes::{Buf, BufMut};

use crate::{wire_format::WireFormat, SbpMessage};
use crate::{SbpMessage, wire_format::WireFormat};

/// The message returned by the parser when the message type does not correspond to a known message.
///
Expand Down
2 changes: 1 addition & 1 deletion rust/sbp/src/sbp_iter_ext.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,9 @@ mod swiftnav_impl {
use swiftnav::time::GpsTime;

use crate::{
Frame, Sbp,
messages::SbpMessage,
time::{GpsTimeError, MessageTime, RoverTime},
Frame, Sbp,
};

/// See [SbpIterExt::with_rover_time] for more information.
Expand Down
9 changes: 5 additions & 4 deletions rust/sbp/src/sbp_string.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,11 @@ impl SbpString<Vec<u8>, DoubleNullTerminated> {
data: impl Into<Vec<u8>>,
) -> Result<Self, DoubleNullTerminatedError> {
let vec = data.into();
if let [.., two, one] = vec.as_slice() {
if two == &0 && one == &0 {
return Ok(SbpString::new(vec));
}
if let [.., two, one] = vec.as_slice()
&& two == &0
&& one == &0
{
return Ok(SbpString::new(vec));
};
Err(DoubleNullTerminatedError)
}
Expand Down
2 changes: 1 addition & 1 deletion rust/sbp/src/ser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ use bytes::BytesMut;
use dencode::{Encoder, FramedWrite, IterSinkExt};

use crate::wire_format::WireFormat;
use crate::{Sbp, SbpMessage};
use crate::{BUFLEN, MAX_PAYLOAD_LEN, PREAMBLE};
use crate::{Sbp, SbpMessage};

/// Serialize the given message into the IO stream.
///
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,13 @@ fn test_auto_check_sbp_file_io_msg_fileio_remove() {
);
assert_eq!(
msg.filename.as_bytes(),
&[47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0],
&[
47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0
],
"incorrect value for msg.filename, expected string '{:?}', is '{:?}'",
&[47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0],
&[
47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0
],
msg.filename.as_bytes()
);
}
Expand Down Expand Up @@ -105,9 +109,13 @@ fn test_json2sbp_auto_check_sbp_file_io_msg_fileio_remove() {
);
assert_eq!(
msg.filename.as_bytes(),
&[47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0],
&[
47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0
],
"incorrect value for msg.filename, expected string '{:?}', is '{:?}'",
&[47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0],
&[
47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0
],
msg.filename.as_bytes()
);
}
Expand Down Expand Up @@ -171,9 +179,13 @@ fn test_sbp2json_auto_check_sbp_file_io_msg_fileio_remove() {
);
assert_eq!(
msg.filename.as_bytes(),
&[47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0],
&[
47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0
],
"incorrect value for msg.filename, expected string '{:?}', is '{:?}'",
&[47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0],
&[
47, 112, 97, 116, 104, 47, 116, 111, 47, 102, 105, 108, 101, 0
],
msg.filename.as_bytes()
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,13 @@ fn test_auto_check_sbp_linux_msg_linux_cpu_state() {
);
assert_eq!(
msg.tname.as_bytes(),
&[112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0],
&[
112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0
],
"incorrect value for msg.tname, expected string '{:?}', is '{:?}'",
&[112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0],
&[
112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0
],
msg.tname.as_bytes()
);
}
Expand Down Expand Up @@ -188,9 +192,13 @@ fn test_json2sbp_auto_check_sbp_linux_msg_linux_cpu_state() {
);
assert_eq!(
msg.tname.as_bytes(),
&[112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0],
&[
112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0
],
"incorrect value for msg.tname, expected string '{:?}', is '{:?}'",
&[112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0],
&[
112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0
],
msg.tname.as_bytes()
);
}
Expand Down Expand Up @@ -297,9 +305,13 @@ fn test_sbp2json_auto_check_sbp_linux_msg_linux_cpu_state() {
);
assert_eq!(
msg.tname.as_bytes(),
&[112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0],
&[
112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0
],
"incorrect value for msg.tname, expected string '{:?}', is '{:?}'",
&[112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0],
&[
112, 114, 111, 99, 101, 115, 115, 45, 110, 97, 109, 101, 0, 0, 0
],
msg.tname.as_bytes()
);
}
Expand Down
Loading
Loading