diff --git a/simpleadmin/www/index.html b/simpleadmin/www/index.html index 32592cd..ceb1a13 100644 --- a/simpleadmin/www/index.html +++ b/simpleadmin/www/index.html @@ -981,7 +981,7 @@ // find this value from lines "+QCAINFO: \"PCC\" const lte_pcc_arfcn = lines .find((line) => line.includes('+QCAINFO: "PCC"')) - .split(",")[5]; + .split(",")[1]; try { // Look for all the lines with this value "+QCAINFO: \"SCC\" and store them in an array @@ -1050,7 +1050,6 @@ const lte_pcc_pci = lines .find((line) => line.includes('+QCAINFO: "PCC"')) .split(",")[5]; - try { // Look for all the lines with this value "+QCAINFO: \"SCC\" and store them in an array const lte_scc_pci = lines.filter((line) => @@ -1075,39 +1074,38 @@ this.sccPCI = "-"; } } else if (this.networkMode == "5G NSA") { - // find this value from lines "+QCAINFO: \"PCC\" - const lte_pcc_pci = lines - .find((line) => line.includes('+QCAINFO: "PCC"')) - .split(",")[5]; - - try { - // Look for all the lines with this value "+QCAINFO: \"SCC\" and store them in an array - const lte_scc_pci = lines.filter((line) => - line.includes('+QCAINFO: "SCC"') - ); - - // if empty, then proceed to error block - if (lte_scc_pci.length == 0) { - throw "No SCC PCI"; + const pccparts = lines.find((m) => m.includes("QCAINFO: \"PCC\"")).split(":")[1].split(","); + const sccarr = lines.filter((m) => m.includes("QCAINFO: \"SCC\"")); + const sccpci = []; + sccarr.forEach((s) => { + const sccparts = s.split(":")[1].split(","); + let sccIndex = 5; + switch (sccparts.length) { + case 8: // length 8, PCI is at index 4, NR5G PCC and NR5G SCC Band when NR5G-NSA + sccIndex = 4; + break; + case 13: // length 13, PCI is at index 5, LTE SCC Band + case 12: // length 12, PCI is at index 5, NR5G SCC Band + case 10: // length 10, PCI is at index 5, LTE PCC Band + default: + sccIndex = 5; + break; } - - // process all the values in the array and extract the PCI part only - for (let i = 0; i < lte_scc_pci.length; i++) { - // if line contains LTE BAND then do this process - if (lte_scc_pci[i].includes("LTE BAND")) { - lte_scc_pci[i] = lte_scc_pci[i].split(",")[5]; - } else { - lte_scc_pci[i] = lte_scc_pci[i].split(",")[4]; - } - } - - // combine the PCC and SCC PCI values - this.pccPCI = lte_pcc_pci; - this.sccPCI = lte_scc_pci.join(", "); - } catch (error) { - this.pccPCI = lte_pcc_pci.replace(/,/g, ""); - this.sccPCI = "-"; + sccpci.push(sccparts[sccIndex]); + }); + this.sccPCI = sccpci.join(', '); + switch (pccparts.length) { + case 8: // length 8, PCI is at index 4, NR5G PCC and NR5G SCC Band when NR5G-NSA + pccIndex = 4; + break; + case 13: // length 13, PCI is at index 5, LTE SCC Band + case 12: // length 12, PCI is at index 5, NR5G SCC Band + case 10: // length 10, PCI is at index 5, LTE PCC Band + default: + pccIndex = 5; + break; } + this.pccPCI = pccparts[pccIndex]?.trim(); } else { this.pccPCI = "0"; this.sccPCI = "-";