battery manager fix and stop rovers when we should

This commit is contained in:
legop3
2025-12-24 16:58:06 -05:00
parent 195ecb7d61
commit 0b564c7ee7
2 changed files with 4 additions and 1 deletions
+2 -1
View File
@@ -147,7 +147,8 @@ function handleSensorEvent({ roverId, sensors, batteryState }) {
}); });
} }
const waitingHalfOrMore = waitingPercent != null && waitingPercent >= 0.5; // const waitingHalfOrMore = waitingPercent != null && waitingPercent >= 0.5;
const waitingHalfOrMore = true;
const shouldUnlock = state.batteryLocked && waitingLongEnough && waitingHalfOrMore; const shouldUnlock = state.batteryLocked && waitingLongEnough && waitingHalfOrMore;
if (shouldUnlock) { if (shouldUnlock) {
+2
View File
@@ -39,6 +39,7 @@ function driverRemoved(roverId, socketId) {
} }
idleDisarmed.delete(roverId); idleDisarmed.delete(roverId);
if (queue.current === socketId) { if (queue.current === socketId) {
stopRover(roverId);
advanceTurn(roverId); advanceTurn(roverId);
} else { } else {
scheduleIdleTimer(roverId); scheduleIdleTimer(roverId);
@@ -177,6 +178,7 @@ function advanceTurn(roverId) {
const queue = driverQueues.get(roverId); const queue = driverQueues.get(roverId);
if (!queue) return; if (!queue) return;
if (queue.queue.length === 0) { if (queue.queue.length === 0) {
stopRover(roverId);
clearTimeout(queue.timer); clearTimeout(queue.timer);
setActiveDriver(roverId, null); setActiveDriver(roverId, null);
turnDeadlines.delete(roverId); turnDeadlines.delete(roverId);