Initialisation depot
This commit is contained in:
124
ESP32/DCC-Bench/data/index.html
Normal file
124
ESP32/DCC-Bench/data/index.html
Normal 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"> </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>
|
||||
Reference in New Issue
Block a user