Skip to content

Update modified DF389 field descriptions [AP-3747] #1478

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions HOWTO.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,11 @@ Some thoughts to consider when adding a new message:
It's highly recommended to use the docker container to run the release process,
the docker container can be pulled from DockerHub and launched via this command:

docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2023-12-19
docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2025-02-10

You can invoke individual stages like so:

docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2023-12-19 \
docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2025-02-10 \
/bin/bash -c "make python"

Check this [link](https://hub.docker.com/r/swiftnav/libsbp-build/tags) for newer tags.
Expand Down Expand Up @@ -467,7 +467,7 @@ For more info see: <https://docs.gradle.org/current/userguide/signing_plugin.htm
Now, invoke docker like this in order to run the `dist-java` task:

```shell
docker run -v $HOME/Documents:/keys -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2023-12-19
docker run -v $HOME/Documents:/keys -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2025-02-10
```

To publish, you'll run `make dist-java` (which will run `gradle sign` and
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Start [Docker desktop](https://docs.docker.com/docker-for-mac/).
The quickest method to get going is to just pull a prebuilt copy from DockerHub
(no guarantees on freshness) by running the following on your command line:

docker run --rm -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2023-12-19 /bin/bash
docker run --rm -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2025-02-10 /bin/bash

This will mount your local copy of the libsbp repository onto the image.

Expand Down Expand Up @@ -158,12 +158,12 @@ This could take several hours to run. Alternately, the docker image will run
the `make all` command by default, so you can kick off the `make all` process
by simply running the following command:

docker run --rm -v $PWD:/mnt/workspace -i -t libsbp-build:2023-12-19
docker run --rm -v $PWD:/mnt/workspace -i -t libsbp-build:2025-02-10

To speed up this process you can attempt to run Python environment tests in
paralell with:

docker run --rm -v $PWD:/mnt/workspace -i -t -e SBP_TOX_PARALLEL=auto libsbp-build:2023-12-19
docker run --rm -v $PWD:/mnt/workspace -i -t -e SBP_TOX_PARALLEL=auto libsbp-build:2025-02-10

When you are finished, quit Docker so that it would not unnecessarily use up
resources on your machine.
Expand Down
5 changes: 3 additions & 2 deletions c/include/libsbp/ssr/STECResidual.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,9 @@ typedef struct {
s16 residual;

/**
* Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 +
* value/16) - 1) * 10
* Standard deviation encoded using a similar method as RTCM DF389. The upper
* 3 bit are the class, the lower 5 bits are the value. Standard deviation
* [TECU] = (3^class * (1 + value/16) - 1) * 0.1 [TECU]
*/
u8 stddev;
} sbp_stec_residual_t;
Expand Down
5 changes: 3 additions & 2 deletions c/include/libsbp/ssr/TroposphericDelayCorrection.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,9 @@ typedef struct {
s8 wet;

/**
* Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 +
* value/16) - 1) [mm]
* Standard deviation encoded using a similar method as RTCM DF389. The upper
* 3 bit are the class, the lower 5 bits are the value. Standard deviation
* [mm] = (3^class * (1 + value/16) - 1) [mm]
*/
u8 stddev;
} sbp_tropospheric_delay_correction_t;
Expand Down
Binary file modified docs/sbp.pdf
Binary file not shown.
10 changes: 6 additions & 4 deletions haskell/src/SwiftNav/SBP/Ssr.hs
Original file line number Diff line number Diff line change
Expand Up @@ -256,8 +256,9 @@ data TroposphericDelayCorrection = TroposphericDelayCorrection
, _troposphericDelayCorrection_wet :: !Int8
-- ^ Wet vertical delay. Add 0.252 m to get actual value.
, _troposphericDelayCorrection_stddev :: !Word8
-- ^ Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 +
-- value/16) - 1)
-- ^ Standard deviation encoded using a similar method as RTCM DF389. The
-- upper 3 bit are the class, the lower 5 bits are the value. Standard
-- deviation [mm] = (3^class * (1 + value/16) - 1)
} deriving ( Show, Read, Eq )

instance Binary TroposphericDelayCorrection where
Expand Down Expand Up @@ -308,8 +309,9 @@ data STECResidual = STECResidual
, _sTECResidual_residual :: !Int16
-- ^ STEC residual
, _sTECResidual_stddev :: !Word8
-- ^ Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 +
-- value/16) - 1) * 10
-- ^ Standard deviation encoded using a similar method as RTCM DF389. The
-- upper 3 bit are the class, the lower 5 bits are the value. Standard
-- deviation [TECU] = (3^class * (1 + value/16) - 1) * 0.1
} deriving ( Show, Read, Eq )

instance Binary STECResidual where
Expand Down
6 changes: 5 additions & 1 deletion java/src/com/swiftnav/sbp/ssr/STECResidual.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ public class STECResidual extends SBPStruct {
/** STEC residual */
public int residual;

/** Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) - 1) * 10 */
/**
* Standard deviation encoded using a similar method as RTCM DF389. The upper 3 bit are the
* class, the lower 5 bits are the value. Standard deviation [TECU] = (3^class * (1 + value/16)
* - 1) * 0.1
*/
public int stddev;

public STECResidual() {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ public class TroposphericDelayCorrection extends SBPStruct {
/** Wet vertical delay. Add 0.252 m to get actual value. */
public int wet;

/** Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) - 1) */
/**
* Standard deviation encoded using a similar method as RTCM DF389. The upper 3 bit are the
* class, the lower 5 bits are the value. Standard deviation [mm] = (3^class * (1 + value/16) -
* 1)
*/
public int stddev;

public TroposphericDelayCorrection() {}
Expand Down
6 changes: 6 additions & 0 deletions javascript/sbp.bundle.js.LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <[email protected]> <http://feross.org>
* @license MIT
*/
10 changes: 6 additions & 4 deletions javascript/sbp/ssr.js
Original file line number Diff line number Diff line change
Expand Up @@ -266,8 +266,9 @@ TroposphericDelayCorrectionNoStd.prototype.fieldSpec.push(['wet', 'writeInt8', 1
* Fields in the SBP payload (`sbp.payload`):
* @field hydro number (signed 16-bit int, 2 bytes) Hydrostatic vertical delay. Add 2.3 m to get actual value.
* @field wet number (signed 8-bit int, 1 byte) Wet vertical delay. Add 0.252 m to get actual value.
* @field stddev number (unsigned 8-bit int, 1 byte) Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) -
* 1)
* @field stddev number (unsigned 8-bit int, 1 byte) Standard deviation encoded using a similar method as RTCM DF389. The upper 3 bit
* are the class, the lower 5 bits are the value. Standard deviation [mm] =
* (3^class * (1 + value/16) - 1)
*
* @param sbp An SBP object with a payload to be decoded.
*/
Expand Down Expand Up @@ -329,8 +330,9 @@ STECResidualNoStd.prototype.fieldSpec.push(['residual', 'writeInt16LE', 2]);
* Fields in the SBP payload (`sbp.payload`):
* @field sv_id SvId space vehicle identifier
* @field residual number (signed 16-bit int, 2 bytes) STEC residual
* @field stddev number (unsigned 8-bit int, 1 byte) Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) -
* 1) * 10
* @field stddev number (unsigned 8-bit int, 1 byte) Standard deviation encoded using a similar method as RTCM DF389. The upper 3 bit
* are the class, the lower 5 bits are the value. Standard deviation [TECU] =
* (3^class * (1 + value/16) - 1) * 0.1
*
* @param sbp An SBP object with a payload to be decoded.
*/
Expand Down
2 changes: 1 addition & 1 deletion kaitai/ksy/acquisition.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -238,4 +238,4 @@ types:
SV profiles during acquisition time
type: acq_sv_profile_dep
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/bootload.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,4 @@ types:
Version number string (not NULL terminated)
type: u1
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/ext_events.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ types:
doc: |
Pin number. 0..9 = DEBUG0..9.
type: u1


2 changes: 1 addition & 1 deletion kaitai/ksy/file_io.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -209,4 +209,4 @@ types:
doc: |
The version of FileIO that is supported
type: u4


2 changes: 1 addition & 1 deletion kaitai/ksy/flash.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -181,4 +181,4 @@ types:
type: u1
repeat: expr
repeat-expr: 1


2 changes: 1 addition & 1 deletion kaitai/ksy/gnss.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -132,4 +132,4 @@ types:
doc: |
Carrier phase fractional part
type: u1


2 changes: 1 addition & 1 deletion kaitai/ksy/imu.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -126,4 +126,4 @@ types:
doc: |
Compensated angular rate Z axis
type: s4


2 changes: 1 addition & 1 deletion kaitai/ksy/integrity.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -275,4 +275,4 @@ types:
doc: |
The solution ID of the instance providing the corrections.
type: u1


2 changes: 1 addition & 1 deletion kaitai/ksy/linux.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -376,4 +376,4 @@ types:
doc: |
flags
type: u1


2 changes: 1 addition & 1 deletion kaitai/ksy/logging.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,4 @@ types:
type: str
encoding: ascii
size-eos: true


2 changes: 1 addition & 1 deletion kaitai/ksy/mag.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ types:
doc: |
Magnetic field in the body frame Z axis
type: s2


2 changes: 1 addition & 1 deletion kaitai/ksy/navigation.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -2033,4 +2033,4 @@ types:
doc: |
Status flags of relative translation and rotation
type: u1


2 changes: 1 addition & 1 deletion kaitai/ksy/ndb.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@ types:
least significant bytes of the device serial number, valid only if
data_source is NDB_DS_SBP. Reserved in case of other data_source.
type: u2


2 changes: 1 addition & 1 deletion kaitai/ksy/observation.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -2506,4 +2506,4 @@ types:
Network correction for a satellite signal.
type: packed_osr_content
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/orientation.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -170,4 +170,4 @@ types:
doc: |
Status flags
type: u1


2 changes: 1 addition & 1 deletion kaitai/ksy/piksi.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -547,4 +547,4 @@ types:
type: s1
repeat: expr
repeat-expr: 8


2 changes: 1 addition & 1 deletion kaitai/ksy/profiling.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,4 @@ types:
List of resource buckets
type: resource_bucket
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/sbas.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ types:
type: u1
repeat: expr
repeat-expr: 27


2 changes: 1 addition & 1 deletion kaitai/ksy/sbp.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -605,4 +605,4 @@ types:
2307: vehicle::msg_odometry
2308: vehicle::msg_wheeltick
- id: crc
type: u2
type: u2
2 changes: 1 addition & 1 deletion kaitai/ksy/settings.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -198,4 +198,4 @@ types:
type: str
encoding: ascii
size-eos: true


2 changes: 1 addition & 1 deletion kaitai/ksy/signing.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -434,4 +434,4 @@ types:
CRCs of signed messages.
type: u4
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/solution_meta.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,4 @@ types:
doc: |
Instrument ODO rate, grade, and quality.
type: u1


12 changes: 7 additions & 5 deletions kaitai/ksy/ssr.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,9 @@ types:
type: s1
- id: stddev
doc: |
Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 +
value/16) - 1)
Standard deviation encoded using a similar method as RTCM DF389. The
upper 3 bit are the class, the lower 5 bits are the value. Standard
deviation [mm] = (3^class * (1 + value/16) - 1)
type: u1

stec_residual_no_std:
Expand Down Expand Up @@ -219,8 +220,9 @@ types:
type: s2
- id: stddev
doc: |
Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 +
value/16) - 1) * 10
Standard deviation encoded using a similar method as RTCM DF389. The
upper 3 bit are the class, the lower 5 bits are the value. Standard
deviation [TECU] = (3^class * (1 + value/16) - 1) * 0.1
type: u1

msg_ssr_orbit_clock:
Expand Down Expand Up @@ -1296,4 +1298,4 @@ types:
doc: |
Orbit and Clock Bounds Degradation Parameters
type: orbit_clock_bound_degradation


2 changes: 1 addition & 1 deletion kaitai/ksy/system.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -368,4 +368,4 @@ types:
including GROUP_META itself
type: u2
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/telemetry.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,4 @@ types:
Array of per-signal telemetry entries
type: telemetry_sv
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/tracking.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -409,4 +409,4 @@ types:
Signal tracking channel state
type: tracking_channel_state_dep_b
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/user.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ types:
User data payload
type: u1
repeat: eos


2 changes: 1 addition & 1 deletion kaitai/ksy/vehicle.ksy
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ types:
The counter should be incrementing if travelling into one direction
and decrementing when travelling in the opposite direction.
type: s4


2 changes: 1 addition & 1 deletion kaitai/perl/KaitaiSbp/Table.pm
Original file line number Diff line number Diff line change
Expand Up @@ -338,4 +338,4 @@ sub _read {
}


1;
1;
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ sub test_auto_check_sbp_acquisition_msg_acq_result_1() {
}
test_auto_check_sbp_acquisition_msg_acq_result_1();

done_testing();
done_testing();
Original file line number Diff line number Diff line change
Expand Up @@ -209,4 +209,4 @@ test_auto_check_sbp_acquisition_msg_acq_result_dep_a_4();
test_auto_check_sbp_acquisition_msg_acq_result_dep_a_5();
test_auto_check_sbp_acquisition_msg_acq_result_dep_a_6();

done_testing();
done_testing();
Original file line number Diff line number Diff line change
Expand Up @@ -179,4 +179,4 @@ test_auto_check_sbp_acquisition_msg_acq_result_dep_b_3();
test_auto_check_sbp_acquisition_msg_acq_result_dep_b_4();
test_auto_check_sbp_acquisition_msg_acq_result_dep_b_5();

done_testing();
done_testing();
Loading
Loading