add firehazard.c
This commit is contained in:
+44
-15
@@ -42,13 +42,9 @@
|
||||
stroke: black;
|
||||
}
|
||||
|
||||
path.major {
|
||||
stroke-width: 2px;
|
||||
}
|
||||
|
||||
.ylabels text {
|
||||
font-size: 10px;
|
||||
text-anchor: end;
|
||||
text-anchor: start;
|
||||
font-family: Droid Sans, sans-serif;
|
||||
vertical-align: middle;
|
||||
}
|
||||
@@ -63,13 +59,13 @@
|
||||
fill: none;
|
||||
}
|
||||
</style>
|
||||
<g transform="translate(50,15)">
|
||||
<g transform="translate(10,15)">
|
||||
<path d="M100,0 v400m100,-400 v400m100,-400 v400m100,-400 v400m100,-400 v400m100,-400 v400"
|
||||
class="grid" transform="translate(0,0)" id="grid-v" />
|
||||
<path d="M0,100 h600m-600,100 h600m-600,100 h600m-600,100"
|
||||
class="grid" stroke-dashoffset="0" id="grid-h" />
|
||||
<path d="M-10,0 h10m-10,100 h10m-10,100 h10m-10,100 h10m-10,100 h10" class="ticks" />
|
||||
<path d="M-5,10
|
||||
<path d="M600,0 h10m-10,100 h10m-10,100 h10m-10,100 h10m-10,100 h10" class="ticks" />
|
||||
<path d="M600,10
|
||||
h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,20
|
||||
h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,20
|
||||
h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,10h5m-5,20
|
||||
@@ -79,7 +75,7 @@
|
||||
<path d="{ser-act}" stroke="red" id="ser-act" /><!--M0,0L300,100L600,400-->
|
||||
</g>
|
||||
<path d="M0,0h600v400h-600Z" class="frame" />
|
||||
<g class="ylabels" transform="translate(0,3)">
|
||||
<g class="ylabels" transform="translate(630,3)">
|
||||
<text x="-15" y="0">400 °C</text>
|
||||
<text x="-15" y="100">300 °C</text>
|
||||
<text x="-15" y="200">200 °C</text>
|
||||
@@ -90,13 +86,42 @@
|
||||
</svg>
|
||||
</td>
|
||||
<td id="td-side">
|
||||
Sidebar
|
||||
t<sub>sens</sub> = <span id="temp">{temp}</span>°C<br>
|
||||
|
||||
<form action="/set" method="POST">
|
||||
<h3>Oven Control</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Heater:</th>
|
||||
<td><select name="fire">
|
||||
<option value="0" {fire_dis_ck}>Disable</option>
|
||||
<option value="1" {fire_en_ck}>Enable</option>
|
||||
</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>t<sub>set</sub> =</th>
|
||||
<td><input type="number" step="1" name="tset" value="{tset}"></td>
|
||||
</tr>
|
||||
<tr><td></td><td><input type="submit" value="Set"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<form action="/set" method="POST">
|
||||
<h3>PID tuning</h3>
|
||||
<table>
|
||||
<tr><th>Kp = </th><td><input type="number" step="any" name="kp" value="{kp}"></td></tr>
|
||||
<tr><th>Ki = </th><td><input type="number" step="any" name="ki" value="{ki}"></td></tr>
|
||||
<tr><th>Kd = </th><td><input type="number" step="any" name="kd" value="{kd}"></td></tr>
|
||||
<tr><td></td><td><input type="submit" value="Set"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<script>
|
||||
var Qi = function (x) { return document.getElementById(x) };
|
||||
let Qi = function (x) { return document.getElementById(x) };
|
||||
const REFR_TIME = 1000;
|
||||
function update(data) {
|
||||
if (data) {
|
||||
let rows = data.split('\x1e');
|
||||
@@ -113,25 +138,29 @@ function update(data) {
|
||||
Qi('grid-v').setAttribute('transform', 'translate(-'+(va*5)+',0)');
|
||||
Qi('grid-h').setAttribute('stroke-dashoffset', -va * 5);
|
||||
break;
|
||||
case 'temp':
|
||||
Qi('temp').innerHTML = va;
|
||||
break;
|
||||
// form fields are not live updated.
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var xhr=new XMLHttpRequest();
|
||||
let xhr=new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState===4){
|
||||
if (xhr.status===200) {
|
||||
update(xhr.responseText);
|
||||
}
|
||||
setTimeout(update, 500);
|
||||
setTimeout(update, REFR_TIME);
|
||||
}
|
||||
};
|
||||
xhr.onerror = function () {
|
||||
setTimeout(update, 500);
|
||||
setTimeout(update, REFR_TIME);
|
||||
};
|
||||
xhr.open('GET', '/data');
|
||||
xhr.send();
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(update, 500);
|
||||
setTimeout(update, REFR_TIME);
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user