summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Reiss <jreiss@multitech.com>2018-04-20 16:18:29 -0500
committerJason Reiss <jreiss@multitech.com>2018-04-20 16:18:29 -0500
commitc8c1fbb294db026f55110d1f55b4d3d82e8977e5 (patch)
treec3b3a08ca9f9e63292c2e26f3c2d3b1158ea9fb2
parent273b3788871bdab94040df81d5e375bb361f7fb7 (diff)
parentd2f4c3e0598083ac3ba525fd13819d279ac4139d (diff)
downloadmeta-mlinux-c8c1fbb294db026f55110d1f55b4d3d82e8977e5.tar.gz
meta-mlinux-c8c1fbb294db026f55110d1f55b4d3d82e8977e5.tar.bz2
meta-mlinux-c8c1fbb294db026f55110d1f55b4d3d82e8977e5.zip
Merge branch 'master' of gitlab.multitech.net:mirrors/meta-mlinux
-rw-r--r--conf/distro/mlinux.conf2
-rw-r--r--recipes-connectivity/lora/lora-gateway-geolocation/config.json64
-rw-r--r--recipes-connectivity/lora/lora-gateway-geolocation/config_64ch.json153
-rw-r--r--recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb51
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_EU868152
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_JP920151
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_partial_diversity_EU868152
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_EU868125
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_US915111
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_64ch_US915211
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_full_duplex_64ch_US915216
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_dual_antenna_56ch_partial_diversity_EU868237
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_16ch_16x1_EU868121
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_64x1_EU868210
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_8x8_EU868210
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb56
-rwxr-xr-xrecipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init123
-rw-r--r--recipes-connectivity/lora/lora-packet-forwarder/mtcdt-2.1/lora-packet-forwarder.default2
-rw-r--r--recipes-core/images/mlinux-factory-image.bb2
-rw-r--r--recipes-core/images/mlinux-minimal-image.bb4
-rw-r--r--recipes-core/multitech/config/ppp/peers/lna3_chat_vz4
-rw-r--r--recipes-core/multitech/config/ppp/peers/lvw2_chat4
-rw-r--r--recipes-core/multitech/config_1.0.bb40
-rw-r--r--recipes-core/multitech/config_2.1.bb2
24 files changed, 2313 insertions, 90 deletions
diff --git a/conf/distro/mlinux.conf b/conf/distro/mlinux.conf
index cc180f2..b9e8312 100644
--- a/conf/distro/mlinux.conf
+++ b/conf/distro/mlinux.conf
@@ -1,7 +1,7 @@
DISTRO = "mlinux"
DISTRO_NAME = "mLinux"
DISTRO_BASE_VERSION = "4.0"
-DISTRO_VERSION = "${DISTRO_BASE_VERSION}.0dev14"
+DISTRO_VERSION = "${DISTRO_BASE_VERSION}.0dev15"
DISTRO_CODENAME = ""
SDK_VENDOR = "-mlinux"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
diff --git a/recipes-connectivity/lora/lora-gateway-geolocation/config.json b/recipes-connectivity/lora/lora-gateway-geolocation/config.json
new file mode 100644
index 0000000..0413918
--- /dev/null
+++ b/recipes-connectivity/lora/lora-gateway-geolocation/config.json
@@ -0,0 +1,64 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* ad9361 RX center frequency in Hz */
+ "board_rx_bw": 7000000, /* ad9361 RX bandwidth in Hz */
+ 'full_duplex": false,
+ "rf_chain_conf":[
+ {
+ "rx_enable": true,
+ "tx_enable": false,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925
+ },{
+ "rx_enable": true,
+ "tx_enable": false,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 1,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "dsp_stat_interval": 10,
+ "nb_dsp": 1,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ "log_rotate_period": 600
+ }
+}
diff --git a/recipes-connectivity/lora/lora-gateway-geolocation/config_64ch.json b/recipes-connectivity/lora/lora-gateway-geolocation/config_64ch.json
new file mode 100644
index 0000000..570b62f
--- /dev/null
+++ b/recipes-connectivity/lora/lora-gateway-geolocation/config_64ch.json
@@ -0,0 +1,153 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ "rx_enable": true,
+ "tx_enable": false,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77
+ },
+ {
+ "board_type": "SLAVE",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 3,
+ "dsp_stat_interval": 10
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ "log_rotate_period": 600
+ }
+}
diff --git a/recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb b/recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb
new file mode 100644
index 0000000..28b8b56
--- /dev/null
+++ b/recipes-connectivity/lora/lora-gateway-geolocation_5.1.0.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "LoRa Gateway Geolocation library"
+PRIORITY = "optional"
+SECTION = "console/utils"
+# Semtech license is a modified BSD-style license
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://mlinux4/LICENSE.TXT;md5=86776875df1423114abfcec938f3e565"
+DEPENDS = ""
+PR = "r2"
+SRCREV = "v${PV}"
+
+SRC_URI = "http://multitech.net/downloads/lora-packet-forwarder-geolocation_arm926ejste_${PV}.tar.gz \
+ file://config.json \
+ file://config_64ch.json \
+ "
+
+SRC_URI[md5sum] = "6d347a6fc73827ca44d9d5a33c6e4c0d"
+SRC_URI[sha256sum] = "88bf470b142bfb7ac3a23a22690908b0a4757dd4587f5007aa292470999e3e6f"
+
+S = "${WORKDIR}"
+
+CFLAGS += "-Iinc -I."
+
+do_compile() {
+}
+
+do_install() {
+ install -d ${D}${includedir}/lora
+ install -d ${D}${libdir}/lora
+ install -m 0644 mlinux4/libsx1301ar/* ${D}${includedir}/lora
+
+ install -d ${D}/sbin
+ install -m 0755 mlinux4/gateway-utils-geo/fpga_flash_loader ${D}/sbin/sem-fpga-loader
+
+ install -d ${D}/opt/lora/
+ install -d ${D}/opt/lora/gateway-utils-geo
+ install -m 0755 mlinux4/gateway-utils-geo/* ${D}/opt/lora/gateway-utils-geo/
+ install -m 0755 ${WORKDIR}/config.json ${D}/opt/lora/gateway-utils-geo/
+ install -m 0755 ${WORKDIR}/config_64ch.json ${D}/opt/lora/gateway-utils-geo/
+}
+
+PACKAGES += "${PN}-utils ${PN}-utils-dbg"
+
+FILES_${PN} = "${libdir}/lora/lora-gw-geolocation-readme.md ${includedir}/lora /usr/lib/"
+FILES_${PN}-utils = "/opt/lora/gateway-utils-geo/* /sbin/sem-fpga-loader"
+FILES_${PN}-utils-dbg = "/opt/lora/gateway-utils-geo/.debug "
+FILES_${PN}-staticdev = "${libdir}/lora/libsx1301ar.a"
+
+# disable this on purpose for dev purposes
+do_rm_work() {
+ echo "skipping"
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_EU868 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_EU868
new file mode 100644
index 0000000..b04addc
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_EU868
@@ -0,0 +1,152 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ },{
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 1,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "lbt_conf":{
+ "enable": false,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 869525000,
+ "datarate": 9,
+ "bw_hz": 125000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_JP920 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_JP920
new file mode 100644
index 0000000..7b1b7b0
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_JP920
@@ -0,0 +1,151 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 921900000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 4000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 920800000,
+ "tx_freq_max": 923400000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 5, "ad9361_atten": 135, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 5, "ad9361_atten": 122, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 5, "ad9361_atten": 115, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 5, "ad9361_atten": 108, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 5, "ad9361_atten": 100, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 5, "ad9361_atten": 96, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 5, "ad9361_atten": 93, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 5, "ad9361_atten": 87, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 5, "ad9361_atten": 78, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 5, "ad9361_atten": 69, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 5, "ad9361_atten": 61, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 5, "ad9361_atten": 54, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 5, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 5, "ad9361_atten": 40, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 5, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 5, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ },{
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 920800000,
+ "tx_freq_max": 923400000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 5, "ad9361_atten": 135, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 5, "ad9361_atten": 122, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 5, "ad9361_atten": 115, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 5, "ad9361_atten": 108, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 5, "ad9361_atten": 100, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 5, "ad9361_atten": 96, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 5, "ad9361_atten": 93, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 5, "ad9361_atten": 87, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 5, "ad9361_atten": 78, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 5, "ad9361_atten": 69, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 5, "ad9361_atten": 61, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 5, "ad9361_atten": 54, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 5, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 5, "ad9361_atten": 40, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 5, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 5, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 922700000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 922000000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 922200000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 922400000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 922600000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 922800000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 923000000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 923200000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 923400000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 923200000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 923700000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 922700000,
+ "chip_rf_chain": 1,
+ "chan_multiSF_0": { "chan_rx_freq": 922000000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 922200000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 922400000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 922600000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 922800000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 923000000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 923200000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 923400000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 923200000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 923700000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "lbt_conf":{
+ "enable": true,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 920800000, "scan_time_us": 5000, "transmit_time_ms": 4000 },
+ { "freq_hz": 921000000, "scan_time_us": 5000, "transmit_time_ms": 4000 },
+ { "freq_hz": 921200000, "scan_time_us": 5000, "transmit_time_ms": 4000 },
+ { "freq_hz": 921400000, "scan_time_us": 5000, "transmit_time_ms": 4000 },
+ { "freq_hz": 921600000, "scan_time_us": 5000, "transmit_time_ms": 4000 },
+ { "freq_hz": 921800000, "scan_time_us": 5000, "transmit_time_ms": 4000 },
+ { "freq_hz": 923200000, "scan_time_us": 5000, "transmit_time_ms": 4000 },
+ { "freq_hz": 923400000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 923400000,
+ "datarate": 9,
+ "bw_hz": 125000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_partial_diversity_EU868 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_partial_diversity_EU868
new file mode 100644
index 0000000..465316e
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_partial_diversity_EU868
@@ -0,0 +1,152 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ },{
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 867000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 866500000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 866700000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 866900000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 867300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 867800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 1,
+ "chan_multiSF_0": { "chan_rx_freq": 869100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 869300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868700000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "lbt_conf":{
+ "enable": false,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 869525000,
+ "datarate": 9,
+ "bw_hz": 125000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_EU868 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_EU868
new file mode 100644
index 0000000..d6d243f
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_EU868
@@ -0,0 +1,125 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 865600000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 864900000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 865100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 865300000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 865500000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 865700000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 865900000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 866300000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 866100000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 866600000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868700000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868900000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 869100000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "lbt_conf":{
+ "enable": false,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 869525000,
+ "datarate": 9,
+ "bw_hz": 125000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_US915 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_US915
new file mode 100644
index 0000000..12b8416
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_US915
@@ -0,0 +1,111 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 908600000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 13000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 923300000,
+ "tx_freq_max": 927500000,
+ "tx_lut":[
+ { "rf_power": 9, "fpga_dig_gain": 5, "ad9361_atten": 104, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -23, "ad9361_tcomp_coeff_b": 3177 },
+ { "rf_power": 11, "fpga_dig_gain": 5, "ad9361_atten": 96, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -21, "ad9361_tcomp_coeff_b": 2888 },
+ { "rf_power": 12, "fpga_dig_gain": 5, "ad9361_atten": 93, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -20, "ad9361_tcomp_coeff_b": 2683 },
+ { "rf_power": 13, "fpga_dig_gain": 5, "ad9361_atten": 88, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -20, "ad9361_tcomp_coeff_b": 2530 },
+ { "rf_power": 14, "fpga_dig_gain": 5, "ad9361_atten": 84, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 2367 },
+ { "rf_power": 16, "fpga_dig_gain": 5, "ad9361_atten": 75, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 1943 },
+ { "rf_power": 18, "fpga_dig_gain": 5, "ad9361_atten": 67, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 1537 },
+ { "rf_power": 20, "fpga_dig_gain": 5, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 1135 },
+ { "rf_power": 22, "fpga_dig_gain": 5, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": 714 },
+ { "rf_power": 24, "fpga_dig_gain": 5, "ad9361_atten": 42, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": 262 },
+ { "rf_power": 25, "fpga_dig_gain": 5, "ad9361_atten": 38, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -6 },
+ { "rf_power": 26, "fpga_dig_gain": 5, "ad9361_atten": 33, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -8, "ad9361_tcomp_coeff_b": -193 },
+ { "rf_power": 27, "fpga_dig_gain": 5, "ad9361_atten": 29, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -356 },
+ { "rf_power": 28, "fpga_dig_gain": 5, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -6, "ad9361_tcomp_coeff_b": -470 },
+ { "rf_power": 29, "fpga_dig_gain": 5, "ad9361_atten": 18, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -6, "ad9361_tcomp_coeff_b": -534 },
+ { "rf_power": 30, "fpga_dig_gain": 5, "ad9361_atten": 11, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -4, "ad9361_tcomp_coeff_b": -589 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 907800000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 907100000 , "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 907300000 , "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 907500000 , "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 907700000 , "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 907900000 , "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 908100000 , "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 908300000 , "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 908500000 , "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 907800000 , "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 907800000 , "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 909400000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 908700000 , "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 908900000 , "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 909100000 , "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 909300000 , "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 909500000 , "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 909700000 , "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 909900000 , "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 910100000 , "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 909400000 , "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 909400000 , "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 923300000,
+ "freq_nb": 8,
+ "freq_step": 600000,
+ "datarate": 12,
+ "bw_hz": 500000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_64ch_US915 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_64ch_US915
new file mode 100644
index 0000000..44b9142
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_64ch_US915
@@ -0,0 +1,211 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 908600000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 13000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 923300000,
+ "tx_freq_max": 927500000,
+ "tx_lut":[
+ { "rf_power": 9, "fpga_dig_gain": 5, "ad9361_atten": 104, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -23, "ad9361_tcomp_coeff_b": 3177 },
+ { "rf_power": 11, "fpga_dig_gain": 5, "ad9361_atten": 96, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -21, "ad9361_tcomp_coeff_b": 2888 },
+ { "rf_power": 12, "fpga_dig_gain": 5, "ad9361_atten": 93, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -20, "ad9361_tcomp_coeff_b": 2683 },
+ { "rf_power": 13, "fpga_dig_gain": 5, "ad9361_atten": 88, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -20, "ad9361_tcomp_coeff_b": 2530 },
+ { "rf_power": 14, "fpga_dig_gain": 5, "ad9361_atten": 84, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 2367 },
+ { "rf_power": 16, "fpga_dig_gain": 5, "ad9361_atten": 75, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 1943 },
+ { "rf_power": 18, "fpga_dig_gain": 5, "ad9361_atten": 67, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 1537 },
+ { "rf_power": 20, "fpga_dig_gain": 5, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 1135 },
+ { "rf_power": 22, "fpga_dig_gain": 5, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": 714 },
+ { "rf_power": 24, "fpga_dig_gain": 5, "ad9361_atten": 42, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": 262 },
+ { "rf_power": 25, "fpga_dig_gain": 5, "ad9361_atten": 38, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -6 },
+ { "rf_power": 26, "fpga_dig_gain": 5, "ad9361_atten": 33, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -8, "ad9361_tcomp_coeff_b": -193 },
+ { "rf_power": 27, "fpga_dig_gain": 5, "ad9361_atten": 29, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -356 },
+ { "rf_power": 28, "fpga_dig_gain": 5, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -6, "ad9361_tcomp_coeff_b": -470 },
+ { "rf_power": 29, "fpga_dig_gain": 5, "ad9361_atten": 18, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -6, "ad9361_tcomp_coeff_b": -534 },
+ { "rf_power": 30, "fpga_dig_gain": 5, "ad9361_atten": 11, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -4, "ad9361_tcomp_coeff_b": -589 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 903000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 902300000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 902500000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 902700000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 902900000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 903100000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 903300000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 903500000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 903700000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 903000000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 903000000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 904600000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 903900000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 904100000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 904300000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 904500000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 904700000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 904900000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 905100000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 905300000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 904600000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 904600000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ },
+ {
+ "board_type": "SLAVE",
+ "board_rx_freq": 908600000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 13000000, /* radio RX bandwidth in Hz */
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 906200000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 905500000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 905700000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 905900000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 906100000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 906300000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 906500000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 906700000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 906900000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 906200000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 906200000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 907800000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 907100000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 907300000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 907500000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 907700000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 907900000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 908100000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 908300000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 908500000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 907800000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 907800000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 909400000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 908700000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 908900000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 909100000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 909300000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 909500000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 909700000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 909900000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 910100000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 909400000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 909400000, "bandwidth": 250000, "bit_rate": 100000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 911000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 910300000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 910500000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 910700000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 910900000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 911100000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 911300000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 911500000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 911700000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 911000000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 911000000, "bandwidth": 250000, "bit_rate": 100000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 912600000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 911900000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 912100000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 912300000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 912500000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 912700000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 912900000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 913100000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 913300000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 912600000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 912600000, "bandwidth": 250000, "bit_rate": 100000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 914200000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 913500000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 913700000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 913900000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 914100000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 914300000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 914500000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 914700000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 914900000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 914200000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 914200000, "bandwidth": 250000, "bit_rate": 100000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 0,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789"
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 923300000,
+ "freq_nb": 8,
+ "freq_step": 600000,
+ "datarate": 12,
+ "bw_hz": 500000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_full_duplex_64ch_US915 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_full_duplex_64ch_US915
new file mode 100644
index 0000000..916761f
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_full_duplex_64ch_US915
@@ -0,0 +1,216 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 908600000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 13000000, /* radio RX bandwidth in Hz */
+ "full_duplex": true, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": false
+ },{
+ /* RX */
+ "rx_enable": false,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 923300000,
+ "tx_freq_max": 927500000,
+ "tx_lut":[
+ { "rf_power": 9, "fpga_dig_gain": 5, "ad9361_atten": 104, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -23, "ad9361_tcomp_coeff_b": 3177 },
+ { "rf_power": 11, "fpga_dig_gain": 5, "ad9361_atten": 96, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -21, "ad9361_tcomp_coeff_b": 2888 },
+ { "rf_power": 12, "fpga_dig_gain": 5, "ad9361_atten": 93, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -20, "ad9361_tcomp_coeff_b": 2683 },
+ { "rf_power": 13, "fpga_dig_gain": 5, "ad9361_atten": 88, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -20, "ad9361_tcomp_coeff_b": 2530 },
+ { "rf_power": 14, "fpga_dig_gain": 5, "ad9361_atten": 84, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 2367 },
+ { "rf_power": 16, "fpga_dig_gain": 5, "ad9361_atten": 75, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 1943 },
+ { "rf_power": 18, "fpga_dig_gain": 5, "ad9361_atten": 67, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 1537 },
+ { "rf_power": 20, "fpga_dig_gain": 5, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 1135 },
+ { "rf_power": 22, "fpga_dig_gain": 5, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": 714 },
+ { "rf_power": 24, "fpga_dig_gain": 5, "ad9361_atten": 42, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": 262 },
+ { "rf_power": 25, "fpga_dig_gain": 5, "ad9361_atten": 38, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -6 },
+ { "rf_power": 26, "fpga_dig_gain": 5, "ad9361_atten": 33, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -8, "ad9361_tcomp_coeff_b": -193 },
+ { "rf_power": 27, "fpga_dig_gain": 5, "ad9361_atten": 29, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -356 },
+ { "rf_power": 28, "fpga_dig_gain": 5, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -6, "ad9361_tcomp_coeff_b": -470 },
+ { "rf_power": 29, "fpga_dig_gain": 5, "ad9361_atten": 18, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -6, "ad9361_tcomp_coeff_b": -534 },
+ { "rf_power": 30, "fpga_dig_gain": 5, "ad9361_atten": 11, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -4, "ad9361_tcomp_coeff_b": -589 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 903000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 902300000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 902500000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 902700000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 902900000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 903100000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 903300000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 903500000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 903700000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 903000000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 903000000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 904600000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 903900000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 904100000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 904300000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 904500000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 904700000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 904900000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 905100000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 905300000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 904600000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 904600000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ },
+ {
+ "board_type": "SLAVE",
+ "board_rx_freq": 908600000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 13000000, /* radio RX bandwidth in Hz */
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 906200000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 905500000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 905700000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 905900000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 906100000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 906300000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 906500000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 906700000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 906900000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 906200000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 906200000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 907800000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 907100000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 907300000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 907500000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 907700000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 907900000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 908100000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 908300000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 908500000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 907800000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 907800000, "bandwidth": 250000, "bit_rate": 100000 }
+
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 909400000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 908700000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 908900000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 909100000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 909300000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 909500000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 909700000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 909900000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 910100000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 909400000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 909400000, "bandwidth": 250000, "bit_rate": 100000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 911000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 910300000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 910500000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 910700000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 910900000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 911100000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 911300000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 911500000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 911700000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 911000000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 911000000, "bandwidth": 250000, "bit_rate": 100000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 912600000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 911900000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 912100000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 912300000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 912500000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 912700000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 912900000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 913100000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 913300000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 912600000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 912600000, "bandwidth": 250000, "bit_rate": 100000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 914200000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 913500000, "spread_factor": "7-10" },
+ "chan_multiSF_1": { "chan_rx_freq": 913700000, "spread_factor": "7-10" },
+ "chan_multiSF_2": { "chan_rx_freq": 913900000, "spread_factor": "7-10" },
+ "chan_multiSF_3": { "chan_rx_freq": 914100000, "spread_factor": "7-10" },
+ "chan_multiSF_4": { "chan_rx_freq": 914300000, "spread_factor": "7-10" },
+ "chan_multiSF_5": { "chan_rx_freq": 914500000, "spread_factor": "7-10" },
+ "chan_multiSF_6": { "chan_rx_freq": 914700000, "spread_factor": "7-10" },
+ "chan_multiSF_7": { "chan_rx_freq": 914900000, "spread_factor": "7-10" },
+ "chan_LoRa_std" : { "chan_rx_freq": 914200000, "bandwidth": 500000, "spread_factor": 8 },
+ "chan_FSK" : { "chan_rx_freq": 914200000, "bandwidth": 250000, "bit_rate": 100000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 0,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789"
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 923300000,
+ "freq_nb": 8,
+ "freq_step": 600000,
+ "datarate": 12,
+ "bw_hz": 500000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_dual_antenna_56ch_partial_diversity_EU868 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_dual_antenna_56ch_partial_diversity_EU868
new file mode 100644
index 0000000..3259136
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_dual_antenna_56ch_partial_diversity_EU868
@@ -0,0 +1,237 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ },{
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 1,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "lbt_conf":{
+ "enable": false,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ },
+ {
+ "board_type": "SLAVE",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 0,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789"
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF"
+ },
+ "gps_conf": {
+ "fixed_altitude": false,
+ "gw_altitude": 0
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_16ch_16x1_EU868 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_16ch_16x1_EU868
new file mode 100644
index 0000000..70c1906
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_16ch_16x1_EU868
@@ -0,0 +1,121 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 866000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 866100000, "spread_factor": "7-12" }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 866000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 866100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 866100000, "spread_factor": "7-12" }
+ }],
+ "lbt_conf":{
+ "enable": false,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF",
+ /* Beaconing parameters */
+ "beacon_conf":{
+ "period": 128,
+ "freq_hz": 869525000,
+ "datarate": 9,
+ "bw_hz": 125000,
+ "power": 14,
+ "infodesc": 0
+ }
+ },
+ "gps_conf": {
+ "gw_latitude": 0,
+ "gw_longitude": 0,
+ "gw_altitude": 0,
+ "fixed_altitude": false
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_64x1_EU868 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_64x1_EU868
new file mode 100644
index 0000000..c7318a2
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_64x1_EU868
@@ -0,0 +1,210 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "lbt_conf":{
+ "enable": false,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "55E7068263527C56B38E5977990CB0C2",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ },
+ {
+ "board_type": "SLAVE",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 3,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789"
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF"
+ },
+ "gps_conf": {
+ "fixed_altitude": false,
+ "gw_altitude": 0
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_8x8_EU868 b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_8x8_EU868
new file mode 100644
index 0000000..d5a1705
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation/global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_8x8_EU868
@@ -0,0 +1,210 @@
+{
+ "SX1301_array_conf":[
+ {
+ "board_type": "MASTER",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "full_duplex": false, /* radio mode */
+ "rf_chain_conf":[
+ {
+ /* RX */
+ "rx_enable": true,
+ "rssi_offset": -202.5,
+ "rssi_offset_coeff_a": 20,
+ "rssi_offset_coeff_b": 2925,
+ /* TX */
+ "tx_enable": true,
+ "tx_freq_min": 863000000,
+ "tx_freq_max": 870000000,
+ "tx_lut":[
+ { "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
+ { "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
+ { "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
+ { "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
+ { "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
+ { "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
+ { "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
+ { "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
+ { "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
+ { "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
+ { "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
+ { "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
+ { "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
+ { "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
+ }],
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "lbt_conf":{
+ "enable": false,
+ "rssi_target": -80, /* dBm */
+ "rssi_shift": 142,
+ "chan_cfg":[ /* 16 channels maximum */
+ { "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
+ { "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
+ ]
+ },
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 1,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789",
+ "calibration_temperature_celsius_room": 22,
+ "calibration_temperature_code_ad9361": 77,
+ "fts_version": 1,
+ "fts_match_crc_error": false
+ },
+ {
+ "board_type": "SLAVE",
+ "board_rx_freq": 866500000, /* radio RX central frequency in Hz */
+ "board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
+ "SX1301_conf":[
+ {
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ },{
+ "chip_enable": true,
+ "chip_center_freq": 868000000,
+ "chip_rf_chain": 0,
+ "chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
+ "chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
+ "chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
+ "chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
+ "chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
+ "chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
+ "chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
+ "chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
+ "chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
+ "chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
+ }],
+ "FSK_sync": "C194C1",
+ "loramac_public": true,
+ "nb_dsp": 3,
+ "dsp_stat_interval": 10,
+ "aes_key": "ABCDEF0123456789ABCDEF0123456789"
+ }],
+ "gateway_conf": {
+ "gateway_ID": "00AEAEFFFE000000",
+ /* change with default server address/ports */
+ "server_address": "iotbeta.semtech.com",
+ "serv_port_up": 1690,
+ "serv_port_down": 1690,
+ /* adjust the following parameters for your network */
+ "keepalive_interval": 10,
+ "stat_interval": 30,
+ "push_timeout_ms": 100,
+ /* forward only valid packets */
+ "forward_crc_valid": true,
+ "forward_crc_error": false,
+ "forward_crc_disabled": false,
+ /* link testing mote */
+ "link_mote": "00CC01AF"
+ },
+ "gps_conf": {
+ "fixed_altitude": false,
+ "gw_altitude": 0
+ }
+}
diff --git a/recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb b/recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb
new file mode 100644
index 0000000..735204e
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder-geolocation_5.1.0.bb
@@ -0,0 +1,56 @@
+DESCRIPTION = "LoRa Packet Forwarder Geolocation"
+PRIORITY = "optional"
+SECTION = "console/utils"
+# Semtech license is a modified BSD-style license
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://mlinux4/LICENSE.TXT;md5=86776875df1423114abfcec938f3e565"
+DEPENDS ?= "lora-gateway-geolocation"
+RDEPENDS_${PN} += "bash"
+PR = "r1"
+
+SRCREV = "v${PV}"
+
+SRC_URI = "http://multitech.net/downloads/lora-packet-forwarder-geolocation_arm926ejste_${PV}.tar.gz \
+ file://global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_EU868 \
+ file://global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_full_diversity_JP920 \
+ file://global_conf.json.MTAC_LORA_2_1_loc_dual_antenna_8ch_partial_diversity_EU868 \
+ file://global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_EU868 \
+ file://global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_US915 \
+ file://global_conf.json.MTAC_LORA_2_1_loc_single_antenna_64ch_US915 \
+ file://global_conf.json.MTAC_LORA_2_1_loc_single_antenna_full_duplex_64ch_US915 \
+ file://global_conf.json.MTAC_LORA_2_1_test_dual_antenna_56ch_partial_diversity_EU868 \
+ file://global_conf.json.MTAC_LORA_2_1_test_single_antenna_16ch_16x1_EU868 \
+ file://global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_64x1_EU868 \
+ file://global_conf.json.MTAC_LORA_2_1_test_single_antenna_64ch_8x8_EU868 \
+"
+
+SRC_URI[md5sum] = "6d347a6fc73827ca44d9d5a33c6e4c0d"
+SRC_URI[sha256sum] = "88bf470b142bfb7ac3a23a22690908b0a4757dd4587f5007aa292470999e3e6f"
+
+S = "${WORKDIR}"
+B = "${S}"
+
+LORA_DIR = "/opt/lora"
+
+export LGW_PATH = "${STAGING_LIBDIR}/lora"
+export LGW_INC = "${STAGING_INCDIR}/lora"
+
+do_compile() {
+}
+
+do_install() {
+ install -d ${D}${LORA_DIR}
+ install -m 755 mlinux4/pkt_forwarder ${D}${LORA_DIR}/
+ install -m 755 ${WORKDIR}/global_conf.json.MTAC_LORA_2_1* ${D}${LORA_DIR}/
+ install -d ${D}${LORA_DIR}/forwarder-utils-geo
+ install -m 755 mlinux4/forwarder-utils-geo/* ${D}${LORA_DIR}/forwarder-utils-geo/
+}
+
+
+FILES_${PN} += "${LORA_DIR}"
+FILES_${PN}-dbg += "${LORA_DIR}/.debug ${LORA_DIR}/forwarder-utils-geo/.debug"
+
+# disable this on purpose for dev purposes
+do_rm_work() {
+ echo "skipping"
+}
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 ec81b9d..a671b7d 100755
--- a/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init
+++ b/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init
@@ -23,72 +23,103 @@ 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="MTCDTIPHP-LORA-2.1"
lora_mtcap_id="MTCAP-LORA"
lora_mtcap_id868="MTCAP-LORA-868"
lora_mtcap_id915="MTCAP-LORA-915"
+lora_mtcdt_id868="MTCDTIPHP-LORA-868"
+lora_mtcdt_id915="MTCDTIPHP-LORA-915"
+
+pkf_options=""
+
+gps_path="/dev/gps0"
+
read_lora_hw_info() {
- # product-id of first lora card
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)
- # remove all colons
lora_eui_raw=${lora_eui//:/}
- lora_hw=$(mts-io-sysfs show lora/hw-version 2> /dev/null)
}
hardware_found() {
+ if [[ "$lora_id" =~ "$lora_mtac_id" ]]; then
+ setup_mtcdt
+ elif [[ "$lora_id" =~ "$lora_mtcap_id" ]]; then
+ setup_mtcap
+ elif [[ "$lora_hw" =~ "$lora_2_1_hw" ]]; then
+ setup_mtcdt_2_1
+ 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
+ if [ "$lora_hw" = "$lora_1_0_hw" ] && [[ ! "$lora_id" =~ .*-SPI ]]; then
+ ln -sf /opt/lora/basic_pkt_fwd-usb $pkt_fwd
+ else
+ ln -sf /opt/lora/lora_pkt_fwd $pkt_fwd
+ fi
+}
- if [[ "$lora_id" =~ "$lora_mtac_id" ]]; then
- #
- # MTCDT
- #
- if [ "$lora_hw" = "$lora_1_0_hw" ] && [[ ! "$lora_id" =~ .*-SPI ]]; then
- ln -sf /opt/lora/basic_pkt_fwd-usb $pkt_fwd
- else
- ln -sf /opt/lora/lora_pkt_fwd $pkt_fwd
- fi
-
- return 0
- elif [[ "$lora_id" =~ "$lora_mtcap_id" ]]; then
- #
- # MTCAP
- #
- # Generate default forwarder configuration based on detected LORA hardware
- #
- if [ "$lora_id" = "$lora_mtcap_id868" ]; then
- GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.EU868
- elif [ "$lora_id" = "$lora_mtcap_id915" ]; then
- GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.US915
- else
- return 1
- fi
-
- opt_conf_file=$opt_conf_dir/global_conf.json
- opt_conf_file_local=$opt_conf_dir/local_conf.json
-
- cp $GLOBAL_CONF $opt_conf_file
- sed -i "s/\"gateway_ID\": \".*\"/\"gateway_ID\": \"$lora_eui_raw\"/" $opt_conf_file
-
- if ! [ -f $conf_file ]; then
- mkdir -p /var/config/lora/
- cp $opt_conf_file $conf_file
- cp $opt_conf_file_local $conf_file_local
- fi
+setup_mtcap() {
+ if [ "$lora_id" = "$lora_mtcap_id868" ]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.EU868
+ elif [ "$lora_id" = "$lora_mtcap_id915" ]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP_LORA_1_5.US915
+ else
+ echo "No valid configuration found for mtcap exiting."
+ exit 1
+ fi
- ln -sf /opt/lora/lora_pkt_fwd $pkt_fwd
+ opt_conf_file=$opt_conf_dir/global_conf.json
+ opt_conf_file_local=$opt_conf_dir/local_conf.json
+
+ cp $GLOBAL_CONF $opt_conf_file
+ sed -i "s/\"gateway_ID\": \".*\"/\"gateway_ID\": \"$lora_eui_raw\"/" $opt_conf_file
- return 0
+ if ! [ -f $conf_file ]; then
+ mkdir -p /var/config/lora/
+ cp $opt_conf_file $conf_file
+ cp $opt_conf_file_local $conf_file_local
fi
- return 1
+ ln -sf /opt/lora/lora_pkt_fwd $pkt_fwd
}
+setup_mtcdt_2_1() {
+ if [[ "$lora_id" =~ "$lora_mtcdt_id868" ]]; then
+ CONFIG=/opt/lora/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_EU868
+ elif [[ "$lora_id" =~ "$lora_mtcdt_id915" ]]; then
+ CONFIG=/opt/lora/global_conf.json.MTAC_LORA_2_1_loc_single_antenna_16ch_US915
+ else
+ echo "No valid configuration found for mtcdt 2.1, exiting."
+ exit 1
+ fi
+
+ opt_conf_file=$opt_conf_dir/global_conf.json
+ cp $CONFIG $opt_conf_file
+
+ sed -i "s/\"gateway_ID\": \".*\"/\"gateway_ID\": \"$lora_eui_raw\"/" $opt_conf_file
+
+ if ! [ -f $conf_file ]; then
+ mkdir -p /var/config/lora/
+ cp $opt_conf_file $conf_file
+ fi
+
+ ln -sf /opt/lora/pkt_forwarder $pkt_fwd
+
+ if [ -f $gps_path ]; then
+ pkf_options=" -g"
+ fi
+}
do_start() {
@@ -98,7 +129,7 @@ do_start() {
read_lora_hw_info
if hardware_found; then
- echo "Found $lora_id with $lora_hw hardware"
+ echo "Found $lora_id with $lora_hw hardware. Configuring"
else
echo "$0: LORA card not detected"
exit 1
@@ -109,8 +140,6 @@ do_start() {
exit 1
fi
- echo -n "Starting $NAME: "
-
#
# copy conf files to the run directory
#
@@ -122,8 +151,10 @@ do_start() {
#
# 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"
+ --pidfile $pkt_fwd_pidfile --startas /bin/bash -- -c "exec $pkt_fwd $pkf_options"
renice -n -20 -p $(pgrep $(basename $pkt_fwd))
diff --git a/recipes-connectivity/lora/lora-packet-forwarder/mtcdt-2.1/lora-packet-forwarder.default b/recipes-connectivity/lora/lora-packet-forwarder/mtcdt-2.1/lora-packet-forwarder.default
new file mode 100644
index 0000000..0f92640
--- /dev/null
+++ b/recipes-connectivity/lora/lora-packet-forwarder/mtcdt-2.1/lora-packet-forwarder.default
@@ -0,0 +1,2 @@
+# set to "yes" or "no" to control starting on boot
+ENABLED="no"
diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb
index 422d1a8..33d93c6 100644
--- a/recipes-core/images/mlinux-factory-image.bb
+++ b/recipes-core/images/mlinux-factory-image.bb
@@ -22,7 +22,7 @@ IMAGE_INSTALL += "autossh"
IMAGE_INSTALL += "monit"
# LoRa support (MTAC-LORA accessory card)
-IMAGE_INSTALL += "lora-gateway-utils lora-network-server lora-query lora-packet-forwarder-usb"
+IMAGE_INSTALL += "lora-gateway-utils lora-network-server lora-query lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation"
# MQTT server
#IMAGE_INSTALL += "mosquitto"
diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb
index f715445..a4eb6c2 100644
--- a/recipes-core/images/mlinux-minimal-image.bb
+++ b/recipes-core/images/mlinux-minimal-image.bb
@@ -35,8 +35,10 @@ NETWORKING_FEATURES = "ppp curl iproute2 \
# files survive flashing of rootfs. See recipe for details.
#
# set-rs485: enables RS485 half-duplex mode for a given tty device
+#
+# mtcap does not need mts-io-util, but it is required for LoRa 2.1 images
-MULTITECH_FEATURES = "mts-io config mts-id-eeprom set-rs485"
+MULTITECH_FEATURES = "kernel-module-mts-io mts-io-noarch mts-io-util config mts-id-eeprom set-rs485"
UPGRADE_FEATURES = "upgrade-reboot mtd-utils-static"
diff --git a/recipes-core/multitech/config/ppp/peers/lna3_chat_vz b/recipes-core/multitech/config/ppp/peers/lna3_chat_vz
index 58a5b30..1d2178d 100644
--- a/recipes-core/multitech/config/ppp/peers/lna3_chat_vz
+++ b/recipes-core/multitech/config/ppp/peers/lna3_chat_vz
@@ -32,6 +32,10 @@ OK 'AT+CSQ'
# And to switch to AT&T (non-Verizon):
# mlinux-switch-cell-fw 0
# -----------------------------------------
+# Log APN (current context) for
+# diagnostic purposes
+#-----------------------------------
+OK 'AT+CGDCONT?'
SAY "Dialing...\n"
OK 'ATD*99***3#'
SAY "Waiting for CONNECT...\n"
diff --git a/recipes-core/multitech/config/ppp/peers/lvw2_chat b/recipes-core/multitech/config/ppp/peers/lvw2_chat
index 5be458e..c7aede7 100644
--- a/recipes-core/multitech/config/ppp/peers/lvw2_chat
+++ b/recipes-core/multitech/config/ppp/peers/lvw2_chat
@@ -15,6 +15,10 @@ OK 'AT+CSQ'
# It must be loaded dynamically
# from the network.
# ----------------------------------
+# Log APN (current context) for
+# diagnostic purposes
+#-----------------------------------
+OK 'AT+CGDCONT?'
SAY "Dialing...\n"
OK 'ATD*99***3#'
SAY "Waiting for CONNECT...\n"
diff --git a/recipes-core/multitech/config_1.0.bb b/recipes-core/multitech/config_1.0.bb
deleted file mode 100644
index cf86b4b..0000000
--- a/recipes-core/multitech/config_1.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-DESCRIPTION = "Provides default system config files and /var/config fs"
-SECTION = "base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PR = "r6"
-
-inherit update-rc.d
-
-INITSCRIPT_NAME = "config"
-INITSCRIPT_PARAMS = "start 31 S ."
-
-SRC_URI = "\
- file://network \
- file://ppp \
- file://config.init \
-"
-
-CONFIGFILES = "network ppp"
-
-fakeroot do_install () {
- cd ${WORKDIR}
-
- # default config files
- rm -f defaults.tar.gz
- chown root:root -R ${CONFIGFILES}
- tar czf defaults.tar.gz ${CONFIGFILES}
- install -d ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/defaults.tar.gz ${D}${sysconfdir}/defaults.tar.gz
-
- # save root password for resetting to defaults
- echo -n '${MTADM_PASSWORD_HASH}' > ${D}${sysconfdir}/default_pass
- chmod 400 ${D}${sysconfdir}/default_pass
-
- # init script
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/config.init ${D}${sysconfdir}/init.d/config
-}
-
-FILES_${PN} = "${sysconfdir}/defaults.tar.gz ${sysconfdir}/default_pass"
-FILES_${PN} += "${sysconfdir}/init.d/config"
diff --git a/recipes-core/multitech/config_2.1.bb b/recipes-core/multitech/config_2.1.bb
index c49f06a..a7dbed7 100644
--- a/recipes-core/multitech/config_2.1.bb
+++ b/recipes-core/multitech/config_2.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Provides default system config files and /var/config fs"
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PR = "r1"
+PR = "r2"
inherit update-rc.d