Files

108 lines
3.4 KiB
HTML
Executable File

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Dual Camera Stream (HTTPS + WSS)</title>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<script src="WebSocket.js" defer></script>
<script src="buttonCmd.js" defer></script>
<script src="GamePad.js" defer></script>
<script src="KeyboardInput.js" defer></script>
<link rel="stylesheet" href="indexA.css">
</head>
<body>
<h1>Robot Control</h1>
<div class="grid">
<!-- Camera 0 -->
<section class="panel">
<h2>Camera 0</h2>
<div class="video-wrap">
<canvas id="canvas0" width="1280" height="960"></canvas>
<img id="overlayImg"/>
</div>
<div id="status0" class="status">Connecting…</div>
</section>
<!-- Camera 1 -->
<section class="panel">
<h2>Camera 1</h2>
<div class="video-wrap">
<canvas id="canvas1" width="1280" height="960"></canvas>
<img id="overlayImg1"/>
</div>
<div id="status1" class="status">Connecting…</div>
</section>
<section class="panel">
<div class="controls">
<div style="display:flex; gap:0.5rem; align-items:end;">
<button id="snap0">Snapshot</button>
</div>
</div>
<div id="snapshotLink" class="status"></div>
<div id="csvTable" class="status"></div>
</section>
<section class="panel">
<div id="divButtons">
<h3>Controls</h3>
<button id="b_uparrow">Up</button>
<button id="b_downarw">Down</button>
</br/>
<button id="b_right">Right</button>
<button id="b_left">Left</button>
<br/>
<button id="b_forward">Forward</button>
<button id="b_backward">Backward</button>
<br/>
<button id="b_M114">Info</button>
<button id="b_G28">Null</button>
<button id="b_default">△ Default</button>
<br/>
<br/>
<button id="b_aPlus" >a+</button>
<button id="b_aMinus">a-</button>
<br/>
<button id="b_bPlus" >B+</button>
<button id="b_bMinus">B-</button>
<br/>
<button id="b_cPlus" >C+</button>
<button id="b_cMinus">C-</button>
<br/>
<button id="b_ePlus" >E+</button>
<button id="b_eMinus">E-</button>
</div>
<div id="divGCodeWindow">
<div id="GCode">
<form onsubmit="return false;"><input id="GKarth"/><button id="btnSendGCode" type="button">Send GCode</button></form>
<br/>
</div>
<button id="btnListFile" type="button">ListFile</button>
<br/>
<textarea id="GCodeWindow" class="editor-look" readonly>
</textarea>
<br/>
<button id="btnPoint">🗙 Point</button>
<button id="btnDown"></button>
<button id="btnUp"></button>
</div>
</section>
</div>
<!-- External scripts only (CSP-safe, no inline JS) -->
<script src="/readCSV.js" defer></script>
<script src="/videoService.js" defer></script>
<script src="/app.js" defer></script>
</body>
</html>