Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
caa9029
Fix warnings generated when running pytest:
dgburr Oct 25, 2025
94ee2f4
Update haskell autogen
dgburr Oct 25, 2025
26c4ada
Merge branch 'master' into fix-python-warnings
dgburr Oct 29, 2025
b935712
Update to libsbp-build:2025-10-29
dgburr Oct 30, 2025
219f401
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
acb5308
Update java headers
dgburr Oct 30, 2025
0bc4bf4
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
7e63792
Fix "dubious ownership in repository" error with git 2.35.2 and later
dgburr Oct 30, 2025
6312937
Revert acb53080bda848b259e7ba6cc1829b6ec83c59be
dgburr Oct 30, 2025
f894ce2
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
7d20f09
Update generated headers
dgburr Oct 30, 2025
44ee7c3
Alternate fix for "dubious ownership in repository" issue
dgburr Oct 30, 2025
f70904e
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
db44d3d
Don't use relative dir
dgburr Oct 30, 2025
8b39a8f
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
09fdfa9
The `safe.directory` config setting is only respected in the system a…
dgburr Oct 30, 2025
0920be6
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
f624128
Use getuid/getgid
dgburr Oct 30, 2025
9423bfb
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
799e194
Change to system setting
dgburr Oct 30, 2025
a4db088
Revert changes to signed_messages
dgburr Oct 30, 2025
984321c
Merge branch 'update-libsbp-build' into fix-python-warnings
dgburr Oct 30, 2025
7e987a3
Merge branch 'master' into fix-python-warnings
dgburr Oct 30, 2025
5640f4b
Make representation of 'signed_messages' consistent
dgburr Oct 31, 2025
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
2 changes: 1 addition & 1 deletion c/include/libsbp/signing/MSG_AES_CMAC_SIGNATURE.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ typedef struct {
u8 signature[SBP_MSG_AES_CMAC_SIGNATURE_SIGNATURE_MAX];

/**
* Describes the format of the 'signed messages' field below.
* Describes the format of the 'signed_messages' field.
*/
u8 flags;

Expand Down
2 changes: 1 addition & 1 deletion c/include/libsbp/signing/MSG_ECDSA_SIGNATURE.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ extern "C" {
*/
typedef struct {
/**
* Describes the format of the `signed\_messages` field below.
* Describes the format of the 'signed_messages' field.
*/
u8 flags;

Expand Down
2 changes: 1 addition & 1 deletion c/include/libsbp/signing/MSG_ECDSA_SIGNATURE_DEP_A.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ extern "C" {
*/
typedef struct {
/**
* Describes the format of the `signed\_messages` field below.
* Describes the format of the 'signed_messages' field.
*/
u8 flags;

Expand Down
2 changes: 1 addition & 1 deletion c/include/libsbp/signing/MSG_ECDSA_SIGNATURE_DEP_B.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ extern "C" {
*/
typedef struct {
/**
* Describes the format of the `signed\_messages` field below.
* Describes the format of the 'signed_messages' field.
*/
u8 flags;

Expand Down
Binary file modified docs/sbp.pdf
Binary file not shown.
12 changes: 0 additions & 12 deletions generator/sbpg/targets/latex.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,6 @@ def no_us(value):
pass
return None

# Note, these reg exps will not replace the '^' character to allow
# exponents in the units text field
LATEX_SUBS_ALLOW_EXPONENTS = (
(re.compile(r'\\'), r'\\textbackslash'),
(re.compile(r'([{}_#%&$])'), r'\\\1'),
(re.compile(r'~'), r'\~{}'),
(re.compile(r'_'), r'_'),
(re.compile(r'"'), r"''"),
(re.compile(r'\.\.\.+'), r'\\ldots'),
(re.compile(r'\n'), r'\\newline ')
)

TEMPLATE_NAME = "sbp_messages_desc.tex"

LATEX_SUBS_MIN = (
Expand Down
4 changes: 2 additions & 2 deletions generator/sbpg/targets/resources/sbp_messages_desc.tex
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ \subsubsection{(((m.name | escape_tex ))) ((*- if m.is_real_message *)) --- ((('
((*- for bf in f.bitfields *))
\regfieldb{(((bf['desc'])))((* if 'vals' in bf *)) (\autoref{tab:(((m.name)))_(((f.name|nobrackets)))(((bf['range'])))})((* endif *))}{(((bf['len'])))}{(((bf['lsb'])))}
((*- endfor *))
\captionof{field}{(((f.desc))) (\texttt{(((f.name|removearray|escape_tex)))})}
\captionof{field}{(((f.desc|escape_tex))) (\texttt{(((f.name|removearray|escape_tex)))})}
\label{fld:(((m.name)))_(((f.name|nobrackets)))}
\end{minipage}
\hfill
Expand Down Expand Up @@ -157,7 +157,7 @@ \subsubsection*{(((m.name|escape_tex|no_us))) --- ((('0x%04X'|format(m.sbp_id)))
((*- for bf in f.bitfields *))
\regfieldb{(((bf['desc'])))((* if 'vals' in bf *)) (\autoref{tab:(((m.name)))_(((f.name|nobrackets)))(((bf['range'])))})((* endif *))}{(((bf['len'])))}{(((bf['lsb'])))}
((*- endfor *))
\captionof{field}{(((f.desc))) (\texttt{(((f.name|removearray|escape_tex)))})}
\captionof{field}{(((f.desc|escape_tex))) (\texttt{(((f.name|removearray|escape_tex)))})}
\label{fld:(((m.name)))_(((f.name|nobrackets)))}
\end{minipage}
\hfill
Expand Down
8 changes: 4 additions & 4 deletions haskell/src/SwiftNav/SBP/Signing.hs
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ data MsgAesCmacSignature = MsgAesCmacSignature
, _msgAesCmacSignature_signature :: ![Word8]
-- ^ Signature (CMAC tag value)
, _msgAesCmacSignature_flags :: !Word8
-- ^ Describes the format of the 'signed messages' field below.
-- ^ Describes the format of the 'signed_messages' field.
, _msgAesCmacSignature_signed_messages :: ![Word8]
-- ^ CRCs of the messages covered by this signature. For Skylark, which
-- delivers SBP messages wrapped in Swift's proprietary RTCM message,
Expand Down Expand Up @@ -286,7 +286,7 @@ msgEcdsaSignature = 0x0C08
-- An ECDSA-256 signature using SHA-256 as the message digest algorithm.
data MsgEcdsaSignature = MsgEcdsaSignature
{ _msgEcdsaSignature_flags :: !Word8
-- ^ Describes the format of the `signed\_messages` field below.
-- ^ Describes the format of the 'signed_messages' field.
, _msgEcdsaSignature_stream_counter :: !Word8
-- ^ Signature message counter. Zero indexed and incremented with each
-- signature message. The counter will not increment if this message was
Expand Down Expand Up @@ -340,7 +340,7 @@ msgEcdsaSignatureDepB = 0x0C07
-- Deprecated.
data MsgEcdsaSignatureDepB = MsgEcdsaSignatureDepB
{ _msgEcdsaSignatureDepB_flags :: !Word8
-- ^ Describes the format of the `signed\_messages` field below.
-- ^ Describes the format of the 'signed_messages' field.
, _msgEcdsaSignatureDepB_stream_counter :: !Word8
-- ^ Signature message counter. Zero indexed and incremented with each
-- signature message. The counter will not increment if this message was
Expand Down Expand Up @@ -401,7 +401,7 @@ msgEcdsaSignatureDepA = 0x0C06
-- Deprecated.
data MsgEcdsaSignatureDepA = MsgEcdsaSignatureDepA
{ _msgEcdsaSignatureDepA_flags :: !Word8
-- ^ Describes the format of the `signed\_messages` field below.
-- ^ Describes the format of the 'signed_messages' field.
, _msgEcdsaSignatureDepA_stream_counter :: !Word8
-- ^ Signature message counter. Zero indexed and incremented with each
-- signature message. The counter will not increment if this message was
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public class MsgAesCmacSignature extends SBPMessage {
/** Signature (CMAC tag value) */
public int[] signature;

/** Describes the format of the 'signed messages' field below. */
/** Describes the format of the 'signed_messages' field. */
public int flags;

/**
Expand Down
2 changes: 1 addition & 1 deletion java/src/com/swiftnav/sbp/signing/MsgEcdsaSignature.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
public class MsgEcdsaSignature extends SBPMessage {
public static final int TYPE = 0x0C08;

/** Describes the format of the `signed\_messages` field below. */
/** Describes the format of the 'signed_messages' field. */
public int flags;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
public class MsgEcdsaSignatureDepA extends SBPMessage {
public static final int TYPE = 0x0C06;

/** Describes the format of the `signed\_messages` field below. */
/** Describes the format of the 'signed_messages' field. */
public int flags;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
public class MsgEcdsaSignatureDepB extends SBPMessage {
public static final int TYPE = 0x0C07;

/** Describes the format of the `signed\_messages` field below. */
/** Describes the format of the 'signed_messages' field. */
public int flags;

/**
Expand Down
8 changes: 4 additions & 4 deletions javascript/sbp/signing.js
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ MsgCertificateChainDep.prototype.fieldSpec.push(['signature', 'array', 'writeUIn
* be zero.
* @field certificate_id array The last 4 bytes of the certificate's SHA-1 fingerprint
* @field signature array Signature (CMAC tag value)
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the 'signed messages' field below.
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the 'signed_messages' field.
* @field signed_messages array CRCs of the messages covered by this signature. For Skylark, which delivers SBP
* messages wrapped in Swift's proprietary RTCM message, these are the 24-bit CRCs
* from the RTCM message framing. For SBP only streams, this will be 16-bit CRCs
Expand Down Expand Up @@ -281,7 +281,7 @@ MsgAesCmacSignature.prototype.fieldSpec.push(['signed_messages', 'array', 'write
* An ECDSA-256 signature using SHA-256 as the message digest algorithm.
*
* Fields in the SBP payload (`sbp.payload`):
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the `signed\_messages` field below.
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the 'signed_messages' field.
* @field stream_counter number (unsigned 8-bit int, 1 byte) Signature message counter. Zero indexed and incremented with each signature
* message. The counter will not increment if this message was in response to an
* on demand request. The counter will roll over after 256 messages. Upon
Expand Down Expand Up @@ -333,7 +333,7 @@ MsgEcdsaSignature.prototype.fieldSpec.push(['signed_messages', 'array', 'writeUI
* Deprecated.
*
* Fields in the SBP payload (`sbp.payload`):
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the `signed\_messages` field below.
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the 'signed_messages' field.
* @field stream_counter number (unsigned 8-bit int, 1 byte) Signature message counter. Zero indexed and incremented with each signature
* message. The counter will not increment if this message was in response to an
* on demand request. The counter will roll over after 256 messages. Upon
Expand Down Expand Up @@ -390,7 +390,7 @@ MsgEcdsaSignatureDepB.prototype.fieldSpec.push(['signed_messages', 'array', 'wri
* Deprecated.
*
* Fields in the SBP payload (`sbp.payload`):
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the `signed\_messages` field below.
* @field flags number (unsigned 8-bit int, 1 byte) Describes the format of the 'signed_messages' field.
* @field stream_counter number (unsigned 8-bit int, 1 byte) Signature message counter. Zero indexed and incremented with each signature
* message. The counter will not increment if this message was in response to an
* on demand request. The counter will roll over after 256 messages. Upon
Expand Down
8 changes: 4 additions & 4 deletions kaitai/ksy/signing.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ types:
repeat-expr: 16
- id: flags
doc: |
Describes the format of the 'signed messages' field below.
Describes the format of the 'signed_messages' field.
type: u1
- id: signed_messages
doc: |
Expand All @@ -219,7 +219,7 @@ types:
seq:
- id: flags
doc: |
Describes the format of the `signed\_messages` field below.
Describes the format of the 'signed_messages' field.
type: u1
- id: stream_counter
doc: |
Expand Down Expand Up @@ -262,7 +262,7 @@ types:
seq:
- id: flags
doc: |
Describes the format of the `signed\_messages` field below.
Describes the format of the 'signed_messages' field.
type: u1
- id: stream_counter
doc: |
Expand Down Expand Up @@ -314,7 +314,7 @@ types:
seq:
- id: flags
doc: |
Describes the format of the `signed\_messages` field below.
Describes the format of the 'signed_messages' field.
type: u1
- id: stream_counter
doc: |
Expand Down
3 changes: 3 additions & 0 deletions python/docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ Messages:
sbp.flash
sbp.gnss
sbp.imu
sbp.integrity
sbp.linux
sbp.logging
sbp.mag
Expand All @@ -81,9 +82,11 @@ Messages:
sbp.piksi
sbp.sbas
sbp.settings
sbp.signing
sbp.solution_meta
sbp.ssr
sbp.system
sbp.telemetry
sbp.tracking
sbp.user
sbp.vehicle
Expand Down
1 change: 1 addition & 0 deletions python/pytest.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[pytest]
# fftmonitor.py requires numpy
addopts = --doctest-modules --ignore='sbp/client/util/fftmonitor.py' --flakes
markers = slow: mark test as slow.
3 changes: 0 additions & 3 deletions python/sbp/jit/__init__.py

This file was deleted.

7 changes: 0 additions & 7 deletions python/sbp/msg.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,6 @@
_CRC_PARSER = struct.Struct(_CRC_FMT)


def try_import_jit():
from warnings import warn

warn("sbp.jit has been removed", UserWarning, stacklevel=1)
return None


class UnpackError(ValueError):
pass

Expand Down
2 changes: 1 addition & 1 deletion python/sbp/sbp2json.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ def iter_messages_buffered(fp):


def sbp_main(args):
reader = io.open(args.file.fileno(), 'rb')
reader = io.open(args.file.fileno(), 'rb', closefd=False)
include = set(args.include)
iter_fn = iter_messages_unbuffered if args.unbuffered else iter_messages_buffered

Expand Down
8 changes: 4 additions & 4 deletions python/sbp/signing.py
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ class MsgAesCmacSignature(SBP):
signature : array
Signature (CMAC tag value)
flags : int
Describes the format of the 'signed messages' field below.
Describes the format of the 'signed_messages' field.
signed_messages : array
CRCs of the messages covered by this signature. For Skylark, which
delivers SBP messages wrapped in Swift's proprietary RTCM message, these
Expand Down Expand Up @@ -623,7 +623,7 @@ class MsgEcdsaSignature(SBP):
sbp : SBP
SBP parent object to inherit from.
flags : int
Describes the format of the `signed\_messages` field below.
Describes the format of the 'signed_messages' field.
stream_counter : int
Signature message counter. Zero indexed and incremented with each
signature message. The counter will not increment if this message was in
Expand Down Expand Up @@ -754,7 +754,7 @@ class MsgEcdsaSignatureDepB(SBP):
sbp : SBP
SBP parent object to inherit from.
flags : int
Describes the format of the `signed\_messages` field below.
Describes the format of the 'signed_messages' field.
stream_counter : int
Signature message counter. Zero indexed and incremented with each
signature message. The counter will not increment if this message was in
Expand Down Expand Up @@ -893,7 +893,7 @@ class MsgEcdsaSignatureDepA(SBP):
sbp : SBP
SBP parent object to inherit from.
flags : int
Describes the format of the `signed\_messages` field below.
Describes the format of the 'signed_messages' field.
stream_counter : int
Signature message counter. Zero indexed and incremented with each
signature message. The counter will not increment if this message was in
Expand Down
27 changes: 0 additions & 27 deletions python/tests/sbp/test_deprecation.py

This file was deleted.

3 changes: 3 additions & 0 deletions python/tests/sbp/test_sbp2json.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from .utils import PYTHON_ROOT
import sbp.sbp2json
import os
import pytest

TEST_DATA = os.path.join(PYTHON_ROOT, "..", "test_data", "benchmark.sbp")

Expand All @@ -37,13 +38,15 @@ def counter(args, res):

# make sure that we parse exactly 150000 SBP messages from TEST_DATA
# when running sbp2json without the --unbuffered flag
@pytest.mark.slow
def test_sbp2json_buffered():
msg_count = get_message_count(False)
assert msg_count == 150000


# make sure that we parse exactly 150000 SBP messages from TEST_DATA
# when running sbp2json with the --unbuffered flag
@pytest.mark.slow
def test_sbp2json_unbuffered():
msg_count = get_message_count(True)
assert msg_count == 150000
8 changes: 4 additions & 4 deletions rust/sbp/src/messages/signing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ pub mod msg_aes_cmac_signature {
/// Signature (CMAC tag value)
#[cfg_attr(feature = "serde", serde(rename = "signature"))]
pub signature: [u8; 16],
/// Describes the format of the 'signed messages' field below.
/// Describes the format of the 'signed_messages' field.
#[cfg_attr(feature = "serde", serde(rename = "flags"))]
pub flags: u8,
/// CRCs of the messages covered by this signature. For Skylark, which
Expand Down Expand Up @@ -649,7 +649,7 @@ pub mod msg_ecdsa_signature {
/// The message sender_id
#[cfg_attr(feature = "serde", serde(skip_serializing, alias = "sender"))]
pub sender_id: Option<u16>,
/// Describes the format of the `signed\_messages` field below.
/// Describes the format of the 'signed_messages' field.
#[cfg_attr(feature = "serde", serde(rename = "flags"))]
pub flags: u8,
/// Signature message counter. Zero indexed and incremented with each
Expand Down Expand Up @@ -825,7 +825,7 @@ pub mod msg_ecdsa_signature_dep_a {
/// The message sender_id
#[cfg_attr(feature = "serde", serde(skip_serializing, alias = "sender"))]
pub sender_id: Option<u16>,
/// Describes the format of the `signed\_messages` field below.
/// Describes the format of the 'signed_messages' field.
#[cfg_attr(feature = "serde", serde(rename = "flags"))]
pub flags: u8,
/// Signature message counter. Zero indexed and incremented with each
Expand Down Expand Up @@ -1001,7 +1001,7 @@ pub mod msg_ecdsa_signature_dep_b {
/// The message sender_id
#[cfg_attr(feature = "serde", serde(skip_serializing, alias = "sender"))]
pub sender_id: Option<u16>,
/// Describes the format of the `signed\_messages` field below.
/// Describes the format of the 'signed_messages' field.
#[cfg_attr(feature = "serde", serde(rename = "flags"))]
pub flags: u8,
/// Signature message counter. Zero indexed and incremented with each
Expand Down
Loading
Loading