Skip to content

Commit ec371b7

Browse files
committed
Add example IOC instances for motion, dcam and andor
1 parent 4d2597b commit ec371b7

File tree

16 files changed

+240
-1
lines changed

16 files changed

+240
-1
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.helm-shared/Chart.yaml
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# yaml-language-server: $schema=https://github.com/epics-containers/ioc-adsimdetector/releases/download/2025.8.1/ibek.ioc.schema.json
2+
3+
ioc_name: "{{ _global.get_env('IOC_NAME') }}"
4+
description: Example simulated camera for BL01T
5+
6+
entities:
7+
- type: devIocStats.iocAdminSoft
8+
IOC: "{{ ioc_name | upper }}"
9+
10+
- type: autosave.Autosave
11+
P: "BL01T-DI-DCAM-01:"
12+
13+
- type: ADSimDetector.simDetector
14+
PORT: DET.DET
15+
P: BL01T-DI-DCAM-01
16+
R: ":DET:"
17+
# DATATYPE:0 = Int8 - TODO add an enum to the support yaml
18+
DATATYPE: 0
19+
WIDTH: 1024
20+
HEIGHT: 1024
21+
22+
- type: epics.PostStartupCommand
23+
command: |
24+
dbpf BL01T-DI-DCAM-01:DET:AcquireTime 0.1
25+
dbpf BL01T-DI-DCAM-01:ARR:EnableCallbacks 1
26+
dbpf BL01T-DI-DCAM-01:PROC:EnableCallbacks 1
27+
dbpf BL01T-DI-DCAM-01:ROI:EnableCallbacks 1
28+
dbpf BL01T-DI-DCAM-01:PVA:EnableCallbacks 1
29+
dbpf BL01T-DI-DCAM-01:DET:Acquire 1
30+
31+
# - type: ffmpegServer.ffmpegStream
32+
# PORT: DET.MJP
33+
# P: BL01T-DI-DCAM-01
34+
# R: ":MJP:"
35+
# NDARRAY_PORT: DET.DET
36+
37+
- type: ADCore.NDROI
38+
PORT: DET.ROI
39+
P: BL01T-DI-DCAM-01
40+
R: ":ROI:"
41+
NDARRAY_PORT: DET.DET
42+
43+
- type: ADCore.NDProcess
44+
PORT: DET.PROC
45+
P: BL01T-DI-DCAM-01
46+
R: ":PROC:"
47+
NDARRAY_PORT: DET.ROI
48+
49+
- type: ADCore.NDPvxsPlugin
50+
PORT: DET.PVA
51+
PVNAME: BL01T-DI-DCAM-01:PVA:OUTPUT
52+
P: BL01T-DI-DCAM-01
53+
R: ":PVA:"
54+
NDARRAY_PORT: DET.DET
55+
56+
- type: ADCore.NDStdArrays
57+
PORT: DET.ARR
58+
P: BL01T-DI-DCAM-01
59+
R: ":ARR:"
60+
NDARRAY_PORT: DET.PROC
61+
TYPE: Int8
62+
NELEMENTS: 1048576
63+
FTVL: UCHAR
64+
65+
- type: ADCore.NDStats
66+
PORT: DET.STAT
67+
P: BL01T-DI-DCAM-01
68+
R: ":STAT:"
69+
NDARRAY_PORT: DET.DET
70+
XSIZE: 1024
71+
YSIZE: 1024
72+
HIST_SIZE: 20
73+
74+
- type: ADCore.NDFileHDF5
75+
PORT: DET.HDF
76+
P: BL01T-DI-DCAM-01
77+
R: ":HDF5:"
78+
NDARRAY_PORT: DET.PROC
79+
80+
- type: ADCore.NDFileTIFF
81+
PORT: DET.TIFF
82+
P: BL01T-DI-DCAM-01
83+
R: ":TIFF:"
84+
NDARRAY_PORT: DET.PROC
85+
86+
- type: ADCore.NDOverlay
87+
PORT: DET.OVER
88+
P: BL01T-EA-TST-02
89+
R: ":OVER:"
90+
NDARRAY_PORT: DET.PROC
91+
NOverlays: 4
92+
93+
- type: ADCore.NDROIStat
94+
PORT: DET.ROISTAT
95+
P: BL01T-EA-TST-02
96+
R: ":ROISTAT:"
97+
NDARRAY_PORT: DET.PROC
98+
MAX_ROIS: 4
99+
100+
- type: ADCore.NDFileNetCDF
101+
PORT: DET.CDF
102+
P: BL01T-DI-DCAM-01
103+
R: ":NCDF:"
104+
NDARRAY_PORT: DET.DET
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# yaml-language-server: $schema=../../../ibek-runtime-support/runtime.schema.json
2+
ioc_name: "{{ _global.get_env('IOC_NAME') }}"
3+
4+
description: additional entities from the services repo
5+
6+
# to create additional entities here:
7+
# 1. add folders to /ibek-runtime-support containing:
8+
# - XXX.ibek.support.yaml
9+
# - possibly epics DB templates
10+
# - plus any other files that XXX.ibek.support.yaml uses
11+
# 2. symlink the files this ioc needs into this config folder
12+
# 3. uvx pre-commit run to regenerate runtime.schema.json
13+
# 4. add entities below, following the supplied schema
14+
15+
entities: []
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.helm-shared/templates
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# yaml-language-server: $schema=../../.helm-shared/values.schema.json
2+
3+
ioc-instance:
4+
image: ghcr.io/epics-containers/ioc-adsimdetector-runtime:2025.11.1
5+
6+
# mount in the beamline data folder
7+
# dataVolume:
8+
# pvc: false
9+
# hostPath: /dls/ixx/data
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.helm-shared/Chart.yaml
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# yaml-language-server: $schema=https://github.com/epics-containers/ioc-template-example/releases/download/3.5.1/ibek.ioc.schema.json
2+
3+
# TODO replace above with the generic IOC schema this IOC is based on
4+
ioc_name: "{{ _global.get_env('IOC_NAME') }}"
5+
6+
description: REPLACE_WITH_DESCRIPTION
7+
8+
entities:
9+
- type: epics.EpicsEnvSet
10+
name: EPICS_TZ
11+
value: GMT0BST
12+
13+
- type: epics.EpicsEnvSet
14+
name: STREAM_PROTOCOL_PATH
15+
value: /epics/runtime/protocol/
16+
17+
- type: devIocStats.iocAdminSoft
18+
IOC: "{{ ioc_name | upper }}"
19+
20+
# - todo: Add more entities to make a meaningful IOC
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# yaml-language-server: $schema=../../../ibek-runtime-support/runtime.schema.json
2+
ioc_name: "{{ _global.get_env('IOC_NAME') }}"
3+
4+
description: additional entities from the services repo
5+
6+
# to create additional entities here:
7+
# 1. add folders to /ibek-runtime-support containing:
8+
# - XXX.ibek.support.yaml
9+
# - possibly epics DB templates
10+
# - plus any other files that XXX.ibek.support.yaml uses
11+
# 2. symlink the files this ioc needs into this config folder
12+
# 3. uvx pre-commit run to regenerate runtime.schema.json
13+
# 4. add entities below, following the supplied schema
14+
15+
entities: []
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.helm-shared/templates
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# yaml-language-server: $schema=../../.helm-shared/values.schema.json
2+
3+
ioc-instance:
4+
image: ghcr.io/epics-containers/ioc-adsimdetector-runtime:2025.11.1
5+
6+
# mount in the beamline data folder
7+
# dataVolume:
8+
# pvc: false
9+
# hostPath: /dls/ixx/data

0 commit comments

Comments
 (0)