molecule
BQ25792 Charger
Public Made by Adomby adom
Buck-boost 1S-4S battery charger board (TI BQ25792) with 14 Adom machine pins, by Adonis
← Commit history
slider pauses the animation (Play/Pause toggle); auto-resume only after 2 minutes idle
3 files changed
+20−9
package.json+1−1@@ -2,7 +2,7 @@ "slug": "bq25792-charger", "title": "BQ25792 Charger", "type": "component",- "version": "0.1.36",+ "version": "0.1.37", "description": "BQ25792 Charger - buck-boost 1S-4S battery charger board by Adonis, with real 3D copper traces and measured stackup.", "tags": [ "hardware"
page.json+10−3@@ -4,9 +4,16 @@ "slug": "bq25792-charger", "title": "BQ25792 Charger", "brief": "Buck-boost 1S-4S battery charger board (TI BQ25792) with 14 Adom machine pins, by Adonis",- "version": "0.1.36",+ "version": "0.1.37", "tags": [- "hardware"+ "adom",+ "adom-modular",+ "component",+ "charger",+ "battery",+ "bq25792",+ "power",+ "usb-c" ], "license": "proprietary", "component": {@@ -49,7 +56,7 @@ "email": "[email protected]" }, "visibility": "public",- "description": "BQ25792 Charger - buck-boost 1S-4S battery charger board by Adonis, with real 3D copper traces and measured stackup.",+ "description": "BQ25792 Charger - a buck-boost 1S-4S battery charger board (Texas Instruments BQ25792) designed by Adonis in Fusion 360, with 14 Adom machine pins for the modular stack. Interactive colored 3D model, schematic and layout views.", "dependencies": {}, "files": [ "README.md",
readme.html+9−5@@ -55,9 +55,9 @@ #lp-order { margin-top:5px; font-size:11px; color:#3fb950; } #lp-order.bad { color:#f85149; font-weight:600; } #scrub-wrap { position:absolute; left:50%; transform:translateX(-50%); bottom:12px; z-index:30;- width:46%; background:rgba(13,17,23,0.55); backdrop-filter:blur(8px);+ width:46%; display:flex; align-items:center; gap:8px; background:rgba(13,17,23,0.55); backdrop-filter:blur(8px); border:1px solid rgba(48,54,61,0.8); border-radius:10px; padding:7px 12px; }- #scrub { width:100%; accent-color:#00b8b1; }+ #scrub { flex:1; accent-color:#00b8b1; } .grip { cursor:grab; color:#6e7681; font-weight:700; letter-spacing:1px; padding:0 6px 0 2px; user-select:none; } .grip:active { cursor:grabbing; } </style>@@ -73,7 +73,7 @@ <button class="fbtn" id="btn-fs" type="button" title="Fullscreen">Fullscreen</button> </div> <div id="layers-panel"><div class="lp-title"><span class="grip" title="drag">::</span> Layers</div><div id="lp-rows"></div><div id="lp-order">order: -</div></div>- <div id="scrub-wrap"><input id="scrub" type="range" min="0" max="1000" value="0"></div>+ <div id="scrub-wrap"><button id="btn-play" class="fbtn" type="button" title="Play/pause">Pause</button><input id="scrub" type="range" min="0" max="1000" value="0"></div> <span id="vstatus">starting viewer...</span> </div> </div>@@ -390,11 +390,15 @@ exported bodies + design rules.</p> if(document.fullscreenElement){ document.exitFullscreen(); return; } (card.requestFullscreen?card.requestFullscreen():Promise.reject()).catch?.(function(){ set("fullscreen blocked in the embed - open the readme URL directly"); }); });+ const btnPlay=document.getElementById("btn-play");+ function play(){ mode="anim"; dir=(u>=1)?-1:1; holdT=0; setBtns(btnAnim); set("animating"); btnPlay.textContent="Pause"; if(resumeTimer){clearTimeout(resumeTimer);resumeTimer=null;} }+ function pause(){ mode="manual"; setBtns(null); set("paused"); btnPlay.textContent="Play"; }+ btnPlay.addEventListener("click",function(){ if(mode==="anim") pause(); else play(); }); scrub.addEventListener("input",function(){- mode="manual"; setBtns(null); set("scrubbing");+ pause(); set("scrubbing"); u=Number(scrub.value)/1000; apply(u); if(resumeTimer) clearTimeout(resumeTimer);- resumeTimer=setTimeout(function(){ mode="anim"; dir=(u>=1)?-1:1; holdT=0; setBtns(btnAnim); set("animating"); },5000);+ resumeTimer=setTimeout(play, 120000); // auto-resume after 2 minutes idle }); // draggable floaties (drag by the :: grip)