Skip to content

Commit

Permalink
Merge pull request #50 from epics-containers/genicam-auto
Browse files Browse the repository at this point in the history
Genicam auto
  • Loading branch information
gilesknap authored Jul 10, 2024
2 parents b2d58a5 + e40f5b5 commit b3be905
Show file tree
Hide file tree
Showing 5 changed files with 1,010 additions and 4,734 deletions.
106 changes: 58 additions & 48 deletions ADAravis/ADAravis.ibek.support.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,13 @@ module: ADAravis
entity_models:
- name: aravisCamera
description: |-
Creates a aravisCamera camera areaDetector driver
Creates an aravisCamera camera areaDetector driver
parameters:
ID:
type: str
description: |-
Cam ip address, hostname, MAC address, or ID <manufacturer>-<serial>, (e.g. Prosilica-02-2166A-06844)
P:
type: str
description: |-
Expand All @@ -22,10 +27,29 @@ entity_models:
description: |-
Port name for the camera
ID:
type: str
BUFFERS:
type: int
description: |-
Cam ip address, hostname, MAC address, or ID <manufacturer>-<serial>, (e.g. Prosilica-02-2166A-06844)
Maximum number of NDArray buffers to be created for plugin callbacks
default: 50

MEMORY:
type: int
description: |-
Max memory to allocate, should be maxw*maxh*nbuffer for driver and all attached plugins
default: -1

TIMEOUT:
type: int
description: |-
Timeout, default 1
default: 1

ADDR:
type: int
description: |-
Asyn Port address, default 0
default: 0

CLASS:
type: enum
Expand Down Expand Up @@ -74,29 +98,9 @@ entity_models:
AVT_Mako_G234B:
AVT_Manta_G609B:
JAI_CM140:
BUFFERS:
type: int
description: |-
Maximum number of NDArray buffers to be created for plugin callbacks
default: 50

MEMORY:
type: int
description: |-
Max memory to allocate, should be maxw*maxh*nbuffer for driver and all attached plugins
default: -1

TIMEOUT:
type: int
description: |-
Timeout, default 1
default: 1

ADDR:
type: int
description: |-
Asyn Port address, default 0
default: 0
AutoADGenICam:
# The AutoADGenICam value causes the start.sh to contact the camera and auto
# generate the DB file. The pvi.device file is always autogenerated

pre_init:
- value: |
Expand All @@ -105,40 +109,46 @@ entity_models:
databases:
- file: $(ADARAVIS)/db/aravisCamera.template
args:
P:
R:
PORT:
TIMEOUT:
ADDR:

- file: $(ADGENICAM)/db/{{CLASS}}.template
args:
P:
R:
PORT:
TIMEOUT:
ADDR:
args: { P, R, PORT, TIMEOUT, ADDR }

pvi:
yaml_path: ADDriver.pvi.device.yaml
yaml_path: ADAravis.pvi.device.yaml
ui_macros:
P:
R:
pv: true
pv_prefix: $(P)$(R)

- name: aravisSettings
description: |-
Creates detailed settings screens for and Aravis camera

description: |
Create detailed settings screens for an Aravis camera from one of
the predefined database files in ADGenICam or from the auto generated
database file for a specific camera.
Specify which one using the CLASS parameter or leave CLASS as the
default value to auto generate database file. In this case start.sh
will contact the camera and generate the database file from its XML
description of all its configuration parameters.
parameters:
camera:
type: object
description: the aravisCamera object to create settings for

pvi:
yaml_path: arvFeature.pvi.device.yaml
yaml_path: "{{ '-'.join([camera.ID,camera.CLASS]) if camera.CLASS=='AutoADGenICam' else camera.CLASS }}.pvi.device.yaml"
ui_macros:
P: '{{ camera.P }}'
R: '{{ camera.R }}'
P: "{{ camera.P }}"
R: "{{ camera.R }}"
pv: true
pv_prefix: '{{ camera.P }}{{ camera.R }}'
pv_prefix: "{{ camera.P }}{{ camera.R }}"

databases:
- file: "{{ '-'.join([camera.ID,camera.CLASS]) if camera.CLASS=='AutoADGenICam' else camera.CLASS }}.template"
args:
P: "{{ camera.P }}"
R: "{{ camera.R }}"
PORT: "{{ camera.PORT }}"
TIMEOUT: "{{ camera.TIMEOUT }}"
ADDR: "{{ camera.ADDR }}"
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
label: arvFeature
label: ADAravis Camera
parent: ADDriver
children:
- type: Group
Expand Down
Loading

0 comments on commit b3be905

Please sign in to comment.