Skip to content

Commit 58c8ec7

Browse files
author
Jason Mobarak
authored
Merge pull request #787 from swift-nav/silverjam/v2.7.6
libsbp release 2.7.6
2 parents 9500997 + c459a8a commit 58c8ec7

34 files changed

+2282
-301
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Change Log
22

3+
## [v2.7.6](https://github.com/swift-nav/libsbp/tree/v2.7.6)
4+
5+
[Full Changelog](https://github.com/swift-nav/libsbp/compare/v2.7.5...v2.7.6)
6+
7+
**Merged pull requests:**
8+
9+
- Update haskell installation instructions [\#785](https://github.com/swift-nav/libsbp/pull/785)
10+
- \[INFRA-114\] Nojit fixes and unit testing [\#784](https://github.com/swift-nav/libsbp/pull/784)
11+
- Add IMU type code for ST ASM330LLH \[STEP-63\] [\#783](https://github.com/swift-nav/libsbp/pull/783)
12+
313
## [v2.7.5](https://github.com/swift-nav/libsbp/tree/v2.7.5)
414

515
[Full Changelog](https://github.com/swift-nav/libsbp/compare/v2.7.4...v2.7.5)

HOWTO.md

Lines changed: 68 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -95,57 +95,82 @@ Ubuntu 16.04.
9595
0. Branch and tag a new release. Tag the release version:
9696

9797
```shell
98-
# Produces most recent tag (e.g., v0.29)
98+
# Produces most recent tag (e.g., v2.7.5)
9999
git describe --abbrev=0 --tags
100-
# Increment that value, create a new one (e.g, v0.30), and push
100+
# Increment that value, create a new one (e.g, v2.7.6)
101101
git tag -a INCREMENTED_TAG -m "Version INCREMENTED_TAG of libsbp."
102102
```
103103

104-
1. Run `make all`. If running the release macOS you may need to install
104+
1. Make sure that the repo is reported as clean, e.g.
105+
106+
```shell
107+
git describe --tags --dirty --always
108+
```
109+
110+
This will ensure that version information for language libraries
111+
will be generated cleanly.
112+
113+
If running the release macOS you may need to install
105114
llvm though brew (recommend installing llvm 6 with `brew instal llvm@6`)
106115
then add it to your path with `export PATH=$(brew --prefix llvm@6)/bin:$PATH`.
107116
You can also use Nixpkgs to setup a complete build environment for
108117
running a release. [Install Nixpkgs](https://nixos.org/nix/download.html)
109118
and then run `nix-shell` prior to running `make all`.
110119

111-
2. This will bump versions in the following files:
112-
- `python/sbp/RELEASE-VERSION`
113-
- `docs/sbp.pdf`
114-
- `haskell/sbp.cabal`
115-
- `package.json`
116-
- `c/include/libsbp/version.h`
117-
- `package-lock.json` -- you can typically revert all the changes in this
118-
file except for the libsbp version change:
119-
```shell
120-
git add -p package-lock.json
121-
# enter 'y' for version change, 'd' to stop adding changes
122-
git commit -m 'package-lock.json version bump'
123-
git checkout package-lock.json
124-
```
125-
Commit the docs, these above version bumps and re-tag:
126-
```shell
127-
git add docs/sbp.pdf
128-
git commit -m 'Update docs'
129-
git add python/sbp/RELEASE-VERSION haskell/sbp.cabal.m4 package.json c/include/libsbp/version.h
130-
git commit -m 'Version bumps'
131-
git tag -f -a INCREMENTED_TAG -m "Version INCREMENTED_TAG of libsbp."
132-
```
133-
134-
3. Verify that package dependencies, their version numbers, and the
120+
2. Run make tagets for each language and re-tag. For python:
121+
122+
```shell
123+
make python pythonNG
124+
git add python/sbp/RELEASE-VERSION
125+
git commit -m 'INCREMENTED_TAG'
126+
git tag -f -a INCREMENTED_TAG -m "Version INCREMENTED_TAG of libsbp."
127+
```
128+
129+
For Java, jsonschema, and Protobuf (these should not require bumping the git tag,
130+
unless the geneated files are out of date):
131+
132+
```shell
133+
make java jsonschema protobuf rust
134+
```
135+
136+
For C, Haskell and JavaScript:
137+
138+
```shell
139+
make c haskell javascript
140+
git add c/include/libsbp/version.h sbp.cabal package.json package-lock.json
141+
git commit -m 'INCREMENTED_TAG'
142+
git tag -f -a INCREMENTED_TAG -m "Version INCREMENTED_TAG of libsbp."
143+
```
144+
145+
3. Finally, build the docs:
146+
147+
```shell
148+
make docs
149+
```
150+
151+
Then commit the docs and re-tag:
152+
153+
```shell
154+
git add docs/sbp.pdf
155+
git commit -m 'Update docs'
156+
git tag -f -a INCREMENTED_TAG -m "Version INCREMENTED_TAG of libsbp."
157+
```
158+
159+
4. Verify that package dependencies, their version numbers, and the
135160
libsbp version number in the C, Python, JavaScript, and LaTeX developer
136161
documentation are consistent.
137162

138163
- JavaScript: Manually update `package-lock.json`.
139164

140165
- Others: should be automatically extracted from git tag
141166

142-
4. Update the CHANGELOG details with `make release`. Submit a pull request and
167+
5. Update the CHANGELOG details with `make release`. Submit a pull request and
143168
get it merged. This requires
144169
[github-changelog-generator](https://github.com/skywinder/github-changelog-generator),
145170
and a `CHANGELOG_GITHUB_TOKEN` in your `PATH` if you don't already have
146171
them.
147172
148-
5. After the release PR is merged, recreate the tag:
173+
6. After the release PR is merged, recreate the tag:
149174
```shell
150175
git checkout master
151176
git pull
@@ -154,11 +179,11 @@ Ubuntu 16.04.
154179
git push origin INCREMENTED_TAG
155180
```
156181
157-
6. Create a release on
182+
7. Create a release on
158183
[GitHub](https://github.com/swift-nav/libsbp/releases) and add the
159184
RELEASE_NOTES.md.
160185
161-
7. Distribute release packages. You can attempt to run all releases
186+
8. Distribute release packages. You can attempt to run all releases
162187
with `make dist` -- this will likely not work through... it is
163188
advisable to run each dist target separately. In particular:
164189
@@ -174,7 +199,7 @@ Ubuntu 16.04.
174199
update all other supported languages when we make an official firmware
175200
release.
176201
177-
8. Releases are not only never perfect, they never really end. Please
202+
9. Releases are not only never perfect, they never really end. Please
178203
pay special attention to any downstream projects or users that may
179204
have issues or regressions as a consequence of the release version.
180205
@@ -283,6 +308,17 @@ Tox also seems to have issues interacting with conda environments. The easiest
283308
way to work around this is to remove conda from your path and make sure tox is
284309
installed with a Python2 version of the interpreter.
285310
311+
### Tox error: `ERROR: cowardly refusing to delete envdir`
312+
313+
Tox may fail with the following error:
314+
315+
ERROR: cowardly refusing to delete `envdir` (it does not look like a virtualenv): /home/ubuntu/dev/libsbp/python/.tox/py38-nojit
316+
317+
There's an open tox issue for this: https://github.com/tox-dev/tox/issues/1354
318+
-- the only workaround that resolved this was to downgrade tox:
319+
320+
pip install --upgrade --force-reinstall tox==3.12.1
321+
286322
# Contributions
287323

288324
This library is developed internally by Swift Navigation. We welcome

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ help:
6565
@echo " quicktype-elm generate Elm module from JSON Schema"
6666
@echo
6767

68-
all: c python pythonNG javascript java docs haskell protobuf rust
68+
all: c python pythonNG javascript java docs haskell protobuf rust jsonschema
6969
clean:
7070
@echo "Removing the ./c/build directory..."
7171
rm -r $(SWIFTNAV_ROOT)/c/build
@@ -267,12 +267,12 @@ gen-quicktype-typescript:
267267

268268
gen-quicktype-javascript:
269269
$(call announce-begin,"Generating JavaScript module from JSON Schema")
270-
(cd jsonschema; quicktype -l javascript --src-lang schema *.json >../sbpjson/javascript/SbpModule.js)
270+
(cd jsonschema; quicktype -l javascript --src-lang schema *.json >../sbpjson/javascript/SbpJson.js)
271271
$(call announce-begin,"Finished generating JavaScript module from JSON Schema definitions")
272272

273273
gen-quicktype-elm:
274274
$(call announce-begin,"Generating Elm module from JSON Schema")
275-
(cd jsonschema; quicktype -l elm --module SbpJson --src-lang schema *.json >../sbpjson/elm/SbpModule.elm)
275+
(cd jsonschema; quicktype -l elm --module SbpJson --src-lang schema *.json >../sbpjson/elm/SbpJson.elm)
276276
$(call announce-begin,"Finished generating Elm module from JSON Schema definitions")
277277

278278
# Testers

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ repository is organized into the following directory structure:
2525
* [`haskell`](https://github.com/swift-nav/libsbp/tree/HEAD/haskell): Haskell client and examples.
2626
* [`java`](https://github.com/swift-nav/libsbp/tree/HEAD/java): Java client library and examples.
2727
* [`javascript`](https://github.com/swift-nav/libsbp/tree/HEAD/javascript): JavaScript client library and examples.
28+
* [`rust`](https://github.com/swift-nav/libsbp/tree/HEAD/rust): Rust client library and examples.
29+
* [`sbpjson`](https://github.com/swift-nav/libsbp/tree/HEAD/sbpjson): Tools for parsing SBP-JSON.
2830

2931
Except for the `generator`, all of the above are generated and should not be modified directly.
3032

c/include/libsbp/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
/** Protocol minor version. */
2626
#define SBP_MINOR_VERSION 7
2727
/** Protocol patch version. */
28-
#define SBP_PATCH_VERSION 5
28+
#define SBP_PATCH_VERSION 6
2929

3030
/** \} */
3131

docs/sbp.pdf

-72 Bytes
Binary file not shown.

haskell/sbp.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: sbp
2-
version: 2.7.5
2+
version: 2.7.6
33
synopsis: SwiftNav's SBP Library
44
homepage: https://github.com/swift-nav/libsbp
55
license: LGPL-3

jsonschema/GridElement.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"$schema": "http://json-schema.org/draft-06/schema#",
1414
"$id": "#GridElement",
1515
"title":"GridElement",
16-
"description":"Contains one tropo delay, plus STEC residuals for each satellite at the,\ngrid point.\n",
16+
"description":"Contains one tropo delay (mean and stddev), plus STEC residuals (mean and,\nstddev) for each satellite at the grid point.\n",
1717
"type": "object",
1818
"properties": {
1919
"index": {"type": "integer"},

jsonschema/GridElementNoStd.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"copyright": [
3+
"Copyright (C) 2019 Swift Navigation Inc.",
4+
"Contact: Swift Navigation <[email protected]>",
5+
"",
6+
"This source is subject to the license found in the file 'LICENSE' which must",
7+
"be be distributed together with this source. All other rights reserved.",
8+
"",
9+
"THIS CODE AND INFORMATION IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND,",
10+
"EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED",
11+
"WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE."
12+
],
13+
"$schema": "http://json-schema.org/draft-06/schema#",
14+
"$id": "#GridElementNoStd",
15+
"title":"GridElementNoStd",
16+
"description":"Contains one tropo delay, plus STEC residuals for each satellite at the,\ngrid point.\n",
17+
"type": "object",
18+
"properties": {
19+
"index": {"type": "integer"},
20+
"tropo_delay_correction": {"$ref": "TroposphericDelayCorrectionNoStd.json"},
21+
"stec_residuals": {"type": "array", "items": {"$ref": "STECResidualNoStd.json"}}
22+
},
23+
"required": [
24+
"index",
25+
"tropo_delay_correction",
26+
"stec_residuals"
27+
]
28+
}

jsonschema/MsgPosECEFCovGnss.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"copyright": [
3+
"Copyright (C) 2019 Swift Navigation Inc.",
4+
"Contact: Swift Navigation <[email protected]>",
5+
"",
6+
"This source is subject to the license found in the file 'LICENSE' which must",
7+
"be be distributed together with this source. All other rights reserved.",
8+
"",
9+
"THIS CODE AND INFORMATION IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND,",
10+
"EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED",
11+
"WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE."
12+
],
13+
"$schema": "http://json-schema.org/draft-06/schema#",
14+
"$id": "#MsgPosECEFCovGnss",
15+
"title":"MsgPosECEFCovGnss",
16+
"description":"The position solution message reports absolute Earth Centered,\nEarth Fixed (ECEF) coordinates and the status (single point vs,\npseudo-absolute RTK) of the position solution. The message also,\nreports the upper triangular portion of the 3x3 covariance matrix.,\nIf the receiver knows the surveyed position of the base station and has,\nan RTK solution, this reports a pseudo-absolute position,\nsolution using the base station position and the rover's RTK,\nbaseline vector. The full GPS time is given by the preceding,\nMSG_GPS_TIME with the matching time-of-week (tow).\n",
17+
"type": "object",
18+
"properties": {
19+
"tow": {"type": "integer"},
20+
"x": {"type": "number"},
21+
"y": {"type": "number"},
22+
"z": {"type": "number"},
23+
"cov_x_x": {"type": "number"},
24+
"cov_x_y": {"type": "number"},
25+
"cov_x_z": {"type": "number"},
26+
"cov_y_y": {"type": "number"},
27+
"cov_y_z": {"type": "number"},
28+
"cov_z_z": {"type": "number"},
29+
"n_sats": {"type": "integer"},
30+
"flags": {"type": "integer"}
31+
},
32+
"required": [
33+
"tow",
34+
"x",
35+
"y",
36+
"z",
37+
"cov_x_x",
38+
"cov_x_y",
39+
"cov_x_z",
40+
"cov_y_y",
41+
"cov_y_z",
42+
"cov_z_z",
43+
"n_sats",
44+
"flags"
45+
]
46+
}

0 commit comments

Comments
 (0)