Skip to content

Commit

Permalink
-- add support Quectel EC21
Browse files Browse the repository at this point in the history
-- fix visual component
  • Loading branch information
Kodo-kakaku committed Sep 24, 2023
1 parent c4c5c05 commit 768183b
Show file tree
Hide file tree
Showing 5 changed files with 137 additions and 135 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=GNSS Information dashboard for 3G/LTE dongle
LUCI_DEPENDS:=+lua +luci-compat +curl +lua-rs232 +luasocket +iwinfo +libiwinfo-lua +lua-bit32 +usbutils +gpsd
PKG_LICENSE:=GPLv3
PKG_VERSION:=2.5.9
PKG_VERSION:=2.6.0

define Package/luci-app-gpoint/postrm
rm -f /etc/config/gpoint
Expand Down
5 changes: 3 additions & 2 deletions luasrc/model/cbi/gpoint/gpoint.lua
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ local modems = {
["Quectel"] = {
["2c7c:0306"] = "EP06",
["2c7c:0512"] = "EM12",
["2c7c:0121"] = "EC21",
["2c7c:0125"] = "EC25",
["2c7c:0620"] = "EM160R",
["2c7c:0800"] = "RM500Q",
Expand Down Expand Up @@ -68,7 +69,7 @@ s.addremove = false
local o = s:option(DummyValue, "_dummy")
o.template = packageName .. "/buttons"

o = s:option(DummyValue, "_dummy", translate("Service Status:"))
o = s:option(DummyValue, "_dummy")
o.template = packageName .. "/service_status"


Expand Down Expand Up @@ -167,7 +168,7 @@ o.rawhtml = true
o:depends("mode", "gpsd")

-- Remote Server
s = m:section(TypedSection, "server_settings", translate("Remote Server"), translate("Configuration of the remote navigation server"))
s = m:section(TypedSection, "server_settings", translate("Remote server"), translate("Configuration of the remote navigation server"))
s.addremove = false
s.anonymous = true

Expand Down
76 changes: 38 additions & 38 deletions luasrc/view/gpoint/buttons.htm
Original file line number Diff line number Diff line change
@@ -1,65 +1,65 @@
<%#
Module for providing data from a mobile satellite navigation system ( mobile modems, etc.)
-= Design and Development 2021-2022 =-
Licensed to the public under the Apache License 2.0.
Module for providing data from a mobile satellite navigation system ( mobile modems, etc.)
-= Design and Development 2021-2023 =-
Licensed to the public under the Apache License 2.0.
-%>

<%+gpoint/css/style%>
<%+gpoint/service%>

<%-
local packageName = "gpoint"
local serviceRunning, serviceEnabled = false, false;
local packageName = "gpoint"
local serviceRunning, serviceEnabled = false, false;

serviceEnabled = luci.sys.init.enabled(packageName)
local ubusStatus = luci.util.ubus("service", "list", { name = packageName })
if ubusStatus and ubusStatus[packageName] then
serviceRunning = true
end
serviceEnabled = luci.sys.init.enabled(packageName)
local ubusStatus = luci.util.ubus("service", "list", { name = packageName })
if ubusStatus and ubusStatus[packageName] then
serviceRunning = true
end

if serviceEnabled then
btn_start_status = true
btn_action_status = true
btn_stop_status = true
btn_enable_status = false
btn_disable_status = true
else
btn_start_status = false
btn_action_status = false
btn_stop_status = false
btn_enable_status = true
btn_disable_status = false
end
if serviceRunning then
btn_start_status = false
btn_action_status = true
btn_stop_status = true
else
btn_action_status = false
btn_stop_status = false
end
if serviceEnabled then
btn_start_status = true
btn_action_status = true
btn_stop_status = true
btn_enable_status = false
btn_disable_status = true
else
btn_start_status = false
btn_action_status = false
btn_stop_status = false
btn_enable_status = true
btn_disable_status = false
end
if serviceRunning then
btn_start_status = false
btn_action_status = true
btn_stop_status = true
else
btn_action_status = false
btn_stop_status = false
end
-%>

<div class="cbi-value"><label class="cbi-value-title">Service Control:</label>
<div class="cbi-value-field">
<div class="cbi-value" align="left"><label class="cbi-value-title"></label>
<div class="cbi-value-title">
<input type="button" class="cbi-button cbi-button-apply" id="btn_start" name="start" value="<%:Start%>"
onclick="button_action(this)" />
onclick="button_action(this)" />
<span id="btn_start_spinner" class="btn_spinner"></span>
<input type="button" class="cbi-button cbi-button-apply" id="btn_action" name="action" value="<%:Reload%>"
onclick="button_action(this)" />
onclick="button_action(this)" />
<span id="btn_action_spinner" class="btn_spinner"></span>
<input type="button" class="cbi-button cbi-button-reset" id="btn_stop" name="stop" value="<%:Stop%>"
onclick="button_action(this)" />
onclick="button_action(this)" />
<span id="btn_stop_spinner" class="btn_spinner"></span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
<input type="button" class="cbi-button cbi-button-apply" id="btn_enable" name="enable" value="<%:Enable%>"
onclick="button_action(this)" />
onclick="button_action(this)" />
<span id="btn_enable_spinner" class="btn_spinner"></span>
<input type="button" class="cbi-button cbi-button-reset" id="btn_disable" name="disable" value="<%:Disable%>"
onclick="button_action(this)" />
onclick="button_action(this)" />
<span id="btn_disable_spinner" class="btn_spinner"></span>
</div>
</div>
Expand Down
121 changes: 60 additions & 61 deletions luasrc/view/gpoint/service.htm
Original file line number Diff line number Diff line change
@@ -1,65 +1,64 @@
<%#
Module for providing data from a mobile satellite navigation system ( mobile modems, etc.)
-= Design and Development 2021-2022 =-
Licensed to the public under the Apache License 2.0.
Module for providing data from a mobile satellite navigation system ( mobile modems, etc.)
-= Design and Development 2021-2023 =-
Licensed to the public under the Apache License 2.0.
-%>
<script type="text/javascript">
//<![CDATA[
//<![CDATA[
function button_action(action) {
var xhr = new XHR(false);
var btn_start = document.getElementById("btn_start");
var btn_action = document.getElementById("btn_action");
var btn_stop = document.getElementById("btn_stop");
var btn_enable = document.getElementById("btn_enable");
var btn_disable = document.getElementById("btn_disable");
var btn_spinner;
switch (action.name) {
case "start":
btn_spinner = document.getElementById("btn_start_spinner");
break;
case "action":
btn_spinner = document.getElementById("btn_action_spinner");
break;
case "stop":
btn_spinner = document.getElementById("btn_stop_spinner");
break;
case "enable":
btn_spinner = document.getElementById("btn_enable_spinner");
break;
case "disable":
btn_spinner = document.getElementById("btn_disable_spinner");
break;
}
btn_start.disabled = true;
btn_action.disabled = true;
btn_stop.disabled = true;
btn_enable.disabled = true;
btn_disable.disabled = true;
spinner(btn_spinner, 1);
xhr.get('<%=luci.dispatcher.build_url("admin", "services", "gpoint", "action")%>/' + action.name, null,
function (x) {
if (!x) {
return;
}
btn_start.disabled = false;
btn_action.disabled = false;
btn_stop.disabled = false;
btn_enable.disabled = false;
btn_disable.disabled = false;
spinner(btn_spinner, 0);
location.reload();
});
}
function spinner(element, state) {
if (state === 1) {
element.style.width = "16px";
element.innerHTML = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
}
else {
element.style.width = "0px";
element.innerHTML = '';
}
}
//]]>
</script>

var xhr = new XHR(false);
var btn_start = document.getElementById("btn_start");
var btn_action = document.getElementById("btn_action");
var btn_stop = document.getElementById("btn_stop");
var btn_enable = document.getElementById("btn_enable");
var btn_disable = document.getElementById("btn_disable");
var btn_spinner;
switch (action.name) {
case "start":
btn_spinner = document.getElementById("btn_start_spinner");
break;
case "action":
btn_spinner = document.getElementById("btn_action_spinner");
break;
case "stop":
btn_spinner = document.getElementById("btn_stop_spinner");
break;
case "enable":
btn_spinner = document.getElementById("btn_enable_spinner");
break;
case "disable":
btn_spinner = document.getElementById("btn_disable_spinner");
break;
}
btn_start.disabled = true;
btn_action.disabled = true;
btn_stop.disabled = true;
btn_enable.disabled = true;
btn_disable.disabled = true;
spinner(btn_spinner, 1);
xhr.get('<%=luci.dispatcher.build_url("admin", "services", "gpoint", "action")%>/' + action.name, null,
function (x) {
if (!x) {
return;
}
btn_start.disabled = false;
btn_action.disabled = false;
btn_stop.disabled = false;
btn_enable.disabled = false;
btn_disable.disabled = false;
spinner(btn_spinner, 0);
location.reload();
});
}
function spinner(element, state) {
if (state === 1) {
element.style.width = "16px";
element.innerHTML = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
}
else {
element.style.width = "0px";
element.innerHTML = '';
}
}
//]]>
</script>
68 changes: 35 additions & 33 deletions luasrc/view/gpoint/service_status.htm
Original file line number Diff line number Diff line change
@@ -1,42 +1,44 @@
<%#
Module for providing data from a mobile satellite navigation system ( mobile modems, etc.)
-= Design and Development 2021-2022 =-
Licensed to the public under the Apache License 2.0.
Module for providing data from a mobile satellite navigation system ( mobile modems, etc.)
-= Design and Development 2021-2023 =-
Licensed to the public under the Apache License 2.0.
-%>

<%+cbi/valueheader%>
<table style="outline:none;border:none;box-shadow:none;background:transparent;font-weight:bold;line-height:30px;height:30px;width:60em;">
<tr class="tr">
<td class="td left" id="application">-</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="app">Application: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="server">Remote Server: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="locat">Yandex Locator: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="filter">GpointFilter: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="kalmanf">KalmanFilter: -</td>
</tr>
</table>
<div align="left"><label class="cbi-section"><h3>Service control</h3></label>
<table style="outline:none;border:none;box-shadow:none;background:transparent;font-weight:bold;line-height:30px;height:30px;width:60em;">
<tr class="tr">
<td class="td left" id="application">-</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="app">Application: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="server">Remote Server: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="locat">Yandex Locator: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="filter">GpointFilter: -</td>
</tr>
<tr class="tr"></tr>
<tr class="tr">
<td class="td left" id="kalmanf">KalmanFilter: -</td>
</tr>
</table>
</div>

<script type="text/javascript">
//<![CDATA[
//<![CDATA[
function createForm(f_input, f_name, f_id) {
var f = document.getElementById(f_id);
var color = "orange";
if(f_input) {
if(f_input) {
f.innerHTML = f_name + f_input[1];
if (f_input[1] == "OK") {
color = "green";
Expand All @@ -57,7 +59,7 @@
app.innerHTML = "Stop (Disabled)";
color = "red";
}
else if (document.getElementById("btn_stop").disabled) {
else if (document.getElementById("btn_stop").disabled) {
app.innerHTML = "Stop";
color = "orange";
}
Expand All @@ -77,7 +79,7 @@
createForm(data.warning.filter, "GeoHash Filter: ", "filter");
createForm(data.warning.kalman, "Kalman filter: ", "kalmanf");
});
//]]>
//]]>
</script>

<%+cbi/valuefooter%>
<%+cbi/valuefooter%>

0 comments on commit 768183b

Please sign in to comment.