MCPcopy Index your code
hub / github.com/chirpstack/chirpstack-concentratord

github.com/chirpstack/chirpstack-concentratord @v4.7.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.7.1 ↗ · + Follow
497 symbols 962 edges 109 files 96 documented · 19%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ChirpStack Concentratord

Tests

ChirpStack Concentratord is an open-source LoRa(WAN) concentrator daemon, part of the ChirpStack project. It exposes a ZeroMQ based API that can be used by one or multiple applications to interact with gateway hardware. By implementing and abstracting the the hardware specifics in a separate daemon and exposing this over a ZeroMQ based API, the packet forwarding application can be completely decoupled from the gateway hardware. It also allows for running multiple packet forwarding applications simultaniously.

Documentation and binaries

Please refer to the ChirpStack website for documentation and pre-compiled binaries.

Building from source

Requirements

Building ChirpStack Concentratord requires:

Nix

Nix is used for setting up the development environment which is used for local development and for creating the binaries.

If you do not have Nix installed and do not wish to install it, you could install the packages listed in shell.nix by hand, using your package-manager of choice.

Docker

Docker is used by cross-rs for cross-compiling.

Starting the development shell

Run the following command to start the development shell:

nix-shell

Running tests

Execute the following command to run the tests:

make test

Building binaries

Execute the following commands to build the ChirpStack Concentratord binaries and packages:

# Only build binaries
make build

# Build binaries + distributable packages.
make dist

License

ChirpStack Concentratord is distributed under the MIT license. See LICENSE.

Extension points exported contracts — how you extend this code

ConvertBandwidth (Interface)
ConvertBandwidth is a trait to convert the bandwidth from / to the HAL enum constants. A trait is needed as it is the on [1 …
libloragw-sx1301/src/hal.rs
ConvertBandwidth (Interface)
ConvertBandwidth is a trait to convert the bandwidth from / to the HAL enum constants. A trait is needed as it is the on [1 …
libloragw-2g4/src/hal.rs
ConvertBandwidth (Interface)
ConvertBandwidth is a trait to convert the bandwidth from / to the HAL enum constants. A trait is needed as it is the on [1 …
libloragw-sx1302/src/hal.rs
TxPacket (Interface)
(no doc) [1 implementers]
libconcentratord/src/jitqueue.rs
ToConcentratorCount (Interface)
(no doc) [1 implementers]
libconcentratord/src/helpers.rs

Core symbols most depended-on inside this repo

new
called by 186
libconcentratord/src/regulation/standard/etsi_en_300_220.rs
new_receiver
called by 17
libconcentratord/src/signals.rs
enqueue
called by 14
libconcentratord/src/jitqueue.rs
get_instcnt
called by 10
libloragw-2g4/src/hal.rs
get_concentrator_count
called by 9
chirpstack-concentratord-sx1301/src/handler/timersync.rs
to_hal
called by 9
libloragw-sx1302/src/hal.rs
to_hal
called by 7
libloragw-2g4/src/hal.rs
pop
called by 7
libconcentratord/src/jitqueue.rs

Shape

Function 241
Method 114
Class 87
Enum 50
Interface 5

Languages

Rust100%

Modules by API surface

libloragw-sx1302/src/hal.rs52 symbols
libloragw-2g4/src/hal.rs34 symbols
libloragw-sx1301/src/hal.rs33 symbols
libconcentratord/src/jitqueue.rs32 symbols
libconcentratord/src/gnss.rs28 symbols
chirpstack-concentratord-sx1302/src/config/mod.rs25 symbols
chirpstack-concentratord-sx1301/src/config/mod.rs18 symbols
libloragw-sx1302/src/gps.rs17 symbols
libloragw-sx1301/src/gps.rs17 symbols
libconcentratord/src/regulation/dutycycle.rs15 symbols
chirpstack-concentratord-sx1302/src/wrapper/mod.rs14 symbols
chirpstack-concentratord-sx1301/src/wrapper/mod.rs14 symbols

For agents

$ claude mcp add chirpstack-concentratord \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page