mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-17 10:00:46 -04:00
AAAAH
This commit is contained in:
@@ -78,7 +78,13 @@ function handleSensorEvent({ roverId, sensors, batteryState }) {
|
|||||||
state.docked = false;
|
state.docked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (docked && lockable && !record.locked) {
|
const fullThreshold =
|
||||||
|
typeof config?.Full === 'number' ? config.Full : batteryState?.full ?? null;
|
||||||
|
const isFull =
|
||||||
|
(batteryState?.charge != null && fullThreshold != null && batteryState.charge >= fullThreshold) ||
|
||||||
|
(batteryState?.percent != null && batteryState.percent >= 0.99);
|
||||||
|
|
||||||
|
if (docked && lockable && !state.batteryLocked && !isFull) {
|
||||||
logger.info('Auto-locking rover for charging', { roverId });
|
logger.info('Auto-locking rover for charging', { roverId });
|
||||||
lockRover(roverId, true, { reason: 'battery' });
|
lockRover(roverId, true, { reason: 'battery' });
|
||||||
state.batteryLocked = true;
|
state.batteryLocked = true;
|
||||||
@@ -89,14 +95,7 @@ function handleSensorEvent({ roverId, sensors, batteryState }) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const fullThreshold =
|
if (state.batteryLocked && (isFull || !docked)) {
|
||||||
typeof config?.Full === 'number' ? config.Full : batteryState?.full ?? null;
|
|
||||||
const isFull =
|
|
||||||
(batteryState?.charge != null && fullThreshold != null && batteryState.charge >= fullThreshold) ||
|
|
||||||
(batteryState?.percent != null && batteryState.percent >= 0.99);
|
|
||||||
|
|
||||||
if (record.locked && record.lockReason === 'battery') {
|
|
||||||
if (isFull || !docked) {
|
|
||||||
logger.info('Unlocking rover after charge', { roverId, isFull, docked });
|
logger.info('Unlocking rover after charge', { roverId, isFull, docked });
|
||||||
lockRover(roverId, false, { reason: 'battery' });
|
lockRover(roverId, false, { reason: 'battery' });
|
||||||
state.batteryLocked = false;
|
state.batteryLocked = false;
|
||||||
@@ -106,7 +105,6 @@ function handleSensorEvent({ roverId, sensors, batteryState }) {
|
|||||||
payload: { roverId, batteryState },
|
payload: { roverId, batteryState },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
managerEvents.on('sensor', handleSensorEvent);
|
managerEvents.on('sensor', handleSensorEvent);
|
||||||
|
|||||||
Reference in New Issue
Block a user