Adding logging
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user