Skip to content
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

Dots basic translators #1

Open
wants to merge 68 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
117b6ad
Chirpstack and TTN basic translator templates for dots products.
dparyani Mar 14, 2024
5c5f0ae
basic translators generator commonJS file.
dparyani Mar 14, 2024
ec51248
Added export knownSchemas statement to the template and generated dot…
dparyani Mar 16, 2024
46adc8e
Chirpstack and TTN template file changes.
dparyani Mar 16, 2024
fe706d9
Basic translators shell script updated.
dparyani Mar 16, 2024
015c258
working node js script to generate R11+ dots products' basic translat…
dparyani Mar 16, 2024
8b0fc8e
Chirpstack LNS generated R11+ dots products' basic translators ES5 Ja…
dparyani Mar 16, 2024
85a3478
TheThingsNetwork LNS generated R11+ dots products' basic translators …
dparyani Mar 16, 2024
4c28b17
git ignore vscode related project file
dparyani Mar 16, 2024
fd3a35b
Added support for chirpstack v4, renamed respective folders & file(s)…
dparyani Mar 20, 2024
559000b
Filter out schemas where mapData do not have any output field.
dparyani Apr 18, 2024
ec21f2e
export knownSchemas updated based on feedback from Lars Mats.
dparyani Apr 19, 2024
0fa18cf
Fixed some bugs and modularized code.
dparyani Apr 20, 2024
4c546dc
cosmetic changes to be similar to ttn template.
dparyani Apr 20, 2024
5bef434
Updated Chirpstack V3, V4 and TTN basic translators uptill R14.
dparyani Apr 20, 2024
f31da2a
Removed unwanted commented code.
dparyani Apr 21, 2024
a66d8ca
Removed unwanted commented code.
dparyani Apr 21, 2024
7f51f08
Updated README with basic translator information
James-Holmquist May 8, 2024
2ee1e66
New version of air, comfort and sound
Sensative-Lars-Mats Apr 22, 2024
e32b7d0
Updated with R15 versions
Sensative-Lars-Mats May 14, 2024
c22c239
Updated Translators for release R15
dparyani May 14, 2024
abc98b3
New comfort sound implementation
Sensative-Lars-Mats May 14, 2024
f91e0d4
Include R15, new sound module
Sensative-Lars-Mats May 14, 2024
1f68368
Correction in signedness on SNR IDD data
Sensative-Lars-Mats May 27, 2024
af131f0
Added references in the README to the basic translator branch.
James-Holmquist May 15, 2024
64c3a8c
Changed air app to not do confirmed reporting as often
Sensative-Lars-Mats May 28, 2024
c641520
Added new lifefinder app, and ir proximity app
Sensative-Lars-Mats Jun 4, 2024
3b98b2e
New version
Sensative-Lars-Mats Jun 4, 2024
cc08559
Added new airport tracker app version
Sensative-Lars-Mats Jun 11, 2024
48d04b7
New translator version code
Sensative-Lars-Mats Jun 11, 2024
8ea105c
Added lifefinder nfc reader app R1
Sensative-Lars-Mats Jun 19, 2024
85b2186
Added support for lifefinder NFC reader app
Sensative-Lars-Mats Jun 19, 2024
7ac25c3
Updated latest build
Sensative-Lars-Mats Jun 25, 2024
8f87aed
Added R16
Sensative-Lars-Mats Jun 28, 2024
7a5ca21
Updated to R16
Sensative-Lars-Mats Jun 28, 2024
f7de4b5
Implemented customization uplinks decode
Sensative-Lars-Mats Jun 28, 2024
b2ae401
Added support for customization
Sensative-Lars-Mats Jun 28, 2024
db57948
Incorrect 32bit signed to unsigned calculation for CRCs
Sensative-Lars-Mats Jun 28, 2024
0f04d43
Updated README with basic translator information
James-Holmquist May 8, 2024
2497852
Updated script file to be able to run from ZShell.
dparyani Jul 2, 2024
1f95da7
Added documentation related to each function.
dparyani Jul 2, 2024
b47ea62
Added comment generator to show similar schema for CRCs above schema …
dparyani Jul 2, 2024
4582a16
R16 related updates.
dparyani Jul 2, 2024
b1b7a2b
Updated to R18 release apps
dagerlandsson Jul 17, 2024
8b2a912
Updated respective LNS' templates as per the changes in dots-translat…
dparyani Jul 17, 2024
babebe0
Improvization with naming generated basic translator filenames.
dparyani Jul 17, 2024
f9e3451
Updated basic translators for R18 release.
dparyani Jul 17, 2024
f4e1fda
Added references in the README to the basic translator branch.
James-Holmquist May 15, 2024
a65326e
Updated to match R19 applications
dagerlandsson Jul 18, 2024
9c9baca
Original README.md for this branch.
dparyani Jul 19, 2024
0d7c81b
Updated basic translators to reflect R19 release.
dparyani Jul 19, 2024
6d7d01f
Fixed ES6 related issue. Chirpstack V3 follows ES5.
dparyani Jul 29, 2024
d71bc2e
Chirpstack V3 R19 related basic translators regenerated.
dparyani Jul 29, 2024
5bbcb12
Update translator with latest version of Airport apps
Sensative-Lars-Mats Jul 26, 2024
dbf2ad4
Added R20 release
Sensative-Lars-Mats Aug 1, 2024
f55d384
New airport app versions
Sensative-Lars-Mats Aug 2, 2024
5bc8ddf
New version
Sensative-Lars-Mats Aug 2, 2024
44639d2
Added R21
Sensative-Lars-Mats Aug 2, 2024
9b11e18
R21
Sensative-Lars-Mats Aug 2, 2024
3340093
Re-generated basic translators uptill R21.
dparyani Aug 9, 2024
419c123
Error in app crc calculation
Sensative-Lars-Mats Aug 15, 2024
7a6a01d
Version update
Sensative-Lars-Mats Aug 15, 2024
e9b4f03
Error in app crc calculation.
dparyani Aug 15, 2024
9a8570c
Error in app crc calculation - basic translators re-generated.
dparyani Aug 15, 2024
8648793
Added README to Dots Basic Translators branch
bjornakesson4 Oct 22, 2024
9f9dc0c
Plural fix
bjornakesson4 Oct 22, 2024
4d5053a
Added Applications table to README
bjornakesson4 Oct 22, 2024
c83c932
Typo
bjornakesson4 Oct 22, 2024
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
yarn.lock
node_modules
install-all.sh
.vscode/
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,18 @@ Also for this functionality the translator requires the previous translation res

All this is made available in the MQTT client, which also support reformatting the output to fit your environment, and publishing it there.

# Basic Translator

Should you be using only a single type of unit and have no ability to set up a independent MQTT client for any reason you can instead use the simplified translators in /basic-translators/ instead of adapting the universal generated translator to your system, as that requires persistent data memory that most LNSes lack. Navigate to the folder compatible with your LNS and find your product and app version and use it in your LNS.

## How to identify which version to use

If you are unsure which version to use, simply chose any version of your product and join your device to the network. After the join sequence, the device will upload data on port 15, which when translated will contain a ´ruleCrc32´ value. If your device is already joined, you can trigger the device to resend the information by sending a downlink with the hex data 00 to port 15. (Note that you will have to wait for the device to send an uplink before it will accept the downlink.)

When you have your CRC, compare that value to the table in vsm-translator-open-source/basic-translator/x/dots-basic-x-translator-index.csv. If your CRC is compatible with the version you already picked you're good to go, if it does not match, simply switch to the correct version and any future data will be decoded correctly.

## Drawbacks to basic translators

To handle large uplinks the device will normally split an uplink into multiple frames when they cannot fit in the max frame allowed by the data rate. The basic translator lacks the memory to access the previous frames and therefore this functionality will not work. This is mainly a concern for the uplink of WiFi and GNSS geopositioning scanning, however, but may in some very rare cases also affect normal data transfer on networks with very poor conditions.

Any positioning data you do manage to get through will also not result in a solved position, as positioning solving requires an external service such as Semtech LoRa Cloud to function which you will have to set up seperately.
43 changes: 43 additions & 0 deletions basic-translators/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# README

* The decoders for Chirpstack V3 can be found in the `chirpstack-v3` folder

* The decoders for Chirpstack V4 & The Things Network (TTN) can be found in the `thethingsnetwork-chirpstack-v4` folder

<br>

<h3>The following decoders/translators are valid for the following applications and respective firmware version:<h3>

|Product Application |Firmware Versions |CRCs |
|-----------------------|---------------------------------------|------------------------------------------|
|Airport-int |R11 R12 R13 R14 R15 |1695912328&#124;1872032769 |
|Airport-int |R21 |2371105800 |
|Airport-int |R20 |2719891747 |
|Airport-int |R21 |3169307235 |
|Airport-int |R16 R18 R19 R20 |3532693249&#124;3625056904 |
|Airport-int-R6-fw-patch|R20 R21 |1016353446 |
|Airport-int-R6-fw-patch|R18 R19 |2745602166 |
|Default |R11 R12 R13 R14 R15 R16 R18 R19 R20 R21|2132727044 |
|Digital-gpio |R11 R12 R13 R14 R15 R16 R18 R19 R20 R21|1617091456&#124;3497448490 |
|Gnss-autonomous-test |R11 R12 R13 R14 R15 R16 R18 R19 R20 R21|1815337626 |
|Heartstarter |R11 R12 R13 R14 R15 R16 R18 R19 R20 R21|1727723267 |
|IR-proximity |R16 R18 R19 R20 R21 |2355202201 |
|Lifefinder |R11 R12 R13 R14 R15 |47853213&#124;3321548430 |
|Lifefinder-motion |R11 R12 R13 R14 R15 |1938827428&#124;3031484599 |
|Lifefinder-squad |R11 R12 R13 R14 R15 |399948366&#124;3505805917 |
|Lifefinder-wifi |R11 R12 R13 R14 R15 |691254335&#124;3994244140 |
|Lifefinder-wifi |R16 R18 R19 R20 R21 |2274655646 |
|Motion-measure |R11 R12 R13 R14 R15 R16 R18 R19 R20 R21|2297466901 |
|Puck-radar |R13 R14 R15 R16 R18 R19 R20 R21 |561898260 |
|Puck-radar |R11 R12 |1325798073 |
|Puck-radar-fast-rejoin |R12 |729172455 |
|Puck-radar-fast-rejoin |R13 R14 R15 R16 R18 R19 R20 R21 |1121182195 |
|Square-air |R11 R12 R13 R14 R15 |472391447&#124;915094797&#124;3634715455&#124;4002204643 |
|Square-air |R16 R18 R19 R20 R21 |3241343967 |
|Square-comfort |R14 R15 R16 R18 R19 R20 R21 |2266505222&#124;2696231198 |
|Square-comfort |R11 R12 R13 |3530880224&#124;4174894842 |
|Square-comfort-sound |R11 R12 R13 R14 R15 |517999093&#124;2338085954&#124;2387046759&#124;2766427005|
|Square-comfort-sound |R16 R18 |1355326083 |
|Square-comfort-sound |R19 R20 R21 |3090458506 |
|Tracker |R11 R12 R13 R14 R15 R16 R18 R19 R20 R21|489186430 |
|Tracker-stats |R11 R12 R13 R14 R15 R16 R18 R19 R20 R21|1711284143 |
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Filename,Product Application,Versions,CRCs
chirpstack-v3/Airport-int-R11-to-R15.js,Airport-int,R11 R12 R13 R14 R15,1695912328|1872032769
chirpstack-v3/Airport-int-R21.js,Airport-int,R21,2371105800
chirpstack-v3/Airport-int-R20.js,Airport-int,R20,2719891747
chirpstack-v3/Airport-int-R21.js,Airport-int,R21,3169307235
chirpstack-v3/Airport-int-R16-to-R20.js,Airport-int,R16 R18 R19 R20,3532693249|3625056904
chirpstack-v3/Airport-int-R6-fw-patch-R20-to-R21.js,Airport-int-R6-fw-patch,R20 R21,1016353446
chirpstack-v3/Airport-int-R6-fw-patch-R18-to-R19.js,Airport-int-R6-fw-patch,R18 R19,2745602166
chirpstack-v3/Default-R11-to-R21.js,Default,R11 R12 R13 R14 R15 R16 R18 R19 R20 R21,2132727044
chirpstack-v3/Digital-gpio-R11-to-R21.js,Digital-gpio,R11 R12 R13 R14 R15 R16 R18 R19 R20 R21,1617091456|3497448490
chirpstack-v3/Gnss-autonomous-test-R11-to-R21.js,Gnss-autonomous-test,R11 R12 R13 R14 R15 R16 R18 R19 R20 R21,1815337626
chirpstack-v3/Heartstarter-R11-to-R21.js,Heartstarter,R11 R12 R13 R14 R15 R16 R18 R19 R20 R21,1727723267
chirpstack-v3/IR-proximity-R16-to-R21.js,IR-proximity,R16 R18 R19 R20 R21,2355202201
chirpstack-v3/Lifefinder-R11-to-R15.js,Lifefinder,R11 R12 R13 R14 R15,47853213|3321548430
chirpstack-v3/Lifefinder-motion-R11-to-R15.js,Lifefinder-motion,R11 R12 R13 R14 R15,1938827428|3031484599
chirpstack-v3/Lifefinder-squad-R11-to-R15.js,Lifefinder-squad,R11 R12 R13 R14 R15,399948366|3505805917
chirpstack-v3/Lifefinder-wifi-R11-to-R15.js,Lifefinder-wifi,R11 R12 R13 R14 R15,691254335|3994244140
chirpstack-v3/Lifefinder-wifi-R16-to-R21.js,Lifefinder-wifi,R16 R18 R19 R20 R21,2274655646
chirpstack-v3/Motion-measure-R11-to-R21.js,Motion-measure,R11 R12 R13 R14 R15 R16 R18 R19 R20 R21,2297466901
chirpstack-v3/Puck-radar-R13-to-R21.js,Puck-radar,R13 R14 R15 R16 R18 R19 R20 R21,561898260
chirpstack-v3/Puck-radar-R11-to-R12.js,Puck-radar,R11 R12,1325798073
chirpstack-v3/Puck-radar-fast-rejoin-R12.js,Puck-radar-fast-rejoin,R12,729172455
chirpstack-v3/Puck-radar-fast-rejoin-R13-to-R21.js,Puck-radar-fast-rejoin,R13 R14 R15 R16 R18 R19 R20 R21,1121182195
chirpstack-v3/Square-air-R11-to-R15.js,Square-air,R11 R12 R13 R14 R15,472391447|915094797|3634715455|4002204643
chirpstack-v3/Square-air-R16-to-R21.js,Square-air,R16 R18 R19 R20 R21,3241343967
chirpstack-v3/Square-comfort-R14-to-R21.js,Square-comfort,R14 R15 R16 R18 R19 R20 R21,2266505222|2696231198
chirpstack-v3/Square-comfort-R11-to-R13.js,Square-comfort,R11 R12 R13,3530880224|4174894842
chirpstack-v3/Square-comfort-sound-R11-to-R15.js,Square-comfort-sound,R11 R12 R13 R14 R15,517999093|2338085954|2387046759|2766427005
chirpstack-v3/Square-comfort-sound-R16-to-R18.js,Square-comfort-sound,R16 R18,1355326083
chirpstack-v3/Square-comfort-sound-R19-to-R21.js,Square-comfort-sound,R19 R20 R21,3090458506
chirpstack-v3/Tracker-R11-to-R21.js,Tracker,R11 R12 R13 R14 R15 R16 R18 R19 R20 R21,489186430
chirpstack-v3/Tracker-stats-R11-to-R21.js,Tracker-stats,R11 R12 R13 R14 R15 R16 R18 R19 R20 R21,1711284143
Loading