.fan-mode display: flex; justify-content: space-between; gap: 14px; margin-top: 18px;
h1 small font-size: 0.75rem; background: #1e2a3e; padding: 4px 10px; border-radius: 60px; color: #7dd3fc; font-weight: 400; background-clip: unset; -webkit-background-clip: unset; color: #7dd3fc;
.temp-critical color: #ff8a7a; text-shadow: 0 0 6px #ff4d4d80; cpu cooling master register code free
.mode-btn.active background: #2dd4bf; color: #0a0f1e; box-shadow: 0 0 10px #2dd4bf;
// extra random event simulation: sometimes synthetic load spike setInterval(() => if (Math.random() < 0.12) let spike = Math.floor(Math.random() * 28) + 12; addLogEntry(`๐ synthetic workload injection +$spike% load (background)`); // we can simulate temp jump through small hack: increase currentTemp manually by small spike currentTemp = Math.min(96, currentTemp + spike * 0.22); currentLoad = Math.min(98, currentLoad + spike*0.3); , 8700); .fan-mode display: flex
<script> // -------------------- SIMULATED CPU THERMAL ENGINE -------------------- let baseTemp = 42; // base temperature let currentTemp = 45; let currentLoad = 32; let currentFanPercent = 45; // 0-100 let currentRPM = 1240;
// auto-adjust fan based on active mode (dynamic control) function applySmartFanControl() let targetPercent = currentFanPercent; if (activeMode === "silent") // silent: keep low, but still respond above 70C if (currentTemp < 62) targetPercent = 28; else if (currentTemp < 78) targetPercent = 42 + (currentTemp-62)*1.2; else targetPercent = 68; targetPercent = Math.min(75, targetPercent); else if (activeMode === "balanced") if (currentTemp < 55) targetPercent = 38; else if (currentTemp < 75) targetPercent = 45 + (currentTemp-55)*1.5; else targetPercent = 82; targetPercent = Math.min(92, targetPercent); else if (activeMode === "performance") if (currentTemp < 58) targetPercent = 55; else if (currentTemp < 80) targetPercent = 65 + (currentTemp-58)*1.2; else targetPercent = 94; targetPercent = Math.min(99, targetPercent); else if (activeMode === "full") targetPercent = 100; targetPercent = Math.min(100, Math.max(0, Math.floor(targetPercent))); if (Math.abs(targetPercent - currentFanPercent) > 2) setFanSpeed(targetPercent); // register cooling adjustment event (important for master log) addLogEntry(`๐ fan profile [$activeMode.toUpperCase()] โ $targetPercent% PWM ยท $currentRPM RPM`); else // just sync slider just in case if(fanSlider.value != currentFanPercent) fanSlider.value = currentFanPercent; h1 small font-size: 0.75rem
// DOM elements const cpuTempSpan = document.getElementById('cpuTempValue'); const thermalLoadSpan = document.getElementById('thermalLoadValue'); const fanSlider = document.getElementById('fanSlider'); const fanRpmDisplay = document.getElementById('fanRpmDisplay'); const logListDiv = document.getElementById('logList'); const clearLogBtn = document.getElementById('clearLogBtn'); const modeBtns = document.querySelectorAll('.mode-btn');