summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Reiss <jreiss@multitech.com>2020-03-12 12:41:38 -0500
committerJohn Klug <john.klug@multitech.com>2020-06-18 20:22:07 -0500
commita3020c1257ad6bd653b5c619f1552b5e22fe7e0c (patch)
tree24f149cc19a84d2bf92164ebd5397efac8c5ce15
parent9ac778701169bc5110d5a011198366d13e3fed2b (diff)
downloadmeta-mlinux-a3020c1257ad6bd653b5c619f1552b5e22fe7e0c.tar.gz
meta-mlinux-a3020c1257ad6bd653b5c619f1552b5e22fe7e0c.tar.bz2
meta-mlinux-a3020c1257ad6bd653b5c619f1552b5e22fe7e0c.zip
lora: add MTCAP2 global_conf files, adjust init scripts to detect MTCAP2
-rw-r--r--recipes-connectivity/lora/lora-basic-station/lora-basic-station-disable-device-mode.patch15
-rw-r--r--recipes-connectivity/lora/lora-basic-station/lora-basic-station-fix-clksrc-0.patch14
-rw-r--r--recipes-connectivity/lora/lora-basic-station/lora-basic-station-sys-linux-log-fix.patch14
-rw-r--r--recipes-connectivity/lora/lora-basic-station/lora-basic-station.default2
-rwxr-xr-xrecipes-connectivity/lora/lora-basic-station/lora-basic-station.init165
-rw-r--r--recipes-connectivity/lora/lora-basic-station/setup.gmk91
-rw-r--r--recipes-connectivity/lora/lora-basic-station/tc.uri1
-rw-r--r--recipes-connectivity/lora/lora-basic-station_2.0.3.bb58
-rwxr-xr-xrecipes-connectivity/lora/lora-network-server/lora-network-server.init14
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923117
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923-LBT149
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AU915115
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.EU86860
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.IN865118
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.KR920-LBT148
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.RU864118
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.US915131
-rwxr-xr-xrecipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init17
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb17
19 files changed, 1358 insertions, 6 deletions
diff --git a/recipes-connectivity/lora/lora-basic-station/lora-basic-station-disable-device-mode.patch b/recipes-connectivity/lora/lora-basic-station/lora-basic-station-disable-device-mode.patch
new file mode 100644
index 0000000..d81d041
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station/lora-basic-station-disable-device-mode.patch
@@ -0,0 +1,15 @@
+diff --git a/src/sx1301conf.c b/src/sx1301conf.c
+index bca649c..c2681a4 100644
+--- a/src/sx1301conf.c
++++ b/src/sx1301conf.c
+@@ -433,7 +433,10 @@ int sx1301conf_start (struct sx1301conf* sx1301conf, u4_t cca_region) {
+ }
+
+ LOG(MOD_RAL|INFO, "Station device: %s (PPS capture %sabled)", sx1301conf->device, sx1301conf->pps ? "en":"dis");
++
++#ifndef CFG_prod
+ lgwx_device_mode = sys_deviceMode;
++#endif
+ int err = lgw_start();
+ if( err == LGW_HAL_SUCCESS ) {
+ lgw_reg_w(LGW_GPS_EN, sx1301conf->pps ? 1 : 0);
diff --git a/recipes-connectivity/lora/lora-basic-station/lora-basic-station-fix-clksrc-0.patch b/recipes-connectivity/lora/lora-basic-station/lora-basic-station-fix-clksrc-0.patch
new file mode 100644
index 0000000..c534460
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station/lora-basic-station-fix-clksrc-0.patch
@@ -0,0 +1,14 @@
+diff --git a/src/sx1301conf.c b/src/sx1301conf.c
+index bca649c..fe62351 100644
+--- a/src/sx1301conf.c
++++ b/src/sx1301conf.c
+@@ -193,7 +193,8 @@ static void parse_sx1301_conf (ujdec_t* D, struct sx1301conf* sx1301conf) {
+ break;
+ }
+ case J_clksrc: {
+ sx1301conf->boardconf.clksrc = uj_intRange(D, 0, LGW_RF_CHAIN_NB-1);
++ sx1301conf->boardconf.clksrc = 0;
+ break;
+ }
+ case J_tx_gain_lut: {
+
diff --git a/recipes-connectivity/lora/lora-basic-station/lora-basic-station-sys-linux-log-fix.patch b/recipes-connectivity/lora/lora-basic-station/lora-basic-station-sys-linux-log-fix.patch
new file mode 100644
index 0000000..83be080
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station/lora-basic-station-sys-linux-log-fix.patch
@@ -0,0 +1,14 @@
+diff --git a/src-linux/sys_linux.c b/src-linux/sys_linux.c
+index f8286c8..7afc073 100644
+--- a/src-linux/sys_linux.c
++++ b/src-linux/sys_linux.c
+@@ -724,7 +724,7 @@ static int parseStationConf () {
+ case J_nodc:
+ case J_nodwell:
+ case J_device_mode: {
+- LOG(MOD_S2E|WARNING, "Feature not supported in production level code (station.conf) - ignored: %s", D->field.name);
+- uj_skipValue(D);
++ LOG(MOD_S2E|WARNING, "Feature not supported in production level code (station.conf) - ignored: %s", D.field.name);
++ uj_skipValue(&D);
+ break;
+ }
diff --git a/recipes-connectivity/lora/lora-basic-station/lora-basic-station.default b/recipes-connectivity/lora/lora-basic-station/lora-basic-station.default
new file mode 100644
index 0000000..0f92640
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station/lora-basic-station.default
@@ -0,0 +1,2 @@
+# set to "yes" or "no" to control starting on boot
+ENABLED="no"
diff --git a/recipes-connectivity/lora/lora-basic-station/lora-basic-station.init b/recipes-connectivity/lora/lora-basic-station/lora-basic-station.init
new file mode 100755
index 0000000..45c6eee
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station/lora-basic-station.init
@@ -0,0 +1,165 @@
+#!/bin/bash
+
+
+NAME="lora-basic-station"
+ENABLED="yes"
+
+
+[ -f /etc/default/$NAME ] && source /etc/default/$NAME
+
+run_dir=/var/run/lora
+opt_conf_dir=/opt/lora
+conf_dir=/var/config/lora
+conf_file=$conf_dir/station.conf
+tc_uri_file=$conf_dir/tc.uri
+tc_key_file=$conf_dir/tc.key
+tc_trust_file=$conf_dir/tc.trust
+
+pkt_fwd=$run_dir/1/station
+pkt_fwd_pidfile=$run_dir/station.pid
+
+port1=/sys/devices/platform/mts-io/ap1
+port2=/sys/devices/platform/mts-io/ap2
+
+lora_mtac_id="MTAC-LORA"
+lora_1_0_hw="MTAC-LORA-1.0"
+lora_1_5_h_hw="MTAC-LORA-1.5"
+lora_2_1_hw="MTAC-LORA-2.1"
+
+lora_mtac_id="MTAC-LORA"
+lora_mtac_id915="MTAC-LORA-915"
+lora_mtac_id868="MTAC-LORA-868"
+lora_mtac_h_id915="MTAC-LORA-H-915"
+lora_mtac_h_id868="MTAC-LORA-H-868"
+
+lora_mtcap_id="MTCAP-LORA"
+lora_mtcap_id868="MTCAP-LORA-868"
+lora_mtcap_id915="MTCAP-LORA-915"
+
+lora_mtac_g_id="MTAC-LORA-G"
+lora_mtac_g16_id868="MTAC-LORA-G16-868"
+lora_mtac_g16_id915="MTAC-LORA-G16-915"
+lora_mtac_g64_id868="MTAC-LORA-G64-868"
+lora_mtac_g64_id915="MTAC-LORA-G64-915"
+
+pkt_fwd_options=""
+
+gps_path="/dev/gps0"
+
+read_lora_hw_info() {
+ lora_id=$(mts-io-sysfs show lora/product-id 2> /dev/null)
+ lora_hw=$(mts-io-sysfs show lora/hw-version 2> /dev/null)
+ lora_eui=$(mts-io-sysfs show lora/eui 2> /dev/null)
+ lora_eui_raw=${lora_eui//:/}
+}
+
+hardware_found() {
+ if [[ "$lora_id" =~ "$lora_mtac_g_id" ]]; then
+ setup_mtcdt_2_1
+ elif [[ "$lora_id" =~ "$lora_mtcap_id" ]]; then
+ setup_mtcap
+ elif [[ "$lora_id" =~ "$lora_mtac_id" ]]; then
+ setup_mtcdt
+ else
+ return 1
+ fi
+ return 0
+}
+
+setup_mtcdt() {
+ if [ -d $port1 ] && [[ $(cat $port1/hw-version) = $lora_hw ]]; then
+ ln -sf /dev/spidev32766.2 /dev/spidev0.0
+ elif [ -d $port2 ] && [[ $(cat $port2/hw-version) = $lora_hw ]]; then
+ ln -sf /dev/spidev32765.2 /dev/spidev0.0
+ fi
+
+ ln -sf /opt/lora/station $pkt_fwd
+}
+
+setup_mtcap() {
+
+ ln -sf /opt/lora/station $pkt_fwd
+}
+
+setup_mtcdt_2_1() {
+ echo LORA-2.1 not supported
+ return 1
+}
+
+do_start() {
+
+ mkdir -p $run_dir/1
+ rm -rf $run_dir/1/*
+
+ read_lora_hw_info
+
+ if hardware_found; then
+ echo "Found $lora_id with $lora_hw hardware. Configuring"
+ else
+ echo "$0: LORA card not detected"
+ exit 1
+ fi
+
+ if ! [ -f $conf_file ]; then
+ echo "$0: $conf_file missing"
+ exit 1
+ fi
+
+ #
+ # copy conf files to the run directory
+ #
+ cp $conf_file $run_dir/1/
+ cp $tc_uri_file $run_dir/1/
+ cp $tc_key_file $run_dir/1/
+ cp $tc_trust_file $run_dir/1/
+
+ sed -i.bak "s/\(.*routerid\"\s*\:\s*\"\)<.*>[^\"]*\(.*\)/\1${lora_eui_raw}\2/g" /var/run/lora/1/station.conf
+
+ #
+ # start packet forwarder
+ #
+ echo -n "Starting $NAME: "
+
+ /usr/sbin/start-stop-daemon --chdir $run_dir/1 --background --start --make-pidfile \
+ --pidfile $pkt_fwd_pidfile --startas /bin/bash -- -c "exec $pkt_fwd $pkt_fwd_options"
+
+ renice -n -20 -p $(pgrep $(basename $pkt_fwd))
+
+ echo "OK"
+}
+
+
+do_stop() {
+ echo -n "Stopping $NAME: "
+ start-stop-daemon --stop --quiet --oknodo --pidfile $pkt_fwd_pidfile --retry 5
+ rm -f $pkt_fwd_pidfile
+ echo "OK"
+}
+
+
+if [ "$ENABLED" != "yes" ]; then
+ echo "$NAME: disabled in /etc/default"
+ exit
+fi
+
+
+case "$1" in
+ "start")
+ do_start
+ ;;
+ "stop")
+ do_stop
+ ;;
+ "restart")
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ do_stop
+ do_start
+ ;;
+ *)
+ ## If no parameters are given, print which are avaiable.
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
+
diff --git a/recipes-connectivity/lora/lora-basic-station/setup.gmk b/recipes-connectivity/lora/lora-basic-station/setup.gmk
new file mode 100644
index 0000000..1319e79
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station/setup.gmk
@@ -0,0 +1,91 @@
+# -*- makefile -*-
+
+# Top dir of s2core
+# - override accordingly in makefile including this setup.gmk
+
+platform ?= mlinux
+variant ?= std
+
+
+ARCH ?=
+CROSS_COMPILE ?=
+export
+
+# TOOLPREFIX=${CROSS_COMPILE}
+
+
+BD=build-${platform}-${variant}
+
+# -- Architecture specific
+CFG.arm-linux-gnueabihf = mlinux
+# CFG.x86_64-linux-gnu = linux
+
+# -- Variant specific
+# testsim runs libloragw inside master process
+# testms uses a master slave model
+#CFG.testsim = logini_lvl=DEBUG selftests tlsdebug lgwsim ral_lgw
+#CFG.testms = logini_lvl=DEBUG selftests tlsdebug lgwsim ral_master_slave
+#CFG.testfs = logini_lvl=DEBUG selftests tlsdebug lgwsim ral_lgw
+#CFG.testpin = logini_lvl=INFO tlsdebug ral_lgw testpin
+#CFG.std = logini_lvl=INFO tlsdebug ral_lgw
+#CFG.stdn = logini_lvl=INFO tlsdebug ral_master_slave
+#CFG.debug = logini_lvl=DEBUG selftests tlsdebug ral_lgw
+#CFG.debugn = logini_lvl=DEBUG selftests tlsdebug ral_master_slave
+
+# -- Platform specific
+CFG.linux = linux lgw1 no_leds
+CFG.rpi = linux lgw1 no_leds
+CFG.kerlink = linux lgw1 no_leds
+CFG.mlinux = linux lgw1 no_leds ral_lgw prod
+
+SD.default = src-linux
+
+SD = $(or ${SD.${platform}}, ${SD.default})
+
+UTILS.linux = mtuns
+
+UTILS = $(or ${UTILS.${platform}}, ${UTILS.default})
+
+PERSO.default =
+PERSO = $(or ${PERSO.${platform}}, ${PERSO.default})
+PERSOH = $(if ${PERSO},perso.h,)
+
+# Paths to dependencies
+MBEDLIBS = -lmbedtls -lmbedx509 -lmbedcrypto
+
+# -lm: Needed for lgw which uses pow/ceil
+ifneq (minihub,$(platform))
+SYSLIBS = -lm
+endif
+
+CFLAGS.linux.testsim = -g -O0 --coverage
+CFLAGS.linux.testms = -g -O0 --coverage
+CFLAGS.linux.testfs = -g -O0 --coverage
+CFLAGS.linux.testpin = -g -O3
+CFLAGS.linux.std = -g -O3
+CFLAGS.mlinux.std = -g -O3
+
+LIBS.mlinux = -lloragw ${MBEDLIBS} -lrt -lm -lpthread
+LIBS.linux = -llgw ${MBEDLIBS} -lpthread
+LIBS.rpi = -llgw ${MBEDLIBS} -lpthread
+LIBS.kerlink = -llgw ${MBEDLIBS} -lrt -lpthread
+
+xCFG = ${CFG.${ARCH}} ${CFG.${platform}} ${CFG.${variant}} ${CFG.${platform}.${variant}}
+xCFLAGS = ${CFLAGS.${ARCH}} ${CFLAGS.${platform}} ${CFLAGS.${variant}} ${CFLAGS.${platform}.${variant}}
+xINCS = ${INCS.${ARCH}} ${INCS.${platform}} ${INCS.${variant}}
+xLDFLAGS = ${LDFLAGS.${ARCH}} ${LDFLAGS.${platform}} ${LDFLAGS.${variant}}
+xLIBS = ${LIBS.${ARCH}} ${LIBS.${platform}} ${LIBS.${variant}}
+xFILES = ${FILES.${ARCH}} ${FILES.${platform}} ${FILES.${variant}}
+xOCFLAGS = ${OCFLAGS.${ARCH}} ${OCFLAGS.${platform}} ${OCFLAGS.${variant}}
+
+DEFS = -DCFG_platform_${platform} -DCFG_platform=\"${platform}\" -DCFG_variant_${variant} -DCFG_variant=\"${variant}\"
+DEFS += -DCFG_bdate='"$(shell date -u '+%Y-%m-%d %H:%M:%S')"'
+DEFS += -DCFG_version='"$(shell if [ -f ${TD}/VERSION.txt ]; then cat ${TD}/VERSION.txt; else git describe --tag; fi)(${platform}/${variant})"'
+DEFS += -DCFG_commit='"$(shell if git rev-parse --git-dir >/dev/null 2>&1; then git rev-parse --short HEAD; else echo -; fi)"'
+DEFS += ${xCFG:%=-DCFG_%}
+INCS = ${VPATH:%=-I%} -I ${TD}/${BD}/include ${xINCS}
+CFLAGS += -std=gnu11 ${INCS} ${DEFS} ${xCFLAGS} ${MORECFLAGS}
+LDFLAGS += -L ${TD}/${BD}/lib ${xLDFLAGS}
+LIBS = ${xLIBS} ${SYSLIBS}
+FILES = ${xFILES}
+OCFLAGS = ${xOCFLAGS}
diff --git a/recipes-connectivity/lora/lora-basic-station/tc.uri b/recipes-connectivity/lora/lora-basic-station/tc.uri
new file mode 100644
index 0000000..62ad13e
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station/tc.uri
@@ -0,0 +1 @@
+wss://127.0.0.1:9002
diff --git a/recipes-connectivity/lora/lora-basic-station_2.0.3.bb b/recipes-connectivity/lora/lora-basic-station_2.0.3.bb
new file mode 100644
index 0000000..2db6a14
--- /dev/null
+++ b/recipes-connectivity/lora/lora-basic-station_2.0.3.bb
@@ -0,0 +1,58 @@
+DESCRIPTION = "LoRa Basic Station"
+HOMEPAGE = "https://github.com/lorabasics/basicstation"
+PRIORITY = "optional"
+SECTION = "console/utils"
+# Semtech license is a modified BSD-style license
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7706b51ea6d730e45568141c660072d5"
+DEPENDS = "lora-gateway logrotate lora-logging mbedtls"
+RDEPENDS_${PN} += "bash"
+PR = "r1"
+
+SRCREV = "v${PV}"
+
+SRC_URI = "git://github.com/lorabasics/basicstation.git;protocol=git \
+ file://setup.gmk \
+ file://lora-basic-station.init \
+ file://lora-basic-station.default \
+ file://tc.uri \
+ file://lora-basic-station-disable-device-mode.patch \
+ file://lora-basic-station-sys-linux-log-fix.patch \
+ file://lora-basic-station-fix-clksrc-0.patch \
+"
+
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+LORA_DIR = "/opt/lora"
+
+export LGW_PATH = "${STAGING_LIBDIR}/lora"
+export LGW_INC = "${STAGING_INCDIR}/lora"
+
+CFLAGS += "-I${STAGING_INCDIR} -I${STAGING_INCDIR}/lora -I${WORKDIR}/git/deps -Iinc -I. -std=gnu11 -L${STAGING_LIBDIR}/lora"
+
+do_compile() {
+ rm -fr ${S}/deps/lgw
+ ln -s ${STAGING_INCDIR}/lora ${S}/deps/lgw
+ cp ${WORKDIR}/setup.gmk ${S}/setup.gmk
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${LORA_DIR}
+ install -m 755 ${S}/build-mlinux-std/bin/station ${D}${LORA_DIR}/
+ install -m 755 ${WORKDIR}/tc.uri ${D}${LORA_DIR}/
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/lora-basic-station.default ${D}${sysconfdir}/default/lora-basic-station
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/lora-basic-station.init ${D}${sysconfdir}/init.d/lora-basic-station
+}
+
+FILES_${PN} += "${LORA_DIR}"
+
+# disable this on purpose for dev purposes
+do_rm_work() {
+ echo "skipping"
+}
diff --git a/recipes-connectivity/lora/lora-network-server/lora-network-server.init b/recipes-connectivity/lora/lora-network-server/lora-network-server.init
index b619d8c..61b6e2b 100755
--- a/recipes-connectivity/lora/lora-network-server/lora-network-server.init
+++ b/recipes-connectivity/lora/lora-network-server/lora-network-server.init
@@ -137,10 +137,20 @@ setup_mtcdt() {
}
setup_mtcap() {
+ hw=$(mts-io-sysfs show hw-version 2> /dev/null)
+
if [ "$lora_id" = "$lora_mtcap_id868" ]; then
- GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.EU868
+ if [ "$hw" = "MTCAP-0.2" ]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP2_LORA_1_5.EU868
+ else
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.EU868
+ fi
elif [ "$lora_id" = "$lora_mtcap_id915" ]; then
- GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.US915
+ if [ "$hw" = "MTCAP-0.2" ]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP2_LORA_1_5.US915
+ else
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.US915
+ fi
else
return 1
fi
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923 b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923
new file mode 100644
index 0000000..fd3800b
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923
@@ -0,0 +1,117 @@
+{
+ "SX1301_conf": {
+ "antenna_gain": 0,
+ "chan_FSK": {
+ "bandwidth": 125000,
+ "datarate": 50000,
+ "enable": true,
+ "freq_deviation": 25000,
+ "if": 300000,
+ "radio": 0
+ },
+ "chan_Lora_std": {
+ "bandwidth": 250000,
+ "enable": true,
+ "if": -200000,
+ "radio": 0,
+ "spread_factor": 7
+ },
+ "chan_multiSF_0": {
+ "enable": true,
+ "if": -400000,
+ "radio": 0
+ },
+ "chan_multiSF_1": {
+ "enable": true,
+ "if": -200000,
+ "radio": 0
+ },
+ "chan_multiSF_2": {
+ "enable": true,
+ "if": 0,
+ "radio": 0
+ },
+ "chan_multiSF_3": {
+ "enable": true,
+ "if": -400000,
+ "radio": 1
+ },
+ "chan_multiSF_4": {
+ "enable": true,
+ "if": -200000,
+ "radio": 1
+ },
+ "chan_multiSF_5": {
+ "enable": true,
+ "if": 0,
+ "radio": 1
+ },
+ "chan_multiSF_6": {
+ "enable": true,
+ "if": 200000,
+ "radio": 1
+ },
+ "chan_multiSF_7": {
+ "enable": true,
+ "if": 400000,
+ "radio": 1
+ },
+ "clksrc": 0,
+ "lbt_cfg": {
+ "chan_cfg": [
+ ],
+ "enable": false,
+ "rssi_target": -80,
+ "sx127x_rssi_offset": -4
+ },
+ "lorawan_public": true,
+ "radio_0": {
+ "enable": true,
+ "freq": 923600000,
+ "rssi_offset": -162,
+ "tx_enable": true,
+ "tx_freq_max": 928000000,
+ "tx_freq_min": 920000000,
+ "type": "SX1257"
+ },
+ "radio_1": {
+ "enable": true,
+ "freq": 922600000,
+ "rssi_offset": -162,
+ "tx_enable": false,
+ "type": "SX1257"
+ },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923-LBT b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923-LBT
new file mode 100644
index 0000000..c5f9308
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AS923-LBT
@@ -0,0 +1,149 @@
+{
+ "SX1301_conf": {
+"antenna_gain": 0,
+ "chan_FSK": {
+ "bandwidth": 125000,
+ "datarate": 50000,
+ "enable": true,
+ "freq_deviation": 25000,
+ "if": 300000,
+ "radio": 0
+ },
+ "chan_Lora_std": {
+ "bandwidth": 250000,
+ "enable": true,
+ "if": -200000,
+ "radio": 0,
+ "spread_factor": 7
+ },
+ "chan_multiSF_0": {
+ "enable": true,
+ "if": -400000,
+ "radio": 0
+ },
+ "chan_multiSF_1": {
+ "enable": true,
+ "if": -200000,
+ "radio": 0
+ },
+ "chan_multiSF_2": {
+ "enable": true,
+ "if": 0,
+ "radio": 0
+ },
+ "chan_multiSF_3": {
+ "enable": true,
+ "if": -400000,
+ "radio": 1
+ },
+ "chan_multiSF_4": {
+ "enable": true,
+ "if": -200000,
+ "radio": 1
+ },
+ "chan_multiSF_5": {
+ "enable": true,
+ "if": 0,
+ "radio": 1
+ },
+ "chan_multiSF_6": {
+ "enable": true,
+ "if": 200000,
+ "radio": 1
+ },
+ "chan_multiSF_7": {
+ "enable": true,
+ "if": 400000,
+ "radio": 1
+ },
+ "clksrc": 0,
+ "lbt_cfg": {
+ "chan_cfg": [
+ {
+ "freq_hz": 923200000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 923400000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 923600000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922200000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922400000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922600000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922800000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 923000000,
+ "scan_time_us": 5000
+ }
+ ],
+ "enable": true,
+ "rssi_target": -80,
+ "sx127x_rssi_offset": -4
+ },
+ "lorawan_public": true,
+ "radio_0": {
+ "enable": true,
+ "freq": 923600000,
+ "rssi_offset": -162,
+ "tx_enable": true,
+ "tx_freq_max": 928000000,
+ "tx_freq_min": 920000000,
+ "type": "SX1257"
+ },
+ "radio_1": {
+ "enable": true,
+ "freq": 922600000,
+ "rssi_offset": -162,
+ "tx_enable": false,
+ "type": "SX1257"
+ },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AU915 b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AU915
new file mode 100644
index 0000000..ff8ec89
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.AU915
@@ -0,0 +1,115 @@
+{
+ "SX1301_conf": {
+ "lorawan_public": true,
+ "antenna_gain": 0,
+ "clksrc": 0,
+ "radio_0": {
+ "enable": true,
+ "freq": 915600000,
+ "rssi_offset": -162,
+ "tx_enable": true,
+ "tx_freq_max": 928000000,
+ "tx_freq_min": 902000000,
+ "type": "SX1257"
+ },
+ "radio_1": {
+ "enable": true,
+ "freq": 916400000,
+ "rssi_offset": -162,
+ "tx_enable": false,
+ "type": "SX1257"
+ },
+ "chan_FSK": {
+ "enable": false,
+ "radio": 0
+ },
+ "chan_Lora_std": {
+ "bandwidth": 500000,
+ "enable": true,
+ "if": 300000,
+ "radio": 0,
+ "spread_factor": 8
+ },
+ "chan_multiSF_0": {
+ "enable": true,
+ "if": -400000,
+ "radio": 0
+ },
+ "chan_multiSF_1": {
+ "enable": true,
+ "if": -200000,
+ "radio": 0
+ },
+ "chan_multiSF_2": {
+ "enable": true,
+ "if": 0,
+ "radio": 0
+ },
+ "chan_multiSF_3": {
+ "enable": true,
+ "if": 200000,
+ "radio": 0
+ },
+ "chan_multiSF_4": {
+ "enable": true,
+ "if": -400000,
+ "radio": 1
+ },
+ "chan_multiSF_5": {
+ "enable": true,
+ "if": -200000,
+ "radio": 1
+ },
+ "chan_multiSF_6": {
+ "enable": true,
+ "if": 0,
+ "radio": 1
+ },
+ "chan_multiSF_7": {
+ "enable": true,
+ "if": 200000,
+ "radio": 1
+ },
+ "lbt_cfg": {
+ "enable": false,
+ "nb_channel": 1,
+ "rssi_target": 160,
+ "scan_time_us": 5000,
+ "start_freq": 869525000,
+ "tx_delay_1ch_us": 4000000,
+ "tx_delay_2ch_us": 4000000
+ },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.EU868 b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.EU868
new file mode 100644
index 0000000..ee56dd4
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.EU868
@@ -0,0 +1,60 @@
+{
+ "SX1301_conf": {
+ "lorawan_public": true,
+ "clksrc": 0,
+ "lbt_cfg": {
+ "enable": false,
+ "rssi_target": 160,
+ "nb_channel": 1,
+ "start_freq": 869525000,
+ "scan_time_us": 5000,
+ "tx_delay_1ch_us": 4000000,
+ "tx_delay_2ch_us": 4000000
+ },
+ "antenna_gain": 0,
+ "radio_0": { "enable": true, "type": "SX1257", "freq": 867500000, "rssi_offset": -162, "tx_enable": true, "tx_freq_min": 863000000, "tx_freq_max": 870000000 },
+ "radio_1": { "enable": true, "type": "SX1257", "freq": 868500000, "rssi_offset": -162, "tx_enable": false },
+ "chan_multiSF_0": { "enable": true, "radio": 1, "if": -400000 },
+ "chan_multiSF_1": { "enable": true, "radio": 1, "if": -200000 },
+ "chan_multiSF_2": { "enable": true, "radio": 1, "if": 0 },
+ "chan_multiSF_3": { "enable": true, "radio": 0, "if": -400000 },
+ "chan_multiSF_4": { "enable": true, "radio": 0, "if": -200000 },
+ "chan_multiSF_5": { "enable": true, "radio": 0, "if": 0 },
+ "chan_multiSF_6": { "enable": true,"radio": 0, "if": 200000 },
+ "chan_multiSF_7": { "enable": true, "radio": 0, "if": 400000 },
+ "chan_Lora_std": { "enable": true, "radio": 1, "if": -200000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK": { "enable": true, "radio": 1, "if": 300000, "bandwidth": 125000, "datarate": 50000 },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.IN865 b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.IN865
new file mode 100644
index 0000000..4c91d78
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.IN865
@@ -0,0 +1,118 @@
+{
+ "SX1301_conf": {
+ "antenna_gain": 0,
+ "chan_FSK": {
+ "bandwidth": 125000,
+ "datarate": 50000,
+ "enable": true,
+ "freq_deviation": 25000,
+ "if": 300000,
+ "radio": 1
+ },
+ "chan_Lora_std": {
+ "bandwidth": 250000,
+ "enable": true,
+ "if": 0,
+ "radio": 0,
+ "spread_factor": 7
+ },
+ "chan_multiSF_": {
+ "radio": null
+ },
+ "chan_multiSF_0": {
+ "enable": true,
+ "if": -137500,
+ "radio": 0
+ },
+ "chan_multiSF_1": {
+ "enable": true,
+ "if": 202500,
+ "radio": 0
+ },
+ "chan_multiSF_2": {
+ "enable": true,
+ "if": 32500,
+ "radio": 0
+ },
+ "chan_multiSF_3": {
+ "enable": true,
+ "if": -400000,
+ "radio": 1
+ },
+ "chan_multiSF_4": {
+ "enable": true,
+ "if": -200000,
+ "radio": 1
+ },
+ "chan_multiSF_5": {
+ "enable": true,
+ "if": 0,
+ "radio": 1
+ },
+ "chan_multiSF_6": {
+ "enable": true,
+ "if": 200000,
+ "radio": 1
+ },
+ "chan_multiSF_7": {
+ "enable": true,
+ "if": 400000,
+ "radio": 1
+ },
+ "clksrc": 0,
+ "lbt_cfg": {
+ "enable": false,
+ "rssi_target": 160
+ },
+ "lorawan_public": true,
+ "radio_0": {
+ "enable": true,
+ "freq": 865200000,
+ "rssi_offset": -162,
+ "tx_enable": true,
+ "tx_freq_max": 867000000,
+ "tx_freq_min": 865000000,
+ "tx_notch_freq": 129000,
+ "type": "SX1257"
+ },
+ "radio_1": {
+ "enable": true,
+ "freq": 866385000,
+ "rssi_offset": -162,
+ "tx_enable": false,
+ "type": "SX1257"
+ },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.KR920-LBT b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.KR920-LBT
new file mode 100644
index 0000000..397f7f7
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.KR920-LBT
@@ -0,0 +1,148 @@
+{
+ "SX1301_conf": {
+ "antenna_gain": 0,
+ "chan_FSK": {
+ "bandwidth": 125000,
+ "datarate": 50000,
+ "enable": false,
+ "if": 300000,
+ "radio": 0
+ },
+ "chan_Lora_std": {
+ "bandwidth": 250000,
+ "enable": false,
+ "if": -200000,
+ "radio": 0,
+ "spread_factor": 7
+ },
+ "chan_multiSF_0": {
+ "enable": true,
+ "if": -400000,
+ "radio": 0
+ },
+ "chan_multiSF_1": {
+ "enable": true,
+ "if": -200000,
+ "radio": 0
+ },
+ "chan_multiSF_2": {
+ "enable": true,
+ "if": 0,
+ "radio": 0
+ },
+ "chan_multiSF_3": {
+ "enable": true,
+ "if": -400000,
+ "radio": 1
+ },
+ "chan_multiSF_4": {
+ "enable": true,
+ "if": -200000,
+ "radio": 1
+ },
+ "chan_multiSF_5": {
+ "enable": true,
+ "if": 0,
+ "radio": 1
+ },
+ "chan_multiSF_6": {
+ "enable": true,
+ "if": 200000,
+ "radio": 1
+ },
+ "chan_multiSF_7": {
+ "enable": true,
+ "if": 400000,
+ "radio": 1
+ },
+ "clksrc": 0,
+ "lbt_cfg": {
+ "chan_cfg": [
+ {
+ "freq_hz": 922100000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922300000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922500000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922700000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 922900000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 923100000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 923300000,
+ "scan_time_us": 5000
+ },
+ {
+ "freq_hz": 921900000,
+ "scan_time_us": 5000
+ }
+ ],
+ "enable": true,
+ "rssi_target": -65,
+ "sx127x_rssi_offset": -4
+ },
+ "lorawan_public": true,
+ "radio_0": {
+ "enable": true,
+ "freq": 922500000,
+ "rssi_offset": -162,
+ "tx_enable": true,
+ "tx_freq_max": 923300000,
+ "tx_freq_min": 920900000,
+ "type": "SX1257"
+ },
+ "radio_1": {
+ "enable": true,
+ "freq": 922900000,
+ "rssi_offset": -162,
+ "tx_enable": false,
+ "type": "SX1257"
+ },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.RU864 b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.RU864
new file mode 100644
index 0000000..0bdf557
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.RU864
@@ -0,0 +1,118 @@
+{
+ "SX1301_conf": {
+ "lorawan_public": true,
+ "clksrc": 0,
+ "lbt_cfg": {
+ "enable": false,
+ "rssi_target": 160,
+ "nb_channel": 1,
+ "start_freq": 869525000,
+ "scan_time_us": 5000,
+ "tx_delay_1ch_us": 4000000,
+ "tx_delay_2ch_us": 4000000
+ },
+ "antenna_gain": 0,
+ "radio_0": {
+ "enable": true,
+ "type": "SX1257",
+ "freq": 869100000,
+ "rssi_offset": -162,
+ "tx_enable": true,
+ "tx_freq_min": 864000000,
+ "tx_freq_max": 870000000
+ },
+ "radio_1": {
+ "enable": true,
+ "type": "SX1257",
+ "freq": 868100000,
+ "rssi_offset": -162,
+ "tx_enable": false
+ },
+ "chan_multiSF_0": {
+ "enable": true,
+ "radio": 0,
+ "if": -400000
+ },
+ "chan_multiSF_1": {
+ "enable": true,
+ "radio": 0,
+ "if": -200000
+ },
+ "chan_multiSF_2": {
+ "enable": true,
+ "radio": 0,
+ "if": 0
+ },
+ "chan_multiSF_3": {
+ "enable": true,
+ "radio": 1,
+ "if": -400000
+ },
+ "chan_multiSF_4": {
+ "enable": true,
+ "radio": 1,
+ "if": -200000
+ },
+ "chan_multiSF_5": {
+ "enable": true,
+ "radio": 1,
+ "if": 0
+ },
+ "chan_multiSF_6": {
+ "enable": true,
+ "radio": 1,
+ "if": 200000
+ },
+ "chan_multiSF_7": {
+ "enable": true,
+ "radio": 1,
+ "if": 400000
+ },
+ "chan_Lora_std": {
+ "enable": true,
+ "radio": 0,
+ "if": -200000,
+ "bandwidth": 250000,
+ "spread_factor": 7
+ },
+ "chan_FSK": {
+ "enable": true,
+ "radio": 1,
+ "if": 0,
+ "bandwidth": 125000,
+ "datarate": 50000
+ },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.US915 b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.US915
new file mode 100644
index 0000000..223cc64
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/global_conf.json.MTCAP2-LORA-1.5.US915
@@ -0,0 +1,131 @@
+{
+ "SX1301_conf": {
+"antenna_gain" : 0,
+ "chan_FSK" :
+ {
+ "bandwidth" : 125000,
+ "datarate" : 50000,
+ "enable" : false,
+ "if" : 300000,
+ "radio" : 0
+ },
+ "chan_Lora_std" :
+ {
+ "bandwidth" : 500000,
+ "enable" : true,
+ "if" : 300000,
+ "radio" : 0,
+ "spread_factor" : 8
+ },
+ "chan_multiSF_0" :
+ {
+ "enable" : true,
+ "if" : -400000,
+ "radio" : 0
+ },
+ "chan_multiSF_1" :
+ {
+ "enable" : true,
+ "if" : -200000,
+ "radio" : 0
+ },
+ "chan_multiSF_2" :
+ {
+ "enable" : true,
+ "if" : 0,
+ "radio" : 0
+ },
+ "chan_multiSF_3" :
+ {
+ "enable" : true,
+ "if" : 200000,
+ "radio" : 0
+ },
+ "chan_multiSF_4" :
+ {
+ "enable" : true,
+ "if" : -400000,
+ "radio" : 1
+ },
+ "chan_multiSF_5" :
+ {
+ "enable" : true,
+ "if" : -200000,
+ "radio" : 1
+ },
+ "chan_multiSF_6" :
+ {
+ "enable" : true,
+ "if" : 0,
+ "radio" : 1
+ },
+ "chan_multiSF_7" :
+ {
+ "enable" : true,
+ "if" : 200000,
+ "radio" : 1
+ },
+ "clksrc" : 0,
+ "lbt_cfg" :
+ {
+ "enable" : false,
+ "nb_channel" : 1,
+ "rssi_target" : 160,
+ "scan_time_us" : 5000,
+ "start_freq" : 869525000,
+ "tx_delay_1ch_us" : 4000000,
+ "tx_delay_2ch_us" : 4000000
+ },
+ "lorawan_public" : true,
+ "radio_0" :
+ {
+ "enable" : true,
+ "freq" : 902700000,
+ "rssi_offset" : -162,
+ "tx_enable" : true,
+ "tx_freq_max" : 928000000,
+ "tx_freq_min" : 902000000,
+ "type" : "SX1257"
+ },
+ "radio_1" :
+ {
+ "enable" : true,
+ "freq" : 903500000,
+ "rssi_offset" : -162,
+ "tx_enable" : false,
+ "type" : "SX1257"
+ },
+ "tx_lut_0":{"dig_gain":0,"mix_gain":12,"pa_gain":1,"rf_power":10},
+ "tx_lut_1":{"dig_gain":3,"mix_gain":11,"pa_gain":2,"rf_power":11},
+ "tx_lut_2":{"dig_gain":0,"mix_gain":14,"pa_gain":1,"rf_power":12},
+ "tx_lut_3":{"dig_gain":0,"mix_gain":9,"pa_gain":2,"rf_power":13},
+ "tx_lut_4":{"dig_gain":2,"mix_gain":11,"pa_gain":2,"rf_power":14},
+ "tx_lut_5":{"dig_gain":3,"mix_gain":8,"pa_gain":3,"rf_power":15},
+ "tx_lut_6":{"dig_gain":0,"mix_gain":11,"pa_gain":2,"rf_power":16},
+ "tx_lut_7":{"dig_gain":3,"mix_gain":9,"pa_gain":3,"rf_power":17},
+ "tx_lut_8":{"dig_gain":1,"mix_gain":8,"pa_gain":3,"rf_power":20},
+ "tx_lut_9":{"dig_gain":0,"mix_gain":8,"pa_gain":3,"rf_power":21},
+ "tx_lut_10":{"dig_gain":2,"mix_gain":10,"pa_gain":3,"rf_power":23},
+ "tx_lut_11":{"dig_gain":1,"mix_gain":10,"pa_gain":3,"rf_power":24},
+ "tx_lut_12":{"dig_gain":0,"mix_gain":10,"pa_gain":3,"rf_power":25},
+ "tx_lut_13":{"dig_gain":2,"mix_gain":12,"pa_gain":3,"rf_power":26},
+ "tx_lut_14":{"dig_gain":0,"mix_gain":13,"pa_gain":3,"rf_power":28},
+ "tx_lut_15":{"dig_gain":0,"mix_gain":15,"pa_gain":3,"rf_power":29}
+ },
+ "gateway_conf": {
+ "gateway_ID": "<WILL-BE-AUTO-REPLACED-WITH-LORA-EUI>",
+ "server_address": "52.3.215.147",
+ "serv_port_up": 20000,
+ "serv_port_down": 20000,
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ "forward_crc_valid": true,
+ "forward_crc_error": true,
+ "forward_crc_disabled": false,
+ "synch_word": 52,
+ "autoquit_threshold": 60
+ }
+}
+
+
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init b/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init
index 1ac5bda..5821e1e 100755
--- a/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init
+++ b/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init
@@ -107,13 +107,22 @@ setup_mtcdt() {
}
setup_mtcap() {
+ hw=$(mts-io-sysfs show hw-version 2> /dev/null)
+
if [ "$lora_id" = "$lora_mtcap_id868" ]; then
- GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.EU868
+ if [ "$hw" = "MTCAP-0.2" ]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP2_LORA_1_5.EU868
+ else
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.EU868
+ fi
elif [ "$lora_id" = "$lora_mtcap_id915" ]; then
- GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.US915
+ if [ "$hw" = "MTCAP-0.2" ]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP2_LORA_1_5.US915
+ else
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.US915
+ fi
else
- echo "No valid configuration found for mtcap exiting."
- exit 1
+ return 1
fi
opt_conf_file=$opt_conf_dir/global_conf.json
diff --git a/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb b/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb
index 18947ec..ce75f25 100644
--- a/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb
+++ b/recipes-connectivity/lora/lora-packet-forwarder_4.0.1.bb
@@ -34,6 +34,14 @@ SRC_URI = "git://github.com/Lora-net/packet_forwarder.git;protocol=git \
file://global_conf.json.3.1.0.MTCAP-LORA-1-5.IN865.basic \
file://global_conf.json.3.1.0.MTCAP-LORA-1-5.KR920-LBT.basic \
file://global_conf.json.3.1.0.MTCAP-LORA-1-5.RU864.basic \
+ file://global_conf.json.MTCAP2-LORA-1.5.AS923 \
+ file://global_conf.json.MTCAP2-LORA-1.5.AS923-LBT \
+ file://global_conf.json.MTCAP2-LORA-1.5.AU915 \
+ file://global_conf.json.MTCAP2-LORA-1.5.EU868 \
+ file://global_conf.json.MTCAP2-LORA-1.5.IN865 \
+ file://global_conf.json.MTCAP2-LORA-1.5.KR920-LBT \
+ file://global_conf.json.MTCAP2-LORA-1.5.RU864 \
+ file://global_conf.json.MTCAP2-LORA-1.5.US915 \
file://local_conf.json \
file://lora-packet-forwarder-add-spi-dev-path.patch \
file://lora-packet-forwarder-remove-jit-power-check.patch \
@@ -102,6 +110,15 @@ do_install_append_mtcap() {
install -m 755 ${WORKDIR}/global_conf.json.3.1.0.MTCAP-LORA-1-5.AS923-LBT.basic ${D}${LORA_DIR}/global_conf.json.MTCAP_LORA_1_5.AS923-LBT
install -m 755 ${WORKDIR}/global_conf.json.3.1.0.MTCAP-LORA-1-5.KR920-LBT.basic ${D}${LORA_DIR}/global_conf.json.MTCAP_LORA_1_5.KR920-LBT
install -m 755 ${WORKDIR}/global_conf.json.3.1.0.MTCAP-LORA-1-5.IN865.basic ${D}${LORA_DIR}/global_conf.json.MTCAP_LORA_1_5.IN865
+
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.EU868 ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.EU868
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.RU864 ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.RU864
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.US915 ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.US915
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.AU915 ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.AU915
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.AS923 ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.AS923
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.AS923-LBT ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.AS923-LBT
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.KR920-LBT ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.KR920-LBT
+ install -m 755 ${WORKDIR}/global_conf.json.MTCAP2-LORA-1.5.IN865 ${D}${LORA_DIR}/global_conf.json.MTCAP2_LORA_1_5.IN865
}
FILES_${PN} += "${LORA_DIR}"