Adding logging

This commit is contained in:
2026-03-17 15:50:21 -07:00
parent 592fb0c078
commit 697528c991
2 changed files with 13 additions and 6 deletions

View File

@@ -54,22 +54,25 @@ class Camera:
def _capture_loop(self) -> None:
assert self._picam is not None
# warm up — let the sensor settle
self._stop_event.wait(0.5)
logger.info("Capture loop started")
logger.info("Capture loop: starting")
while not self._stop_event.is_set():
try:
# capture raw numpy array then encode to JPEG manually
logger.info("Capture loop: attempting capture_array")
array = self._picam.capture_array("main")
logger.info(f"Capture loop: got array {array.shape}")
buffer = io.BytesIO()
img = Image.fromarray(array)
img.save(buffer, format="JPEG", quality=85)
frame = buffer.getvalue()
logger.info(f"Capture loop: encoded JPEG {len(frame)} bytes")
with self._lock:
self._frame = buffer.getvalue()
self._frame_event.set() # signal first frame is ready
self._frame = frame
self._frame_event.set()
logger.info("Capture loop: frame event set")
except Exception as e:
logger.error(f"Capture error: {e}")
logger.error(f"Capture loop ERROR: {e}", exc_info=True)
self._stop_event.wait(0.1)
def stop(self) -> None: