fix(devices): use real camera_id, disable auto live-mode, pin pygobject

Update the placeholder camera_id in allied_vision_test.yaml/bl_detectors.yaml
to the Aravis device ID discovered on the actual Alvium G1-507m hardware,
and set live_mode back to False (explicit, not deleted) so the camera stays
idle until start_live_mode() is called -- matching every real IDS camera
config, instead of auto-starting its live-mode polling thread as soon as
the device connects.

Pin pygobject<3.52 in pyproject.toml: 3.52+ requires girepository-2.0
(GLib >=2.80/gobject-introspection >=1.80), which this RHEL9 host's system
packages don't provide (only the older girepository-1.0 via
gobject-introspection 1.68) -- unpinned pip install fails at build time.
Document both the camera_id lookup and the pin in the README.
This commit is contained in:
x01dc
2026-07-28 10:16:18 +02:00
parent bb643cac4e
commit a96d24a3cc
4 changed files with 16 additions and 6 deletions
@@ -37,8 +37,8 @@ allied_vision_cam:
description: AlliedVision Alvium G1-507m camera for live image acquisition (native Aravis/GigE Vision, no EPICS IOC)
deviceClass: csaxs_bec.devices.allied_vision_cameras.AlliedVisionAravisCamera
deviceConfig:
camera_id: "Allied Vision Technologies-50-0536885929" # Aravis device ID; resolved via discovery, independent of current IP
live_mode: True
camera_id: "Allied Vision-Alvium G1-507m-06J41" # Aravis device ID; resolved via discovery, independent of current IP
live_mode: False
onFailure: raise
enabled: true
readoutPriority: async
+1 -1
View File
@@ -37,7 +37,7 @@ eiger_1_5:
# description: AlliedVision Alvium G1-507m camera for live image acquisition (native Aravis/GigE Vision, no EPICS IOC)
# deviceClass: csaxs_bec.devices.allied_vision_cameras.AlliedVisionAravisCamera
# deviceConfig:
# camera_id: "Allied Vision Technologies-50-0536885929" # Aravis device ID; resolved via discovery, independent of current IP
# camera_id: "Allied Vision-Alvium G1-507m-06J41" # Aravis device ID; resolved via discovery, independent of current IP
# live_mode: True
# onFailure: raise
# enabled: true
@@ -29,8 +29,13 @@ needed).
environment, same as the IDS camera tests run without `pyueye`.
- **Talking to real hardware** — two things, both local to the machine running the device
server (or wherever you instantiate `AlliedVisionAravisCamera`/`Camera` directly):
1. **PyGObject** (`pygobject`, the `gi` module) — already listed in `pyproject.toml`.
It's the GObject Introspection bridge, not Aravis itself.
1. **PyGObject** (`pygobject`, the `gi` module) — already listed in `pyproject.toml`,
pinned to `<3.52`. It's the GObject Introspection bridge, not Aravis itself. The pin
matters: PyGObject 3.52+ requires `girepository-2.0` (GLib >=2.80 /
gobject-introspection >=1.80), which RHEL9's system packages don't provide (only the
older `girepository-1.0` via `gobject-introspection` 1.68) — `pip install pygobject`
unpinned fails at build time with `Dependency 'girepository-2.0' is required but not
found`. Unpin once deployment hosts move to a newer GLib/gobject-introspection.
2. **Aravis** — a native C library with a GObject Introspection typelib. It is *not* a
pip package; it comes from the system package manager (or building from source), same
class of local, non-pip dependency as the Vimba X SDK would have been, or the DLLs
+6 -1
View File
@@ -22,7 +22,12 @@ dependencies = [
"rich",
"pyepics",
"pyueye", # for the IDS uEye camera
"pygobject", # for the AlliedVision Alvium camera (native Aravis/GenICam, no EPICS IOC)
"pygobject<3.52", # for the AlliedVision Alvium camera (native Aravis/GenICam, no EPICS IOC)
# pinned below 3.52: that version switched to requiring
# girepository-2.0 (GLib >=2.80/gobject-introspection >=1.80),
# which RHEL9's system packages don't provide (only the older
# girepository-1.0 via gobject-introspection 1.68) -- unpin once
# deployment hosts are upgraded past that.
"bec_widgets",
"zmq",
"opencv-python",