diff --git a/web/app.js b/web/app.js index da0cb11..18f64f5 100644 --- a/web/app.js +++ b/web/app.js @@ -15,7 +15,8 @@ let ws = null; let connected = false; // Live Manual-tab readouts (TempCtrl/Heater/Stirrer channels). -let plotTempIst = null; +let plotTempIst = null; +let plotTempSoll = null; let stirrerSpeedIst = 0; // Only the very first authoritative read after connecting is used to set // these particular sliders - thereafter they're purely user-controlled. @@ -339,6 +340,22 @@ function updatePotVisualization() { document.getElementById('thermo-temp-label').textContent = plotTempIst !== null ? plotTempIst.toFixed(1) + ' °C' : '--'; + // Soll temperature marker + const sollTick = document.getElementById('thermo-soll-tick'); + const sollLabel = document.getElementById('thermo-soll-label'); + if (plotTempSoll !== null) { + const sollY = (tubeBottom - Math.max(0, Math.min(100, plotTempSoll)) / 100 * tubeLen).toFixed(1); + sollTick.setAttribute('y1', sollY); + sollTick.setAttribute('y2', sollY); + sollLabel.setAttribute('y', sollY); + sollLabel.textContent = plotTempSoll.toFixed(0) + '°'; + sollTick.style.display = ''; + sollLabel.style.display = ''; + } else { + sollTick.style.display = 'none'; + sollLabel.style.display = 'none'; + } + // Water fill const waterFillEl = document.getElementById('water-fill'); const waterWaveEl = document.getElementById('water-wave'); @@ -538,12 +555,14 @@ function onTempCtrlChanged(msg) { if (key === 'Soll') { const soll = msg.Soll; if ('Temp' in soll) { + plotTempSoll = soll.Temp; document.getElementById('lcd-temp-soll').textContent = soll.Temp.toFixed(1); if (initialTempSollSync) { document.getElementById('temp-soll').value = Math.round(soll.Temp); initialTempSollSync = false; } document.getElementById('temp-soll-readout').textContent = document.getElementById('temp-soll').value; + updatePotVisualization(); } if ('Rate' in soll) { const rate = soll.Rate; diff --git a/web/index.html b/web/index.html index ebcbfcf..3f9f2bd 100644 --- a/web/index.html +++ b/web/index.html @@ -170,6 +170,12 @@ + + + + 100