Device profile templates - import error

I have tried a few times to import the current device repository (not the legacy one) just wondering what is causing this error on importing if this is supposed to be a specification? does the region have to be included in current list of running regions? I used to get this fault at a AS923-1 device previously.

thread 'main' panicked at chirpstack/src/main.rs:119:18:
called `Result::unwrap()` on an `Err` value: Unexpected region: AS923-4
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

would be be worthwhile to start a official chirpstack repo for device manufacturers to push these too for chirpstack users? many already use and some others sponsor chirpstack - but because the the silly licensing spat technically they cannot import their own commits to from the ttn repo.

it seems the n-fuse vendor is trying trying to import invalid regional parameters, i tried to build the repo locally to run the validate command but they have issues in the repo which does not allow it to build.

Unfortunately TTN does not allow importing the current version of their device repo: GitHub - TheThingsNetwork/lorawan-devices: Device Repository for LoRaWAN devices

Therefore the import will only work against the latest version still containing the open-source license

Is it possible to start an official chirpstack device repository for vendors to push their device data to?

If the community supports this, then I would be more than happy to facilitate such repository + maybe some scripts for running tests etcā€¦ :slight_smile:

4 Likes

cool, happy to help in any way I can. if thats with prā€™s or coordinate vendors etc lmk.

1 Like

100% behind this initiative. I set up the GitHub - helium/console-decoders: Payload decoder functions for console. back in the day. This is much needed. (TTNā€™s stance seems fragmenting to meā€¦) Lemme know if I may be of assistance.

1 Like

@ccall48 @tteague just to let you know, I have started on a TOML based structure for vendors / devices / profiles and codecs + a test-runner to validate the TOML configuration and to test the codec functions. As soon as I have a working proof of concept, I will make it public and invite you to provide feedback :slight_smile:

@ccall48 and @tteague could you take a look at this example that I have made:

I created a pull-request so that you can make inline comments:

I cloned your repo.

so each ā€˜example-templateā€™ is for a vendor name?

and each device: codec, devices, profiles and vendor.toml are located in this location?

It would be very similar to the TTN repo, as in:

/vendor/rakwireless/....
/vendor/tektelic/...

Then each vendor could have one or multiple devices (under devices), that can reference to one or multiple profiles (under profiles) and optionally a codec (under codecs).

If there is a codec configured (e.g. test-codec.js), then it is expected there are tests too (test_encode-test-codec.json and test_decode-test-codec.json).

When running make test, it will setup a Docker environment and inside the test-runner directory it will call cargo run (which will iterate over the directory structure, load the codecs and runs the tests).

I will soon add more documentation to describe the directory hierarchy. I also need to complete the validation code (e.g. for the region I only added EU868 for testing).

1 Like