# Known issues requiring on-rig verification Questions that cannot be answered from the code alone. Check these the next time the hardware is available; each one gates a small code change. ## uC480 camera: gain/exposure during active capture The driver used to carry an (unused) `_capture_paused` context manager whose docstring claimed many IDS cameras return `IS_CANT_COMMUNICATE_WITH_DRIVER` (17) or `IS_NO_SUCCESS` (-1) when gain/exposure commands are issued during active capture. `set_exposure()` and `set_gain()` never used it, and the helper was deleted in the Phase-1 cleanup. **Bench check:** with live streaming running, move the exposure and gain sliders in `camera_test_app.py` and watch the log for those error codes. If they appear, the setters need a stop-live/apply/restart sequence (re-create the helper around the two call sites in [uc480_camera.py](hardware/uc480_camera.py)). ## Genesis laser: forked protocol implementations disagree `hardware/genesis_core.py` and the reference implementation `tools/genesis_laser_gui.py` disagree on ADC command bytes, LDD enable polarity, shutter semantics, filtering, and scaling. Do not modify either until the checklist in [docs/genesis_verification.md](docs/genesis_verification.md) has been run on the bench. ## `lib/ueye_loader.so` — still needed? `lib/ueye_loader.c` is an `LD_PRELOAD` shim that dlopens `/usr/lib/libueye_api.so` — yet nothing in the repo references it, and the vendored SDK copy is `lib/libueye_api64.so.3.82` (a different file). On the rig, check whether the camera apps run without the shim; if they do, delete `lib/ueye_loader.{c,so}`. Either way, record in SETUP.md where `libueye_api64.so.3.82` came from (IDS SDK version) and how the loader is meant to be used.