therminator/data/index.html

142 lines
4.9 KiB
HTML

<!DOCTYPE html>
<html>
<meta charset="UTF-8" />
<head>
<title>therminator</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<div id="lightbox">
<div id="credits">
<span id="closebtn" onclick="hideCredits()">[X]</span>
<img src="favicon.ico" />
<h1>/* therminator */</h1>
<h3>a modular ESP8266/ESP32+MAX31855 logging thermometer</h3>
<br />
<p>
licensed under the MIT license copyright (c) 2023
<a href="https://huskee.gay">huskee</a>
</p>
<br />
<p>
huge thanks to azisi from
<a href="https://hackerspace.gr">hackerspace.gr</a> for the idea ❤️
</p>
</div>
</div>
<h1 style="user-select: none" onclick="showCredits()">/* therminator */</h1>
<p>last sensor update: <span id="time"></span></p>
<div id="du">
<p>current data update interval (ms): <span id="updInt"></span></p>
<p>
set data update interval (ms):
<select id="upd" onchange="setUpdateInterval();">
<option>100</option>
<option>200</option>
<option selected>500</option>
<option>1000</option>
<option>2000</option>
<option>5000</option>
<option>10000</option>
</select>
</p>
</div>
<div id="cu">
<p>current chart update interval (ms): <span id="cupdInt"></span></p>
<p>
set chart update interval (ms):
<select id="chartUpd" onchange="location.reload()">
<option>200</option>
<option>500</option>
<option selected>1000</option>
<option>2000</option>
<option>5000</option>
</select>
</p>
</div>
<br />
<div id="record">
<button id="startRec" onclick="startRecording()">Start recording</button>
<button id="stopRec" onclick="stopRecording()">Stop recording</button>
<span id="recInfo"
><svg class="blinking" width="20px" height="20px">
<circle cx="10" cy="10" r="7" fill="red" />
Sorry, your browser does not support inline SVG.
</svg>
<p>Recording CSV data to <span id="filename"></span></p></span
><span id="timeLeft">Time left: <span id="timeLeftCtr"></span></span>
</div>
<div id="timedCheck">
<input type="checkbox" id="timedRec" /><label for="timedRec"
>Timed recording</label
>
</div>
<span id="timedSettings">
<label for="timer">Stop recording after (min): </label
><input type="text" id="timer" />
</span>
<table>
<tr>
<td class="chart-container">
<h2>Channel A <span id="error-tempA"></span></h2>
<label for="labelA">label: </label
><input type="text" value="tempA" id="labelA" />
<canvas id="chartA"></canvas>
</td>
<td class="chart-container">
<h2>Channel B <span id="error-tempB"></span></h2>
<label for="labelB">label: </label
><input type="text" value="tempB" id="labelB" />
<canvas id="chartB"></canvas>
</td>
</tr>
<tr>
<td class="chart-container">
<h2>Channel C <span id="error-tempC"></span></h2>
<label for="labelC">label: </label
><input type="text" value="tempC" id="labelC" />
<canvas id="chartC"></canvas>
</td>
<td class="chart-container">
<h2>Channel D <span id="error-tempD"></span></h2>
<label for="labelD">label: </label
><input type="text" value="tempD" id="labelD" />
<canvas id="chartD"></canvas>
</td>
</tr>
<tr>
<td class="chart-container">
<h2>Channel E <span id="error-tempE"></span></h2>
<label for="labelE">label: </label
><input type="text" value="tempE" id="labelE" />
<canvas id="chartE"></canvas>
</td>
<td class="chart-container">
<h2>Channel F <span id="error-tempF"></span></h2>
<label for="labelF">label: </label
><input type="text" value="tempF" id="labelF" />
<canvas id="chartF"></canvas>
</td>
</tr>
<tr id="chanGH">
<td class="chart-container">
<h2>Channel G <span id="error-tempG"></span></h2>
<label for="labelG">label: </label
><input type="text" value="tempG" id="labelG" />
<canvas id="chartG"></canvas>
</td>
<td class="chart-container">
<h2>Channel H <span id="error-tempH"></span></h2>
<label for="labelH">label: </label
><input type="text" value="tempH" id="labelH" />
<canvas id="chartH"></canvas>
</td>
</tr>
</table>
<script src="script.js"></script>
</body>
</html>