Initialisation depot

This commit is contained in:
2025-11-30 09:58:00 +01:00
commit 56d8cd96c8
28 changed files with 3154 additions and 0 deletions

124
data/index.html Normal file
View File

@@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Locomotive Test Bench</title>
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/style.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h1 class="text-center mb-4">🚂 Locomotive Test Bench</h1>
<!-- Status Section -->
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">Status</h5>
<p><span class="status-indicator" id="statusIndicator"></span>
<span id="statusText">Connecting...</span></p>
<p class="mb-0"><small>IP: <span id="ipAddress">-</span></small></p>
</div>
</div>
<!-- Control Mode Section -->
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">Control Mode</h5>
<div class="btn-group w-100" role="group">
<input type="radio" class="btn-check" name="mode" id="modeAnalog" value="analog" autocomplete="off">
<label class="btn btn-outline-primary" for="modeAnalog">DC Analog</label>
<input type="radio" class="btn-check" name="mode" id="modeDCC" value="dcc" autocomplete="off">
<label class="btn btn-outline-primary" for="modeDCC">DCC Digital</label>
</div>
</div>
</div>
<!-- DCC Address Section -->
<div class="card mb-3" id="dccSection" style="display: none;">
<div class="card-body">
<h5 class="card-title">DCC Configuration</h5>
<div class="row">
<div class="col-md-8">
<label for="dccAddress" class="form-label">Locomotive Address</label>
<input type="number" class="form-control" id="dccAddress" min="1" max="10239" value="3">
</div>
<div class="col-md-4">
<label class="form-label">&nbsp;</label>
<button class="btn btn-primary w-100" onclick="setDCCAddress()">Set</button>
</div>
</div>
</div>
</div>
<!-- Speed Control Section -->
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">Speed Control
<span class="direction-indicator" id="directionIndicator"></span>
</h5>
<div class="speed-value" id="speedValue">0%</div>
<input type="range" class="form-range" id="speedSlider" min="0" max="100" value="0">
<div class="d-flex justify-content-between mt-3">
<button class="btn btn-danger" onclick="emergencyStop()">⏹ STOP</button>
<button class="btn btn-secondary" onclick="reverseDirection()">🔄 Reverse</button>
</div>
</div>
</div>
<!-- DCC Functions Section -->
<div class="card mb-3" id="functionsSection" style="display: none;">
<div class="card-body">
<h5 class="card-title">DCC Functions</h5>
<div id="functionButtons" class="d-flex flex-wrap">
<!-- Function buttons will be generated dynamically -->
</div>
</div>
</div>
<!-- WiFi Configuration Section -->
<div class="card">
<div class="card-body">
<h5 class="card-title">WiFi Configuration</h5>
<button class="btn btn-info w-100 mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#wifiConfig">
Show WiFi Settings
</button>
<div class="collapse" id="wifiConfig">
<div class="mb-3">
<label class="form-label">WiFi Mode</label>
<select class="form-select" id="wifiMode">
<option value="ap">Access Point</option>
<option value="client">Client (Connect to Network)</option>
</select>
</div>
<div id="apSettings">
<div class="mb-3">
<label for="apSSID" class="form-label">AP SSID</label>
<input type="text" class="form-control" id="apSSID" value="LocoTestBench">
</div>
<div class="mb-3">
<label for="apPassword" class="form-label">AP Password</label>
<input type="password" class="form-control" id="apPassword" value="12345678">
</div>
</div>
<div id="clientSettings" style="display: none;">
<div class="mb-3">
<label for="wifiSSID" class="form-label">Network SSID</label>
<input type="text" class="form-control" id="wifiSSID">
</div>
<div class="mb-3">
<label for="wifiPassword" class="form-label">Network Password</label>
<input type="password" class="form-control" id="wifiPassword">
</div>
</div>
<button class="btn btn-warning w-100" onclick="saveWiFiSettings()">Save & Restart</button>
</div>
</div>
</div>
</div>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/app.js"></script>
</body>
</html>