Merge pull request #67 from dr-dolomite/feature-watchcat
Added Various Changes and Fixes for Simple Network
This commit is contained in:
@@ -1,60 +1,87 @@
|
||||
function parseCurrentSettings(rawdata) {
|
||||
const data = rawdata;
|
||||
const data = rawdata;
|
||||
|
||||
const lines = data.split("\n");
|
||||
console.log(lines);
|
||||
const lines = data.split("\n");
|
||||
console.log(lines);
|
||||
|
||||
// Remove QUIMSLOT and only take 1 or 2
|
||||
this.sim = lines[1].split(":")[1].trim();
|
||||
this.apn = lines[3].split(",")[2].replace(/\"/g, "");
|
||||
this.cellLock4GStatus = lines[5].split(",")[1].replace(/\"/g, "");
|
||||
this.cellLock5GStatus = lines[7].split(",")[1].replace(/\"/g, "");
|
||||
this.prefNetwork = lines[9].split(",")[1].replace(/\"/g, "");
|
||||
this.nrModeControlStatus = lines[11].split(",")[1].replace(/\"/g, "");
|
||||
// Remove QUIMSLOT and only take 1 or 2
|
||||
this.sim = lines
|
||||
.find(
|
||||
(line) => line.includes("QUIMSLOT: 1") || line.includes("QUIMSLOT: 2")
|
||||
)
|
||||
.split(":")[1]
|
||||
// remove spaces
|
||||
.replace(/\s/g, "");
|
||||
// .replace(/\"/g, "");
|
||||
|
||||
|
||||
let bands = [];
|
||||
|
||||
// Append the values if there is separated by comma with a space.
|
||||
// i.e. LTE BAND 3, LTE BAND 1
|
||||
for (let i = 13; i < 17; i++) {
|
||||
if (lines[i].split(",").length > 1) {
|
||||
bands.push(lines[i].split(",")[3].replace(/\"/g, " "));
|
||||
}
|
||||
}
|
||||
|
||||
this.bands = bands;
|
||||
|
||||
|
||||
if (this.cellLock4GStatus == 1 && this.cellLock5GStatus == 1) {
|
||||
this.cellLockStatus = "Locked to 4G and 5G";
|
||||
} else if (this.cellLock4GStatus == 1) {
|
||||
this.cellLockStatus = "Locked to 4G";
|
||||
}
|
||||
else if (this.cellLock5GStatus == 1) {
|
||||
this.cellLockStatus = "Locked to 5G";
|
||||
}
|
||||
else {
|
||||
this.cellLockStatus = "Not Locked";
|
||||
}
|
||||
|
||||
if (this.nrModeControlStatus == 0) {
|
||||
this.nrModeControlStatus = "Not Disabled";
|
||||
}
|
||||
else if (this.nrModeControlStatus == 1) {
|
||||
this.nrModeControlStatus = "SA Disabled";
|
||||
}
|
||||
else {
|
||||
this.nrModeControlStatus = "NSA Disabled";
|
||||
}
|
||||
|
||||
return {
|
||||
sim: sim,
|
||||
apn: apn,
|
||||
cellLockStatus: cellLockStatus,
|
||||
prefNetwork: prefNetwork,
|
||||
nrModeControl: nrModeControlStatus,
|
||||
bands: bands
|
||||
};
|
||||
try {
|
||||
this.apn = lines
|
||||
.find((line) => line.includes("+CGCONTRDP: 1,0"))
|
||||
.split(",")[2]
|
||||
.replace(/\"/g, "");
|
||||
} catch (error) {
|
||||
this.apn = "Failed fetching APN";
|
||||
}
|
||||
|
||||
this.cellLock4GStatus = lines
|
||||
.find((line) => line.includes('+QNWLOCK: "common/4g"'))
|
||||
.split(",")[1]
|
||||
.replace(/\"/g, "");
|
||||
|
||||
this.cellLock5GStatus = lines
|
||||
.find((line) => line.includes('+QNWLOCK: "common/5g"'))
|
||||
.split(",")[1]
|
||||
.replace(/\"/g, "");
|
||||
|
||||
this.prefNetwork = lines
|
||||
.find((line) => line.includes('+QNWPREFCFG: "mode_pref"'))
|
||||
.split(",")[1]
|
||||
.replace(/\"/g, "");
|
||||
|
||||
this.nrModeControlStatus = lines
|
||||
.find((line) => line.includes('+QNWPREFCFG: "nr5g_disable_mode"'))
|
||||
.split(",")[1]
|
||||
.replace(/\"/g, "");
|
||||
|
||||
this.apnIP = lines
|
||||
.find((line) => line.includes("+CGDCONT: 1"))
|
||||
.split(",")[1]
|
||||
.replace(/\"/g, "");
|
||||
|
||||
try {
|
||||
this.bands = lines
|
||||
.find((line) => line.includes("+QCAINFO:"))
|
||||
.split(",")[3]
|
||||
.replace(/\"/g, "");
|
||||
} catch (error) {
|
||||
this.bands = "Failed fetching bands";
|
||||
}
|
||||
|
||||
if (this.cellLock4GStatus == 1 && this.cellLock5GStatus == 1) {
|
||||
this.cellLockStatus = "Locked to 4G and 5G";
|
||||
} else if (this.cellLock4GStatus == 1) {
|
||||
this.cellLockStatus = "Locked to 4G";
|
||||
} else if (this.cellLock5GStatus == 1) {
|
||||
this.cellLockStatus = "Locked to 5G";
|
||||
} else {
|
||||
this.cellLockStatus = "Not Locked";
|
||||
}
|
||||
|
||||
if (this.nrModeControlStatus == 0) {
|
||||
this.nrModeControlStatus = "Not Disabled";
|
||||
} else if (this.nrModeControlStatus == 1) {
|
||||
this.nrModeControlStatus = "SA Disabled";
|
||||
} else {
|
||||
this.nrModeControlStatus = "NSA Disabled";
|
||||
}
|
||||
|
||||
return {
|
||||
sim: sim,
|
||||
apn: apn,
|
||||
apnIP: apnIP,
|
||||
cellLockStatus: cellLockStatus,
|
||||
prefNetwork: prefNetwork,
|
||||
nrModeControl: nrModeControlStatus,
|
||||
bands: bands,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -160,26 +160,26 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- <div class="mb-4">
|
||||
<label for="disableCA" class="form-label"
|
||||
>Disable Carrier Aggregation</label
|
||||
<div class="mb-4">
|
||||
<label for="ipForAPN" class="form-label"
|
||||
>Choose APN PDP Type</label
|
||||
>
|
||||
<select
|
||||
class="form-select"
|
||||
id="disableCA"
|
||||
x-model="disableCA"
|
||||
aria-label="disableCA"
|
||||
id="ipAPN"
|
||||
x-model="newApnIP"
|
||||
aria-label="ipForAPN"
|
||||
>
|
||||
<option
|
||||
selected
|
||||
x-text="disableCA === '-' ? 'Fetching...' : 'Current: ' + disableCA"
|
||||
x-text="apnIP === '-' ? 'Fetching...' : 'Current: ' + apnIP"
|
||||
></option>
|
||||
<option value="enableAll">Enable All</option>
|
||||
<option value="LTE">Disable LTE</option>
|
||||
<option value="NR5G">Disable NR5G</option>
|
||||
<option value="both">Disable Both</option>
|
||||
<option value="1">IPv4 Only</option>
|
||||
<option value="2">IPv6 Only</option>
|
||||
<option value="3">IPv4v6</option>
|
||||
<option value="4">P2P Protocol</option>
|
||||
</select>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<div class="mb-4 input-group grid gap-3">
|
||||
<label for="SIM1" class="form-label"> Change SIM</label>
|
||||
@@ -465,6 +465,8 @@
|
||||
scs: null,
|
||||
band: null,
|
||||
apn: "-",
|
||||
apnIP: "-",
|
||||
newApnIP: null,
|
||||
newApn: null,
|
||||
prefNetwork: "-",
|
||||
prefNetworkMode: null,
|
||||
@@ -608,16 +610,20 @@
|
||||
},
|
||||
getCurrentSettings() {
|
||||
const atcmd =
|
||||
'AT+QUIMSLOT?;+CGCONTRDP=1;+QNWLOCK="common/4g";+QNWLOCK="common/5g";+QNWPREFCFG="mode_pref";+QNWPREFCFG="nr5g_disable_mode";+QCAINFO';
|
||||
'AT+QUIMSLOT?;+CGCONTRDP=1;+QNWLOCK="common/4g";+QNWLOCK="common/5g";+QNWPREFCFG="mode_pref";+QNWPREFCFG="nr5g_disable_mode";+QCAINFO;+CGDCONT?';
|
||||
|
||||
this.sendATcommand(atcmd).then((rawdata) => {
|
||||
console.log(rawdata);
|
||||
const settings = parseCurrentSettings(rawdata);
|
||||
this.sim = settings.sim;
|
||||
this.apn = settings.apn;
|
||||
this.apnIP = settings.apnIP;
|
||||
this.cellLockStatus = settings.cellLockStatus;
|
||||
this.prefNetwork = settings.prefNetwork;
|
||||
this.nrModeControl = settings.nrModeControl;
|
||||
this.bands = settings.bands;
|
||||
|
||||
console.log(settings);
|
||||
});
|
||||
},
|
||||
lockSelectedBands() {
|
||||
@@ -701,8 +707,21 @@
|
||||
ATNetwork = "";
|
||||
ATNRMode = "";
|
||||
|
||||
console.log(this.newApnIP);
|
||||
|
||||
if (newApn !== null) {
|
||||
atAPN = `+CGDCONT=1,"IP","${newApn}";`;
|
||||
if (this.newApnIP === "1") {
|
||||
atAPN = `+CGDCONT=1,"IPV4","${newApn}";`;
|
||||
} else if (this.newApnIP === "2") {
|
||||
atAPN = `+CGDCONT=1,"IPV6","${newApn}";`;
|
||||
} else if (this.newApnIP === "3") {
|
||||
atAPN = `+CGDCONT=1,"IPV4V6","${newApn}";`;
|
||||
} else if (this.newApnIP === "4") {
|
||||
atAPN = `+CGDCONT=1,"PPP","${newApn}";`;
|
||||
} else {
|
||||
console.log("No changes made");
|
||||
atAPN = `+CGDCONT=1,"IPV4V6","${newApn}";`;
|
||||
}
|
||||
}
|
||||
|
||||
if (newSim !== null) {
|
||||
|
||||
Reference in New Issue
Block a user