succd: implement rp/dp/vent/pumpdown control

This commit is contained in:
Serge Bazanski 2024-09-25 23:28:57 +02:00
parent d01263fead
commit 070f45b1bc
5 changed files with 298 additions and 5 deletions

View file

@ -29,12 +29,17 @@ h2 {
font-style: italic;
font-weight: 100;
}
button {
height: 4.5em;
padding-left: 1.5em;
padding-right: 1.5em;
}
</style>
<h1>succd</h1>
<h2>nothing more permanent than a temporary solution</h2>
<p style="margin-top: 5em;">
<p style="margin-top: 2em;">
<table>
<tr>
<th>Voltage</th>
@ -44,6 +49,25 @@ h2 {
<th>Pressure</th>
<td id="mbar">{{.mbar}}</td>
</tr>
<tr>
<th>Roughing Pump</th>
<td id="rp">{{ if .rp }}ON{{ else }}OFF{{ end }}</td>
</tr>
<tr>
<th>Diffusion Pump</th>
<td id="dp">{{ if .dp }}ON{{ else }}OFF{{ end }}</td>
</tr>
<tr>
<th>Evac Control</th>
<td>
<button id="pd">Pump Down</button>
<button id="vent">Vent</button>
<button id="rpon">RP On</button>
<button id="rpoff">RP Off</button>
<button id="dpon">DP On</button>
<button id="dpoff">DP Off</button>
</td>
</tr>
<tr>
<th>Status</th>
<td id="status">OK</td>
@ -197,6 +221,12 @@ window.addEventListener("load", (_) => {
let volts = document.querySelector("#volts");
let mbar = document.querySelector("#mbar");
let ping = document.querySelector("#ping");
// Buttons
let pd = document.querySelector("#pd");
let vent = document.querySelector("#vent");
let rpon = document.querySelector("#rpon");
let rpoff = document.querySelector("#rpoff");
canvas = document.querySelector("#graph").getContext("2d");
// TODO(q3k): unhardcode this.
@ -226,6 +256,18 @@ window.addEventListener("load", (_) => {
const data = JSON.parse(event.data);
volts.innerHTML = data.Volts;
mbar.innerHTML = data.Mbar;
rp.innerHTML = data.RPOn ? "ON" : "OFF";
if (data.RPOn) {
rp.style = "background-color: #60f060";
} else {
rp.style = "background-color: #f06060";
}
dp.innerHTML = data.DPOn ? "ON" : "OFF";
if (data.DPOn) {
dp.style = "background-color: #60f060";
} else {
dp.style = "background-color: #f06060";
}
historicalPush(data.MbarFloat);
ping.innerHTML = Date.now();
});
@ -243,5 +285,24 @@ window.addEventListener("load", (_) => {
});
};
connect();
pd.addEventListener("click", async (event) => {
await fetch("/button/pumpdown");
});
vent.addEventListener("click", async (event) => {
await fetch("/button/vent");
});
rpon.addEventListener("click", async (event) => {
await fetch("/rp/on");
});
rpoff.addEventListener("click", async (event) => {
await fetch("/rp/off");
});
dpon.addEventListener("click", async (event) => {
await fetch("/dp/on");
});
dpoff.addEventListener("click", async (event) => {
await fetch("/dp/off");
});
});
</script>