diff --git a/c/include/libsbp/version.h b/c/include/libsbp/version.h index 9d95c9b6b6..4667b9f95e 100644 --- a/c/include/libsbp/version.h +++ b/c/include/libsbp/version.h @@ -25,10 +25,10 @@ /** Protocol minor version. */ #define SBP_MINOR_VERSION 0 /** Protocol patch version. */ -#define SBP_PATCH_VERSION 3 +#define SBP_PATCH_VERSION 5 /** Full SBP version string. */ -#define SBP_VERSION "5.0.4-alpha" +#define SBP_VERSION "5.0.5" /** Is this a staging branch? */ #define SBP_STAGING 0 diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 1afae51c94..534ed9bbc2 100644 Binary files a/docs/sbp.pdf and b/docs/sbp.pdf differ diff --git a/haskell/sbp.cabal b/haskell/sbp.cabal index c236b67d9f..69a06acd51 100644 --- a/haskell/sbp.cabal +++ b/haskell/sbp.cabal @@ -1,5 +1,5 @@ name: sbp -version: 5.0.4-alpha +version: 5.0.5 synopsis: SwiftNav's SBP Library homepage: https://github.com/swift-nav/libsbp license: MIT diff --git a/javascript/sbp/RELEASE-VERSION b/javascript/sbp/RELEASE-VERSION index a8a5353f80..25b08bbc78 100644 --- a/javascript/sbp/RELEASE-VERSION +++ b/javascript/sbp/RELEASE-VERSION @@ -1 +1 @@ -5.0.4-alpha \ No newline at end of file +5.0.5 \ No newline at end of file diff --git a/kaitai/ksy/imu.ksy b/kaitai/ksy/imu.ksy index a0514bf3b8..05c86637c3 100644 --- a/kaitai/ksy/imu.ksy +++ b/kaitai/ksy/imu.ksy @@ -27,12 +27,11 @@ types: with the indications on the device itself. Measurement units, which are specific to the device hardware and settings, are communicated via the MSG_IMU_AUX message. If using "time since startup" local time tags, the - receiving end will expect a `MSG_PPS_TIME` regardless of GNSS fix state. - This also requires that the MSG_PPS_TIME message be sent prior to any - IMU RAW messages that are based on the current (as measured at the PPS - edge) local time timestamps. The local time (as defined in the - MSG_PPS_TIME message) must wrap around to zero when reaching the extent - of the u64 "Local time in microseconds" parameter. + receiving end will expect either a MSG_GNSS_TIME_OFFSET or MSG_PPS_TIME + to establish the relationship between IMU time and GNSS time. + Regardless of the timestamping mode, the timestamp is required to roll + over to zero when reaching one week (604800 seconds, or 604800000 + milliseconds). The time-tagging mode should not change throughout a run. seq: - id: tow diff --git a/kaitai/ksy/sbp.ksy b/kaitai/ksy/sbp.ksy index f82bc25fb9..367f086cb0 100644 --- a/kaitai/ksy/sbp.ksy +++ b/kaitai/ksy/sbp.ksy @@ -8,7 +8,7 @@ # EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. # -# Kaitai Struct definition file for Swift Binary Protocol 5.0.5-alpha +# Kaitai Struct definition file for Swift Binary Protocol 5.0.5 # # Automatically generated with generate.py. Do not hand edit! diff --git a/kaitai/ksy/system.ksy b/kaitai/ksy/system.ksy index 48de4d1076..7ece243c86 100644 --- a/kaitai/ksy/system.ksy +++ b/kaitai/ksy/system.ksy @@ -283,16 +283,17 @@ types: doc: | The PPS time message contains the value of the sender's local time in microseconds at the moment a pulse is detected on the PPS input. This is - to be used for syncronisation of sensor data sampled with a local + to be used for synchronisation of sensor data sampled with a local timestamp (e.g. IMU or wheeltick messages) where GNSS time is unknown to the sender. The local time used to timestamp the PPS pulse must be generated by the same clock which is used to timestamp the IMU/wheel sensor data and - should follow the same roll-over rules. A separate MSG_PPS_TIME message - should be sent for each source of sensor data which uses PPS-relative - timestamping. The sender ID for each of these MSG_PPS_TIME messages - should match the sender ID of the respective sensor data. + should follow the same roll-over rules (i.e. it should roll over to zero + after 604800 seconds). A separate MSG_PPS_TIME message should be sent + for each source of sensor data which uses local timestamping. The + sender ID for each of these MSG_PPS_TIME messages should match the + sender ID of the respective sensor data. seq: - id: time doc: | diff --git a/kaitai/ksy/vehicle.ksy b/kaitai/ksy/vehicle.ksy index b9eb9b5eba..a47e7f5d78 100644 --- a/kaitai/ksy/vehicle.ksy +++ b/kaitai/ksy/vehicle.ksy @@ -27,10 +27,11 @@ types: offset for the odometry reference point and the definition and origin of the user frame are defined through the device settings interface. There are 4 possible user-defined sources of this message which are labeled - arbitrarily source 0 through 3. If using "processor time" time tags, the - receiving end will expect a `MSG_GNSS_TIME_OFFSET` when a PVT fix - becomes available to synchronise odometry measurements with GNSS. - Processor time shall roll over to zero after one week. + arbitrarily source 0 through 3. + If using "processor time" time tags, the receiving end will expect + either `MSG_GNSS_TIME_OFFSET` or `MSG_PPS_TIME` to sync incoming + odometry data to GNSS time. Processor time shall roll over to zero + after one week. seq: - id: tow doc: | @@ -57,10 +58,10 @@ types: from 0 to 255. The timestamp associated with this message should represent the time when the accumulated tick count reached the value given by the contents of this message as accurately as possible. If - using "local CPU time" time tags, the receiving end will expect a - `MSG_GNSS_TIME_OFFSET` when a PVT fix becomes available to synchronise - wheeltick measurements with GNSS. Local CPU time shall roll over to zero - after one week. + using "local CPU time" time tags, the receiving end will also expect + either `MSG_GNSS_TIME_OFFSET` or `MSG_PPS_TIME` to sync incoming + wheeltick data to GNSS time. + Local CPU time shall roll over to zero after one week. seq: - id: time doc: | diff --git a/kaitai/python/kaitai_sbp/imu.py b/kaitai/python/kaitai_sbp/imu.py index cd87fef85d..3cf35122b5 100644 --- a/kaitai/python/kaitai_sbp/imu.py +++ b/kaitai/python/kaitai_sbp/imu.py @@ -23,12 +23,11 @@ class MsgImuRaw(KaitaiStruct): with the indications on the device itself. Measurement units, which are specific to the device hardware and settings, are communicated via the MSG_IMU_AUX message. If using "time since startup" local time tags, the - receiving end will expect a `MSG_PPS_TIME` regardless of GNSS fix state. - This also requires that the MSG_PPS_TIME message be sent prior to any - IMU RAW messages that are based on the current (as measured at the PPS - edge) local time timestamps. The local time (as defined in the - MSG_PPS_TIME message) must wrap around to zero when reaching the extent - of the u64 "Local time in microseconds" parameter. + receiving end will expect either a MSG_GNSS_TIME_OFFSET or MSG_PPS_TIME + to establish the relationship between IMU time and GNSS time. + Regardless of the timestamping mode, the timestamp is required to roll + over to zero when reaching one week (604800 seconds, or 604800000 + milliseconds). The time-tagging mode should not change throughout a run. """ def __init__(self, _io, _parent=None, _root=None): diff --git a/kaitai/python/kaitai_sbp/system.py b/kaitai/python/kaitai_sbp/system.py index 071b2f9ac8..7cbc5e1997 100644 --- a/kaitai/python/kaitai_sbp/system.py +++ b/kaitai/python/kaitai_sbp/system.py @@ -113,16 +113,17 @@ def _read(self): class MsgPpsTime(KaitaiStruct): """The PPS time message contains the value of the sender's local time in microseconds at the moment a pulse is detected on the PPS input. This is - to be used for syncronisation of sensor data sampled with a local + to be used for synchronisation of sensor data sampled with a local timestamp (e.g. IMU or wheeltick messages) where GNSS time is unknown to the sender. The local time used to timestamp the PPS pulse must be generated by the same clock which is used to timestamp the IMU/wheel sensor data and - should follow the same roll-over rules. A separate MSG_PPS_TIME message - should be sent for each source of sensor data which uses PPS-relative - timestamping. The sender ID for each of these MSG_PPS_TIME messages - should match the sender ID of the respective sensor data. + should follow the same roll-over rules (i.e. it should roll over to zero + after 604800 seconds). A separate MSG_PPS_TIME message should be sent + for each source of sensor data which uses local timestamping. The + sender ID for each of these MSG_PPS_TIME messages should match the + sender ID of the respective sensor data. """ def __init__(self, _io, _parent=None, _root=None): self._io = _io diff --git a/kaitai/python/kaitai_sbp/vehicle.py b/kaitai/python/kaitai_sbp/vehicle.py index 3abab94f81..d1cda5a1d5 100644 --- a/kaitai/python/kaitai_sbp/vehicle.py +++ b/kaitai/python/kaitai_sbp/vehicle.py @@ -23,10 +23,11 @@ class MsgOdometry(KaitaiStruct): offset for the odometry reference point and the definition and origin of the user frame are defined through the device settings interface. There are 4 possible user-defined sources of this message which are labeled - arbitrarily source 0 through 3. If using "processor time" time tags, the - receiving end will expect a `MSG_GNSS_TIME_OFFSET` when a PVT fix - becomes available to synchronise odometry measurements with GNSS. - Processor time shall roll over to zero after one week. + arbitrarily source 0 through 3. + If using "processor time" time tags, the receiving end will expect + either `MSG_GNSS_TIME_OFFSET` or `MSG_PPS_TIME` to sync incoming + odometry data to GNSS time. Processor time shall roll over to zero + after one week. """ def __init__(self, _io, _parent=None, _root=None): self._io = _io @@ -49,10 +50,10 @@ class MsgWheeltick(KaitaiStruct): from 0 to 255. The timestamp associated with this message should represent the time when the accumulated tick count reached the value given by the contents of this message as accurately as possible. If - using "local CPU time" time tags, the receiving end will expect a - `MSG_GNSS_TIME_OFFSET` when a PVT fix becomes available to synchronise - wheeltick measurements with GNSS. Local CPU time shall roll over to zero - after one week. + using "local CPU time" time tags, the receiving end will also expect + either `MSG_GNSS_TIME_OFFSET` or `MSG_PPS_TIME` to sync incoming + wheeltick data to GNSS time. + Local CPU time shall roll over to zero after one week. """ def __init__(self, _io, _parent=None, _root=None): self._io = _io diff --git a/package-lock.json b/package-lock.json index 749b65e4cf..5f681d2953 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sbp", - "version": "5.0.4-alpha", + "version": "5.0.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "sbp", - "version": "5.0.4-alpha", + "version": "5.0.5", "license": "MIT", "dependencies": { "binary-parser": "^1.7.0", diff --git a/package.json b/package.json index f8f4ab1a81..67586b2bb9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sbp", - "version": "5.0.4-alpha", + "version": "5.0.5", "description": "libsbp bindings for JavaScript. More information here: http://swift-nav.github.io/libsbp/", "files": [ "javascript/*", diff --git a/python/docs/source/spelling_wordlist.txt b/python/docs/source/spelling_wordlist.txt index 082c6044d9..141d8a47c2 100644 --- a/python/docs/source/spelling_wordlist.txt +++ b/python/docs/source/spelling_wordlist.txt @@ -147,7 +147,7 @@ structs swiftnav synch synchronise -syncronisation +synchronisation syslog tcp tgd diff --git a/python/sbp/RELEASE-VERSION b/python/sbp/RELEASE-VERSION index a8a5353f80..25b08bbc78 100644 --- a/python/sbp/RELEASE-VERSION +++ b/python/sbp/RELEASE-VERSION @@ -1 +1 @@ -5.0.4-alpha \ No newline at end of file +5.0.5 \ No newline at end of file diff --git a/rust/sbp/Cargo.toml b/rust/sbp/Cargo.toml index 4dfb263966..f1970562ba 100644 --- a/rust/sbp/Cargo.toml +++ b/rust/sbp/Cargo.toml @@ -7,7 +7,7 @@ [package] name = "sbp" -version = "5.0.4-alpha" +version = "5.0.5" description = "Rust native implementation of SBP (Swift Binary Protocol) for communicating with devices made by Swift Navigation" authors = ["Swift Navigation "] repository = "https://github.com/swift-nav/libsbp" diff --git a/rust/sbp2json/Cargo.toml b/rust/sbp2json/Cargo.toml index 35c00a00b4..c23918151b 100644 --- a/rust/sbp2json/Cargo.toml +++ b/rust/sbp2json/Cargo.toml @@ -7,7 +7,7 @@ [package] name = "sbp2json" -version = "5.0.4-alpha" +version = "5.0.5-unreleased" repository = "https://github.com/swift-nav/libsbp" description = "Rust native implementation of SBP (Swift Binary Protocol) to JSON conversion tools" authors = ["Swift Navigation "]