return 'N';
}
+// Return current time stamp in seconds:
+function tnow() {
+ return Math.floor(Date.now() / 1000);
+}
+
+// Timestamp of last activity, used for NoSleep timeout:
+var last_active = tnow();
+
// Used to calculate current fuel consumption:
var last_fuel = -1;
var last_odometer = -1;
//// pause and error bar status:
if ( !(tele.tele_flags & 1) ) { // TELE_FLAG_ALIVE
- disableNoSleep();
+ if ( tnow() - last_active > 300 ) // 5 minutes NoSleep timeout
+ disableNoSleep();
pausebar.style.display = "none";
errbar.style.display = "block";
errbar.innerHTML = "Game offline";
}
if ( tele.paused ) {
- disableNoSleep();
+ if ( tnow() - last_active > 600 ) // 10 minutes NoSleep timeout
+ disableNoSleep();
pausebar.style.display = "block";
}
- else
+ else {
+ last_active = tnow();
pausebar.style.display = "none";
+ }
//// "speedo" box
//// "range" box
// fuel amount:
- fuel.innerHTML = tele.fuel.toFixed(0);
+ fuel.innerHTML = (tele.fuel - 0.5).toFixed(0);
warn( fuel, tele.fuel_warn ? 1 : 0 );
// estimated range remaining:
- fuel_range.innerHTML = tele.fuel_range.toFixed(0);
+ fuel_range.innerHTML = (tele.fuel_range - 0.5).toFixed(0);
// current fuel consumption:
if ( last_fuel != tele.fuel && last_odometer != tele.odometer ) {
noSleep.enable();
nsbar.innerHTML = "NoSleep enabled.";
nsbar.classList.add("nosleepon");
+ last_active = tnow();
},
false
);