# 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)). ## Helios: no output-power query `docs/hardware/HELIOS_DRIVER_README.md` documents `driver.get_power_mw()`, but `HeliosLaser` has no such method and no output-power mnemonic appears anywhere in this repo's protocol notes. `helios_test_app.py` called it anyway and raised `AttributeError` into a popup; the button is now disabled and the handler reports the gap instead. **Bench check:** find the power-read command in the Helios manual (the other reads are three-letter mnemonics like `LDO`, `LDS`, `LTA`). If one exists, add `get_power_mw()` to `hardware/helios_laser.py` using `_query_int`, then re-enable the button. If it doesn't, delete the Power Monitoring group from the test app and fix the README. ## 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.