succd: unify html/js data source

This commit is contained in:
Serge Bazanski 2024-09-28 07:49:03 +02:00
parent 776f7a9911
commit 3ec6fd1d1b
2 changed files with 118 additions and 81 deletions

View file

@ -59,25 +59,25 @@ td > span {
<table>
<tr>
<th>Voltage</th>
<td id="volts" colspan="4">{{.volts}}</td>
<td id="volts" colspan="4">{{ .Pirani.Volts }}</td>
</tr>
<tr>
<th>Pressure</th>
<td id="mbar" colspan="4">{{.mbar}}</td>
<td id="mbar" colspan="4">{{ .Pirani.Mbar }}</td>
</tr>
<tr>
<th>Thresholds</th>
<td>Rough:</td>
<td id="trough">...</td>
<td id="trough">{{ if .Feedback.RoughReached }}OK{{ else }}NOK{{ end }}</td>
<td>High:</td>
<td id="thigh">...</td>
<td id="thigh">{{ if .Feedback.HighReached }}OK{{ else }}NOK{{ end }}</td>
</tr>
<tr>
<th>Pumps</th>
<td>RP:</td>
<td id="rp">{{ if .rp }}ON{{ else }}OFF{{ end }}</td>
<td id="rp">{{ if .Pumps.RPOn }}ON{{ else }}OFF{{ end }}</td>
<td>DP:</td>
<td id="dp">{{ if .dp }}ON{{ else }}OFF{{ end }}</td>
<td id="dp">{{ if .Pumps.DPOn }}ON{{ else }}OFF{{ end }}</td>
</tr>
<tr>
<th>Evac Control</th>
@ -96,11 +96,11 @@ td > span {
</tr>
<tr>
<th>Failsafe</th>
<td id="failsafe" colspan="4">OK</td>
<td id="failsafe" colspan="4">{{ if .Safety.Failsafe }}ON{{ else }}OFF{{ end }}</td>
</tr>
<tr>
<th>Diffusion Pump Lockout</th>
<td id="highpressure" colspan="4">OK</td>
<td id="highpressure" colspan="4">{{ if .Safety.HighPressure }}ON{{ else }}OFF{{ end }}</td>
</tr>
</table>
</p>
@ -109,7 +109,7 @@ td > span {
</p>
<p style="font-style: italic; font-size: 12px; margin-top: 5em;">
{{.hostname}} | load: {{.load}} | <a href="/debug/pprof">pprof</a> | <a href="/metrics">metrics</a> | ws ping: <span id="ping"></span>
{{ .System.Hostname }} | load: {{ .System.Load }} | <a href="/debug/pprof">pprof</a> | <a href="/metrics">metrics</a> | ws ping: <span id="ping"></span>
</p>
<script>
@ -288,50 +288,53 @@ window.addEventListener("load", (_) => {
});
socket.addEventListener("message", (event) => {
const data = JSON.parse(event.data);
volts.innerHTML = data.Volts;
mbar.innerHTML = data.Mbar;
failsafe.innerHTML = data.Failsafe ? "ON" : "OFF";
if (data.Failsafe) {
failsafe.style = "background-color: #f06060";
volts.innerHTML = data.Pirani.Volts;
mbar.innerHTML = data.Pirani.Mbar;
if (data.Safety.Failsafe) {
failsafe.innerHTML = "ON";
failsafe.style = "background-color: #f06060";
} else {
failsafe.style = "background-color: #60f060";
failsafe.innerHTML = "OFF";
failsafe.style = "background-color: #60f060";
}
if (data.HighPressure) {
highpressure.innerHTML = "ON";
highpressure.style = "background-color: #f06060";
if (data.Safety.HighPressure) {
highpressure.innerHTML = "ON";
highpressure.style = "background-color: #f06060";
} else {
highpressure.innerHTML = "OFF";
highpressure.style = "background-color: #60f060";
highpressure.innerHTML = "OFF";
highpressure.style = "background-color: #60f060";
}
rp.innerHTML = data.RPOn ? "ON" : "OFF";
if (data.RPOn) {
if (data.Pumps.RPOn) {
rp.innerHTML = "ON";
rp.style = "background-color: #60f060";
} else {
rp.innerHTML = "OFF";
rp.style = "background-color: #f06060";
}
dp.innerHTML = data.DPOn ? "ON" : "OFF";
if (data.DPOn) {
if (data.Pumps.DPOn) {
dp.innerHTML = "ON";
dp.style = "background-color: #60f060";
} else {
dp.innerHTML = "OFF";
dp.style = "background-color: #f06060";
}
let t = [];
if (data.RoughReached) {
if (data.Feedback.RoughReached) {
trough.innerHTML = "OK";
trough.style = "background-color: #60f060";
} else {
trough.innerHTML = "NOK";
trough.style = "background-color: #f06060";
}
if (data.HighReached) {
if (data.Feedback.HighReached) {
thigh.innerHTML = "OK";
thigh.style = "background-color: #60f060";
} else {
thigh.innerHTML = "NOK";
thigh.style = "background-color: #f06060";
}
historicalPush(data.MbarFloat);
historicalPush(data.Pirani.MbarFloat);
ping.innerHTML = Date.now();
});
socket.addEventListener("close", (event) => {