115 lines
6.4 KiB
HTML
115 lines
6.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description" content="Open Battery Information - OBI-1: read Makita LXT battery packs through an Arduino over Web Serial.">
|
|
<title>OBI-1 · Open Battery Information</title>
|
|
<link rel="stylesheet" href="css/style.css">
|
|
<link rel="stylesheet" href="css/tool.css">
|
|
<script src="js/theme.js"></script>
|
|
<script src="js/reveal.js" defer></script>
|
|
</head>
|
|
<body>
|
|
<nav class="navbar">
|
|
<a class="brand" href="index.html">Open Battery <span class="accent">Information</span></a>
|
|
<button id="nav-toggle" class="nav-toggle" type="button" aria-label="Open navigation menu" aria-expanded="false">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
|
|
</button>
|
|
<div class="nav-links">
|
|
<a href="index.html">Home</a>
|
|
<a href="setup.html">Get started</a>
|
|
<a href="firmware/uploader.html">Flash firmware</a>
|
|
<a href="obi.html" class="active">OBI-1</a>
|
|
<a href="download.html">Download</a>
|
|
<a class="nav-icon" href="https://github.com/OpenBatteryInformation/openbatteryinformation.github.io" target="_blank" rel="noopener" aria-label="View source on GitHub"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a>
|
|
<button id="theme-toggle" class="theme-toggle" type="button" aria-label="Switch to light mode">
|
|
<svg class="icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"/></svg>
|
|
<svg class="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
|
|
</button>
|
|
</div>
|
|
</nav>
|
|
|
|
<div class="tool-wrap">
|
|
<header class="tool-header">
|
|
<h1>OBI-1</h1>
|
|
<p class="subtitle">Diagnose your Makita LXT battery pack in three steps.</p>
|
|
</header>
|
|
|
|
<div class="stepper">
|
|
<div class="step-item active" id="step-1"><span class="step-dot">1</span><span class="step-label">Connect</span></div>
|
|
<div class="step-connector"></div>
|
|
<div class="step-item" id="step-2"><span class="step-dot">2</span><span class="step-label">Read battery</span></div>
|
|
<div class="step-connector"></div>
|
|
<div class="step-item" id="step-3"><span class="step-dot">3</span><span class="step-label">Results</span></div>
|
|
</div>
|
|
|
|
<div class="wizard-card">
|
|
<div class="wizard-settings">
|
|
<div class="field">
|
|
<label for="module-select">Battery module</label>
|
|
<select id="module-select"></select>
|
|
</div>
|
|
<div class="field">
|
|
<label for="interface-select">Interface</label>
|
|
<div class="field-row">
|
|
<select id="interface-select"></select>
|
|
<span class="hint" id="interface-version">Firmware version: -</span>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label class="checkbox" for="reset-check">
|
|
<input type="checkbox" id="reset-check" checked> Reset board on connect
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<section class="wizard-panel active" id="panel-connect">
|
|
<h2>Connect the Arduino</h2>
|
|
<p class="panel-desc">Plug the Arduino into USB (the OBI firmware must already be flashed), then click Connect.</p>
|
|
<div class="warning" id="serial-warning" hidden>
|
|
<h3>Web Serial not supported</h3>
|
|
<p>This browser can't access the serial port, so the browser version of OBI-1 can't connect to the Arduino.
|
|
Use the <a href="download.html">desktop app</a> instead — it has native serial access and needs no browser setup.</p>
|
|
</div>
|
|
<div class="iface-status">
|
|
<button id="connect-btn" class="primary">Connect</button>
|
|
<span id="iface-state" class="badge">Not connected</span>
|
|
</div>
|
|
<div id="iface-widget"></div>
|
|
</section>
|
|
|
|
<section class="wizard-panel" id="panel-read">
|
|
<div class="read-step">
|
|
<div class="read-illustration"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="16" height="10" x="2" y="7" rx="2" ry="2"/><line x1="22" x2="22" y1="11" y2="13"/></svg></div>
|
|
<h2>Insert the battery</h2>
|
|
<p class="panel-desc">Place a battery in the holder so it makes contact with the interface pins.</p>
|
|
<button id="read-btn" class="primary btn-lg" disabled>Read battery</button>
|
|
<p class="read-hint" id="read-hint">
|
|
Reads the model, cell voltages, temperatures, charge count and status in one go.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="wizard-panel" id="panel-results">
|
|
<div class="results-toolbar">
|
|
<span class="summary" id="results-summary">No results yet.</span>
|
|
<button id="read-again-btn">Read again</button>
|
|
</div>
|
|
<div id="module-content"></div>
|
|
</section>
|
|
</div>
|
|
|
|
<details class="debug-drawer">
|
|
<summary>Debug log</summary>
|
|
<div id="debug-text"></div>
|
|
</details>
|
|
</div>
|
|
|
|
<script src="js/common.js"></script>
|
|
<script src="js/modules/makita_lxt.js"></script>
|
|
<script src="js/interfaces/arduino_obi.js"></script>
|
|
<script src="js/obi.js"></script>
|
|
</body>
|
|
</html>
|