summaryrefslogtreecommitdiff
path: root/recipes-connectivity/lora/lora-packet-forwarder
diff options
context:
space:
mode:
authorJason Reiss <jreiss@multitech.com>2022-05-16 19:37:17 -0500
committerJason Reiss <jreiss@multitech.com>2022-05-16 19:37:17 -0500
commitf797305080853f031daea6cec2fbfe37d05bd82c (patch)
treefa69f5404bca17f9355dccb0f586222a8d9f66f9 /recipes-connectivity/lora/lora-packet-forwarder
parent6c8886126e74b4e3dbd33bd075ec5f446ae95504 (diff)
downloadmeta-mlinux-f797305080853f031daea6cec2fbfe37d05bd82c.tar.gz
meta-mlinux-f797305080853f031daea6cec2fbfe37d05bd82c.tar.bz2
meta-mlinux-f797305080853f031daea6cec2fbfe37d05bd82c.zip
lora: add MTAC-003 to init scripts
Diffstat (limited to 'recipes-connectivity/lora/lora-packet-forwarder')
-rwxr-xr-xrecipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init77
1 files changed, 69 insertions, 8 deletions
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 e475204..092e0a5 100755
--- a/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init
+++ b/recipes-connectivity/lora/lora-packet-forwarder/lora-packet-forwarder.init
@@ -41,10 +41,18 @@ mtac_spi_device_2="spidev32765.2"
# spidev32765.2 spidev32766.2
+lora_mtac_003_id="MTAC-003"
+lora_mtac_003_id868="MTAC-003E00"
+lora_mtac_003_id915="MTAC-003U00"
+
lora_mtcap_id="MTCAP-LORA"
lora_mtcap_id868="MTCAP-LORA-868"
lora_mtcap_id915="MTCAP-LORA-915"
+lora_mtcap3_id="MTCAP3"
+lora_mtcap3_id868="MTCAP3-003E00"
+lora_mtcap3_id915="MTCAP3-003U00"
+
mtcdt3_id="MTCDT3"
lora_mtcdt3_id="MTCDT3-LORA"
lora_mtcdt3_id868="MTCDT3-LORA-868"
@@ -72,7 +80,14 @@ read_lora_hw_info() {
# remove all colons
lora_eui_raw=${lora_eui//:}
lora_hw=$(mts-io-sysfs show lora/hw-version 2> /dev/null)
- if [ -d $port2 ] && [[ $(cat $port2/hw-version) =~ "LORA-1.5" ]]; then
+
+ if [ -d $port1 ] && [[ $(cat $port1/hw-version) =~ "LORA-1.5" ]] && [ -d $port2 ] && [[ $(cat $port2/hw-version) =~ "LORA-1.5" ]]; then
+ dual_cards_installed=true
+ elif [ -d $port1 ] && [[ $(cat $port1/hw-version) =~ "MTAC-003" ]] && [ -d $port2 ] && [[ $(cat $port2/hw-version) =~ "MTAC-003" ]]; then
+ dual_cards_installed=true
+ fi
+
+ if [[ "$dual_cards_installed" = "true" ]] && [ -d $port2 ] && [[ $(cat $port2/hw-version) =~ "LORA-1.5" || $(cat $port2/hw-version) =~ "LORA-2G4" || $(cat $port2/hw-version) =~ "MTAC-003" ]]; then
# product-id of first lora card
lora_2_id=$(mts-io-sysfs show lora-2/product-id 2> /dev/null)
lora_2_hw=$(mts-io-sysfs show lora-2/hw-version 2> /dev/null)
@@ -81,9 +96,6 @@ read_lora_hw_info() {
lora_2_eui_raw=${lora_2_eui//:}
fi
- if [ -d $port1 ] && [[ $(cat $port1/hw-version) =~ "LORA-1.5" ]] && [ -d $port2 ] && [[ $(cat $port2/hw-version) =~ "LORA-1.5" ]]; then
- dual_cards_installed=true
- fi
}
hardware_found() {
@@ -91,10 +103,14 @@ hardware_found() {
setup_mtcdt3
elif [[ "$lora_id" =~ "$lora_mtac_g_id" ]]; then
setup_mtcdt_2_1
- elif [[ "$lora_id" =~ "$lora_mtcap_id" ]]; then
- setup_mtcap
+ elif [[ "$lora_id" =~ "$lora_mtac_003_id" ]]; then
+ setup_mtcdt003
elif [[ "$lora_id" =~ "$lora_mtac_id" ]]; then
setup_mtcdt
+ elif [[ "$lora_id" =~ "$lora_mtcap3_id" ]]; then
+ setup_mtcap3
+ elif [[ "$lora_id" =~ "$lora_mtcap_id" ]]; then
+ setup_mtcap
else
return 1
fi
@@ -140,6 +156,51 @@ setup_mtcdt3() {
fi
}
+setup_mtcdt003() {
+ if [[ "$lora_id" =~ "$lora_mtac_003_id868" ]]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTAC_003_0_0.EU868
+ elif [[ "$lora_id" =~ "$lora_mtac_003_id915" ]]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTAC_003_0_0.US915
+ else
+ return 1
+ fi
+
+ ln -sf /opt/lora/lora_pkt_fwd_sx1303 $pkt_fwd
+ ln -sf /opt/lora/lora_pkt_fwd_sx1303 $pkt_fwd_2
+
+ # ignore error of diff command
+ set +e
+ diff $GLOBAL_CONF /opt/lora/global_conf.json 1>/dev/null
+ if [ $? -ne 0 ]; then
+ cp $GLOBAL_CONF /opt/lora/global_conf.json
+ fi
+ set -e
+
+ return 0
+}
+
+setup_mtcap3() {
+ if [[ "$lora_id" = "$lora_mtcap3_id868" ]]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP3.EU868
+ elif [[ "$lora_id" = "$lora_mtcap3_id915" ]]; then
+ GLOBAL_CONF=/opt/lora/global_conf.json.MTCAP3.US915
+ else
+ return 1
+ fi
+
+ ln -sf /opt/lora/lora_pkt_fwd_sx1303 $pkt_fwd
+
+ # ignore error of diff command
+ set +e
+ diff $GLOBAL_CONF /opt/lora/global_conf.json 1>/dev/null
+ if [ $? -ne 0 ]; then
+ cp $GLOBAL_CONF /opt/lora/global_conf.json
+ fi
+ set -e
+
+ return 0
+}
+
setup_mtcdt() {
if [ -d $port1 ] && [[ $(cat $port1/hw-version) = $lora_hw ]]; then
ln -sf /dev/spidev32766.2 /dev/spidev0.0
@@ -275,8 +336,8 @@ do_start() {
elif [[ "$lora_id" =~ "$lora_mtac_g_id" ]]; then
echo Resetting 2.1 LoRa
/usr/sbin/mts-util-lora2-reset -g -f >/dev/null 2>&1
- sleep 0.25
- else
+ sleep 0.25
+ elif [[ ! "$lora_id" =~ "$lora_mtcap3_id" ]] && [[ ! "$lora_id" =~ "$lora_mtac_003_id" ]]; then
mts-io-sysfs store lora/reset 0
if [ "$dual_cards_installed" == true ]; then
mts-io-sysfs store lora-2/reset 0