diff --git a/.gitignore b/.gitignore
index 1fe3bfd..56db627 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,7 @@
venv*
.venv*
*workspace
+
+# this is the root directory for generated opi files
+# and is created at runtime
+services/opi
diff --git a/compose.yaml b/compose.yaml
index 1670fdc..09084aa 100644
--- a/compose.yaml
+++ b/compose.yaml
@@ -18,10 +18,10 @@ include:
# all profiles
- services/bl01t-ea-test-01/compose.yml
- services/bl01t-di-cam-01/compose.yml
+ - services/gateway/compose.yml
# develop profile only
- services/phoebus/compose.yml
# deploy profile only
- - services/gateway/compose.yml
- services/epics-opis/compose.yml
diff --git a/include/init.sh b/include/init.sh
index b9a758b..40c8234 100644
--- a/include/init.sh
+++ b/include/init.sh
@@ -6,11 +6,3 @@
# copy in any opi files from the repo
cp -r /repo/opi/* /opi;
-
-# make sure there is a subfolder of opi volumes for each service
-cd /repo/services
-for i in *; do
- echo adding folder $i to opi volume
- mkdir -p /opi/$i;
- mkdir -p /opi_auto/$i;
-done
\ No newline at end of file
diff --git a/include/init.yml b/include/init.yml
index d8a7fee..3d8d50a 100644
--- a/include/init.yml
+++ b/include/init.yml
@@ -1,19 +1,15 @@
# A basic init service that sets up volumes for the IOCs described in
# this repo.
-#
-# At present this is just making sure the opi volume has a subfolder for
-# each service and copies in any hand coded opis to those folders.
services:
-
init_iocs:
-
image: docker.io/busybox
command: |
sh /repo/include/init.sh
volumes:
- - opi:/opi/
- - opi_auto:/opi_auto/
- - ..:/repo
\ No newline at end of file
+ # mount the runtime opi folder
+ - ../services/opi:/opi/
+ # mount the repo to copy hand coded opis into runtime opi
+ - ..:/repo
diff --git a/include/volumes.yml b/include/volumes.yml
index 9d54f4e..3cff8bf 100644
--- a/include/volumes.yml
+++ b/include/volumes.yml
@@ -1,5 +1,21 @@
volumes:
# hand coded opi files from this repo
opi:
- # auto generated opi files created by pvi in each IOC
- opi_auto:
+
+ # Note - for the moment we don't use this volume but instead bind mount
+ # services/opis host folder into the ioc containers.
+ #
+ # This is because of a podman limitation that ignores the subpath field
+ # of a volume mount.
+ #
+ # Keeping this file as a reminder of how we would prefer to use docker
+ # volumes for this purpose once the issue is resolved:
+ # https://github.com/containers/podman/issues/20661
+
+ # in kubernetes we also create volumes for
+ # - autosave
+ # - runtime (mounted to /epics/runtime)
+ # - data - for each IOC that wants to persist data
+ # - binaries - for proxy that control hard IOCs and supply their binaries
+ #
+ # in future this compose framework could include these volumes too
diff --git a/opi/README.md b/opi/README.md
index 2435f9f..fb1447d 100644
--- a/opi/README.md
+++ b/opi/README.md
@@ -1,8 +1,21 @@
-OPI Folders for IOCs
-====================
+OPI Files
+=========
-If required, hand coded bob files can be added here for each IOC in a subfolder with the same name as the IOC. These folders are copied in to the 'opi' volume by the init_epics container.
+In this repository there are two opi folders:
-PVI autogenerated bob files will then be added to these folders in the opi volume as each IOC launches.
+- services/opi - This folder is used as the runtime opi location mounted by
+ all iocs. Its contents are not committed in to git.
-NOTE: because podman does not currently support sub_path volume mounts - we place all of the generated files for this project in here and refer to those from phoebus. See this issue for details: https://github.com/containers/podman/issues/20661
\ No newline at end of file
+ Each ioc mounts a subfolder in this directory and places its generated
+ opi files in there.
+
+ In future this will be a docker/podman volume.
+ But at present there is an bug with podman that does not allow it to
+ mount a subfolder of a volume. See
+ [podman issue 20661](https://github.com/containers/podman/issues/20661)
+
+- opi - This folder is a place for hand coded bob files that are copied into
+ the opi volume by the init container [init.yaml](../include/init.yaml).
+
+ The contents of this folder are committed in to git. For this reason it is
+ found in .gitignore.
diff --git a/opi/bl01t-di-cam-01/NDPluginPva.pvi.bob b/opi/bl01t-di-cam-01/NDPluginPva.pvi.bob
deleted file mode 100644
index cc3e6d1..0000000
--- a/opi/bl01t-di-cam-01/NDPluginPva.pvi.bob
+++ /dev/null
@@ -1,1505 +0,0 @@
-
- NDPluginPva
- 0
- 0
- 807
- 899
- 4
- 4
-
- Title
- TITLE
- NDPluginPva
- 0
- 0
- 807
- 25
-
-
-
-
-
-
-
-
- true
- 1
-
-
- ND Pva
- 5
- 30
- 396
- 56
- true
-
- Label
- Pv Name
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PvName_RBV
- 155
- 0
- 205
- 20
-
-
-
-
- 1
- 6
-
-
-
- ND Plugin Base
- 5
- 91
- 396
- 281
- true
-
- Label
- Plugin Type
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PluginType_RBV
- 155
- 0
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- ND Array Port
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDArrayPort
- 155
- 25
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)NDArrayPort_RBV
- 260
- 25
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- ND Array Address
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDArrayAddress
- 155
- 50
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)NDArrayAddress_RBV
- 260
- 50
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Enable Callbacks
- 0
- 75
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)EnableCallbacks
- 155
- 75
- 100
- 20
-
-
- LED
- $(P)$(R)EnableCallbacks_RBV
- 300
- 75
- 20
- 20
-
-
- Label
- Min Callback Time
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)MinCallbackTime
- 155
- 100
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)MinCallbackTime_RBV
- 260
- 100
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Queue Free
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)QueueFree
- 155
- 125
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Queue Size
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)QueueSize
- 155
- 150
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)QueueSize_RBV
- 260
- 150
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Execution Time
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ExecutionTime_RBV
- 155
- 175
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Dropped Arrays
- 0
- 200
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)DroppedArrays
- 155
- 200
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)DroppedArrays_RBV
- 260
- 200
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Process Plugin
- 0
- 225
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)ProcessPlugin
- 155
- 225
- 205
- 20
-
-
-
- ND Plugin Base Full
- 5
- 377
- 396
- 281
- true
-
- Label
- Dropped Output Arrays
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)DroppedOutputArrays
- 155
- 0
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)DroppedOutputArrays_RBV
- 260
- 0
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Max Byte Rate
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)MaxByteRate
- 155
- 25
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)MaxByteRate_RBV
- 260
- 25
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Blocking Callbacks
- 0
- 50
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)BlockingCallbacks
- 155
- 50
- 100
- 20
-
-
- LED
- $(P)$(R)BlockingCallbacks_RBV
- 300
- 50
- 20
- 20
-
-
- Label
- Num Threads
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NumThreads
- 155
- 75
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)NumThreads_RBV
- 260
- 75
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Max Threads
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)MaxThreads_RBV
- 155
- 100
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Sort Mode
- 0
- 125
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)SortMode
- 155
- 125
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)SortMode_RBV
- 260
- 125
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Sort Time
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)SortTime
- 155
- 150
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)SortTime_RBV
- 260
- 150
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Sort Free
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)SortFree
- 155
- 175
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Sort Size
- 0
- 200
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)SortSize
- 155
- 200
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)SortSize_RBV
- 260
- 200
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Disordered Arrays
- 0
- 225
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)DisorderedArrays
- 155
- 225
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)DisorderedArrays_RBV
- 260
- 225
- 100
- 20
-
-
-
-
- 1
-
-
-
- AD Setup
- 5
- 663
- 396
- 231
- true
-
- Label
- Port Name
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PortName_RBV
- 155
- 0
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Manufacturer
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)Manufacturer_RBV
- 155
- 25
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Model
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)Model_RBV
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Serial Number
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)SerialNumber_RBV
- 155
- 75
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Firmware Version
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)FirmwareVersion_RBV
- 155
- 100
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- SDK Version
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)SDKVersion_RBV
- 155
- 125
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Driver Version
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)DriverVersion_RBV
- 155
- 150
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- AD Core Version
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ADCoreVersion_RBV
- 155
- 175
- 205
- 20
-
-
-
-
- 1
-
-
-
- AD Readout
- 406
- 30
- 396
- 156
- true
-
- Label
- Array Size X
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySizeX_RBV
- 155
- 0
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Array Size Y
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySizeY_RBV
- 155
- 25
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Array Size
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySize_RBV
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Data Type
- 0
- 75
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)DataType
- 155
- 75
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)DataType_RBV
- 260
- 75
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Color Mode
- 0
- 100
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)ColorMode
- 155
- 100
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)ColorMode_RBV
- 260
- 100
- 100
- 20
-
-
-
-
- 1
-
-
-
- AD Collect
- 406
- 191
- 396
- 156
- true
-
- Label
- Num Queued Arrays
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)NumQueuedArrays
- 155
- 0
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Wait For Plugins
- 0
- 25
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)WaitForPlugins
- 155
- 25
- 205
- 20
-
-
- Label
- Acquire
- 0
- 50
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)Acquire
- 155
- 50
- 100
- 20
-
-
- LED
- $(P)$(R)Acquire_RBV
- 300
- 50
- 20
- 20
-
-
- Label
- Array Counter
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)ArrayCounter
- 155
- 75
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)ArrayCounter_RBV
- 260
- 75
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Array Callbacks
- 0
- 100
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)ArrayCallbacks
- 155
- 100
- 100
- 20
-
-
- LED
- $(P)$(R)ArrayCallbacks_RBV
- 300
- 100
- 20
- 20
-
-
-
- AD Attr File
- 406
- 352
- 396
- 106
- true
-
- Label
- ND Attributes File
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDAttributesFile
- 155
- 0
- 205
- 20
- 1
- 6
-
-
- Label
- ND Attributes Macros
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDAttributesMacros
- 155
- 25
- 205
- 20
- 1
- 6
-
-
- Label
- ND Attributes Status
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)NDAttributesStatus
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
-
- asynNDArrayDriver Ungrouped
- 406
- 463
- 396
- 431
- true
-
- Label
- Empty Free List
- 0
- 0
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)EmptyFreeList
- 155
- 0
- 205
- 20
-
-
- Label
- Acquire Busy CB
- 0
- 25
- 150
- 20
- $(text)
-
-
- LED
- $(P)$(R)AcquireBusyCB
- 247
- 25
- 20
- 20
-
-
- Label
- Bayer Pattern
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)BayerPattern_RBV
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Array Size Z
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySizeZ_RBV
- 155
- 75
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Codec
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)Codec_RBV
- 155
- 100
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Compressed Size
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)CompressedSize_RBV
- 155
- 125
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Unique Id
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)UniqueId_RBV
- 155
- 150
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Time Stamp
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)TimeStamp_RBV
- 155
- 175
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Epics TS Sec
- 0
- 200
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)EpicsTSSec_RBV
- 155
- 200
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Epics TS Nsec
- 0
- 225
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)EpicsTSNsec_RBV
- 155
- 225
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Max Mem
- 0
- 250
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolMaxMem
- 155
- 250
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Used Mem
- 0
- 275
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolUsedMem
- 155
- 275
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Alloc Buffers
- 0
- 300
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolAllocBuffers
- 155
- 300
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Free Buffers
- 0
- 325
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolFreeBuffers
- 155
- 325
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- N Dimensions
- 0
- 350
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDimensions
- 155
- 350
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)NDimensions_RBV
- 260
- 350
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Dimensions
- 0
- 375
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)Dimensions
- 155
- 375
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)Dimensions_RBV
- 260
- 375
- 100
- 20
-
-
-
-
- 1
-
-
-
diff --git a/opi/bl01t-di-cam-01/demo.bob b/opi/bl01t-di-cam-01/demo.bob
deleted file mode 100644
index e69de29..0000000
diff --git a/opi/bl01t-di-cam-01/index.bob b/opi/bl01t-di-cam-01/index.bob
deleted file mode 100644
index 1a2f5fe..0000000
--- a/opi/bl01t-di-cam-01/index.bob
+++ /dev/null
@@ -1,86 +0,0 @@
-
- bl01t-di-cam-01
- 0
- 0
- 388
- 80
- 4
- 4
-
- Title
- TITLE
- bl01t-di-cam-01
- 0
- 0
- 388
- 25
-
-
-
-
-
-
-
-
- true
- 1
-
-
- Label
- simDetector
- 23
- 30
- 150
- 20
- $(text)
-
-
- OpenDisplay
-
-
- simDetector.pvi.bob
- tab
- Open Display
-
- BL01T-EA-TST-01
- :DET:
-
-
-
- BL01T-EA-TST-01 :DET:
- 178
- 30
- 205
- 20
- $(actions)
-
-
- Label
- NDPluginPva
- 23
- 55
- 150
- 20
- $(text)
-
-
- OpenDisplay
-
-
- NDPluginPva.pvi.bob
- tab
- Open Display
-
- BL01T-EA-TST-01
- :PVA:
-
-
-
- BL01T-EA-TST-01 :PVA:
- 178
- 55
- 205
- 20
- $(actions)
-
-
diff --git a/opi/bl01t-di-cam-01/simDetector.pvi.bob b/opi/bl01t-di-cam-01/simDetector.pvi.bob
deleted file mode 100644
index 2933d22..0000000
--- a/opi/bl01t-di-cam-01/simDetector.pvi.bob
+++ /dev/null
@@ -1,2826 +0,0 @@
-
- simDetector
- 0
- 0
- 1609
- 913
- 4
- 4
-
- Title
- TITLE
- simDetector
- 0
- 0
- 1609
- 25
-
-
-
-
-
-
-
-
- true
- 1
-
-
- Sim Detector
- 5
- 30
- 396
- 831
- true
-
- Label
- Gain X
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)GainX
- 155
- 0
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)GainX_RBV
- 260
- 0
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Gain Y
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)GainY
- 155
- 25
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)GainY_RBV
- 260
- 25
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Gain Red
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)GainRed
- 155
- 50
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)GainRed_RBV
- 260
- 50
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Gain Green
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)GainGreen
- 155
- 75
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)GainGreen_RBV
- 260
- 75
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Gain Blue
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)GainBlue
- 155
- 100
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)GainBlue_RBV
- 260
- 100
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Reset
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)Reset
- 155
- 125
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)Reset_RBV
- 260
- 125
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Offset
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)Offset
- 155
- 150
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)Offset_RBV
- 260
- 150
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Noise
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)Noise
- 155
- 175
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)Noise_RBV
- 260
- 175
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Sim Mode
- 0
- 200
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)SimMode
- 155
- 200
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)SimMode_RBV
- 260
- 200
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Start X
- 0
- 225
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakStartX
- 155
- 225
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakStartX_RBV
- 260
- 225
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Start Y
- 0
- 250
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakStartY
- 155
- 250
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakStartY_RBV
- 260
- 250
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Num X
- 0
- 275
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakNumX
- 155
- 275
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakNumX_RBV
- 260
- 275
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Num Y
- 0
- 300
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakNumY
- 155
- 300
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakNumY_RBV
- 260
- 300
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Step X
- 0
- 325
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakStepX
- 155
- 325
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakStepX_RBV
- 260
- 325
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Step Y
- 0
- 350
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakStepY
- 155
- 350
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakStepY_RBV
- 260
- 350
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Width X
- 0
- 375
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakWidthX
- 155
- 375
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakWidthX_RBV
- 260
- 375
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Width Y
- 0
- 400
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakWidthY
- 155
- 400
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakWidthY_RBV
- 260
- 400
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Peak Variation
- 0
- 425
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)PeakVariation
- 155
- 425
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)PeakVariation_RBV
- 260
- 425
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- X Sine Operation
- 0
- 450
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)XSineOperation
- 155
- 450
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)XSineOperation_RBV
- 260
- 450
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- X Sine 1 Amplitude
- 0
- 475
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)XSine1Amplitude
- 155
- 475
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)XSine1Amplitude_RBV
- 260
- 475
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- X Sine 1 Frequency
- 0
- 500
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)XSine1Frequency
- 155
- 500
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)XSine1Frequency_RBV
- 260
- 500
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- X Sine 1 Phase
- 0
- 525
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)XSine1Phase
- 155
- 525
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)XSine1Phase_RBV
- 260
- 525
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- X Sine 2 Amplitude
- 0
- 550
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)XSine2Amplitude
- 155
- 550
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)XSine2Amplitude_RBV
- 260
- 550
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- X Sine 2 Frequency
- 0
- 575
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)XSine2Frequency
- 155
- 575
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)XSine2Frequency_RBV
- 260
- 575
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- X Sine 2 Phase
- 0
- 600
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)XSine2Phase
- 155
- 600
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)XSine2Phase_RBV
- 260
- 600
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Y Sine Operation
- 0
- 625
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)YSineOperation
- 155
- 625
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)YSineOperation_RBV
- 260
- 625
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Y Sine 1 Amplitude
- 0
- 650
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)YSine1Amplitude
- 155
- 650
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)YSine1Amplitude_RBV
- 260
- 650
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Y Sine 1 Frequency
- 0
- 675
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)YSine1Frequency
- 155
- 675
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)YSine1Frequency_RBV
- 260
- 675
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Y Sine 1 Phase
- 0
- 700
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)YSine1Phase
- 155
- 700
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)YSine1Phase_RBV
- 260
- 700
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Y Sine 2 Amplitude
- 0
- 725
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)YSine2Amplitude
- 155
- 725
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)YSine2Amplitude_RBV
- 260
- 725
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Y Sine 2 Frequency
- 0
- 750
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)YSine2Frequency
- 155
- 750
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)YSine2Frequency_RBV
- 260
- 750
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Y Sine 2 Phase
- 0
- 775
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)YSine2Phase
- 155
- 775
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)YSine2Phase_RBV
- 260
- 775
- 100
- 20
-
-
-
-
- 1
-
-
-
- AD Readout
- 406
- 30
- 396
- 431
- true
-
- Label
- Array Size X
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySizeX_RBV
- 155
- 0
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Array Size Y
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySizeY_RBV
- 155
- 25
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Array Size
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySize_RBV
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Data Type
- 0
- 75
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)DataType
- 155
- 75
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)DataType_RBV
- 260
- 75
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Color Mode
- 0
- 100
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)ColorMode
- 155
- 100
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)ColorMode_RBV
- 260
- 100
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Max Size X
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)MaxSizeX_RBV
- 155
- 125
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Max Size Y
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)MaxSizeY_RBV
- 155
- 150
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Bin X
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)BinX
- 155
- 175
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)BinX_RBV
- 260
- 175
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Bin Y
- 0
- 200
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)BinY
- 155
- 200
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)BinY_RBV
- 260
- 200
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Min Y
- 0
- 225
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)MinY
- 155
- 225
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)MinY_RBV
- 260
- 225
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Min X
- 0
- 250
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)MinX
- 155
- 250
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)MinX_RBV
- 260
- 250
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Reverse X
- 0
- 275
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)ReverseX
- 155
- 275
- 100
- 20
-
-
- LED
- $(P)$(R)ReverseX_RBV
- 300
- 275
- 20
- 20
-
-
- Label
- Reverse Y
- 0
- 300
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)ReverseY
- 155
- 300
- 100
- 20
-
-
- LED
- $(P)$(R)ReverseY_RBV
- 300
- 300
- 20
- 20
-
-
- Label
- Size X
- 0
- 325
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)SizeX
- 155
- 325
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)SizeX_RBV
- 260
- 325
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Size Y
- 0
- 350
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)SizeY
- 155
- 350
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)SizeY_RBV
- 260
- 350
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Gain
- 0
- 375
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)Gain
- 155
- 375
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)Gain_RBV
- 260
- 375
- 100
- 20
-
-
-
-
- 1
-
-
-
- AD Shutter
- 406
- 466
- 396
- 156
- true
-
- Label
- Shutter Mode
- 0
- 0
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)ShutterMode
- 155
- 0
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)ShutterMode_RBV
- 260
- 0
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Shutter Status
- 0
- 25
- 150
- 20
- $(text)
-
-
- LED
- $(P)$(R)ShutterStatus_RBV
- 247
- 25
- 20
- 20
-
-
- Label
- Shutter Control
- 0
- 50
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)ShutterControl
- 155
- 50
- 100
- 20
-
-
- LED
- $(P)$(R)ShutterControl_RBV
- 300
- 50
- 20
- 20
-
-
- Label
- Shutter Open Delay
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)ShutterOpenDelay
- 155
- 75
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)ShutterOpenDelay_RBV
- 260
- 75
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Shutter Close Delay
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)ShutterCloseDelay
- 155
- 100
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)ShutterCloseDelay_RBV
- 260
- 100
- 100
- 20
-
-
-
-
- 1
-
-
-
- AD Collect
- 807
- 30
- 396
- 406
- true
-
- Label
- Num Queued Arrays
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)NumQueuedArrays
- 155
- 0
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Wait For Plugins
- 0
- 25
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)WaitForPlugins
- 155
- 25
- 205
- 20
-
-
- Label
- Acquire
- 0
- 50
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)Acquire
- 155
- 50
- 100
- 20
-
-
- LED
- $(P)$(R)Acquire_RBV
- 300
- 50
- 20
- 20
-
-
- Label
- Array Counter
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)ArrayCounter
- 155
- 75
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)ArrayCounter_RBV
- 260
- 75
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Array Callbacks
- 0
- 100
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)ArrayCallbacks
- 155
- 100
- 100
- 20
-
-
- LED
- $(P)$(R)ArrayCallbacks_RBV
- 300
- 100
- 20
- 20
-
-
- Label
- Acquire Time
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)AcquireTime
- 155
- 125
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)AcquireTime_RBV
- 260
- 125
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Acquire Period
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)AcquirePeriod
- 155
- 150
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)AcquirePeriod_RBV
- 260
- 150
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Num Images Counter
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)NumImagesCounter_RBV
- 155
- 175
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Num Images
- 0
- 200
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NumImages
- 155
- 200
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)NumImages_RBV
- 260
- 200
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Num Exposures
- 0
- 225
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NumExposures
- 155
- 225
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)NumExposures_RBV
- 260
- 225
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Image Mode
- 0
- 250
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)ImageMode
- 155
- 250
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)ImageMode_RBV
- 260
- 250
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Trigger Mode
- 0
- 275
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)TriggerMode
- 155
- 275
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)TriggerMode_RBV
- 260
- 275
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Detector State
- 0
- 300
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)DetectorState_RBV
- 155
- 300
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Status Message
- 0
- 325
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)StatusMessage_RBV
- 155
- 325
- 205
- 20
-
-
-
-
- 1
- 6
-
-
- Label
- Time Remaining
- 0
- 350
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)TimeRemaining_RBV
- 155
- 350
- 205
- 20
-
-
-
-
- 1
-
-
-
- ADDriver Ungrouped
- 807
- 441
- 396
- 231
- true
-
- Label
- Read Status
- 0
- 0
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)ReadStatus
- 155
- 0
- 205
- 20
-
-
- Label
- Num Exposures Counter
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)NumExposuresCounter_RBV
- 155
- 25
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- String To Server
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)StringToServer_RBV
- 155
- 50
- 205
- 20
-
-
-
-
- 1
- 6
-
-
- Label
- String From Server
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)StringFromServer_RBV
- 155
- 75
- 205
- 20
-
-
-
-
- 1
- 6
-
-
- Label
- Shutter Control EPICS
- 0
- 100
- 150
- 20
- $(text)
-
-
- LED
- $(P)$(R)ShutterControlEPICS
- 247
- 100
- 20
- 20
-
-
- Label
- Temperature Actual
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)TemperatureActual
- 155
- 125
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Frame Type
- 0
- 150
- 150
- 20
- $(text)
-
-
- ComboBox
- $(P)$(R)FrameType
- 155
- 150
- 100
- 20
-
-
- TextUpdate
- $(P)$(R)FrameType_RBV
- 260
- 150
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Temperature
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)Temperature
- 155
- 175
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)Temperature_RBV
- 260
- 175
- 100
- 20
-
-
-
-
- 1
-
-
-
- AD Setup
- 807
- 677
- 396
- 231
- true
-
- Label
- Port Name
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PortName_RBV
- 155
- 0
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Manufacturer
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)Manufacturer_RBV
- 155
- 25
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Model
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)Model_RBV
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Serial Number
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)SerialNumber_RBV
- 155
- 75
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Firmware Version
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)FirmwareVersion_RBV
- 155
- 100
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- SDK Version
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)SDKVersion_RBV
- 155
- 125
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Driver Version
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)DriverVersion_RBV
- 155
- 150
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- AD Core Version
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ADCoreVersion_RBV
- 155
- 175
- 205
- 20
-
-
-
-
- 1
-
-
-
- AD Attr File
- 1208
- 30
- 396
- 106
- true
-
- Label
- ND Attributes File
- 0
- 0
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDAttributesFile
- 155
- 0
- 205
- 20
- 1
- 6
-
-
- Label
- ND Attributes Macros
- 0
- 25
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDAttributesMacros
- 155
- 25
- 205
- 20
- 1
- 6
-
-
- Label
- ND Attributes Status
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)NDAttributesStatus
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
-
- asynNDArrayDriver Ungrouped
- 1208
- 141
- 396
- 431
- true
-
- Label
- Empty Free List
- 0
- 0
- 150
- 20
- $(text)
-
-
- ToggleButton
- $(P)$(R)EmptyFreeList
- 155
- 0
- 205
- 20
-
-
- Label
- Acquire Busy CB
- 0
- 25
- 150
- 20
- $(text)
-
-
- LED
- $(P)$(R)AcquireBusyCB
- 247
- 25
- 20
- 20
-
-
- Label
- Bayer Pattern
- 0
- 50
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)BayerPattern_RBV
- 155
- 50
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Array Size Z
- 0
- 75
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)ArraySizeZ_RBV
- 155
- 75
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Codec
- 0
- 100
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)Codec_RBV
- 155
- 100
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Compressed Size
- 0
- 125
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)CompressedSize_RBV
- 155
- 125
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Unique Id
- 0
- 150
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)UniqueId_RBV
- 155
- 150
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Time Stamp
- 0
- 175
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)TimeStamp_RBV
- 155
- 175
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Epics TS Sec
- 0
- 200
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)EpicsTSSec_RBV
- 155
- 200
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Epics TS Nsec
- 0
- 225
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)EpicsTSNsec_RBV
- 155
- 225
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Max Mem
- 0
- 250
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolMaxMem
- 155
- 250
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Used Mem
- 0
- 275
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolUsedMem
- 155
- 275
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Alloc Buffers
- 0
- 300
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolAllocBuffers
- 155
- 300
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- Pool Free Buffers
- 0
- 325
- 150
- 20
- $(text)
-
-
- TextUpdate
- $(P)$(R)PoolFreeBuffers
- 155
- 325
- 205
- 20
-
-
-
-
- 1
-
-
- Label
- N Dimensions
- 0
- 350
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)NDimensions
- 155
- 350
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)NDimensions_RBV
- 260
- 350
- 100
- 20
-
-
-
-
- 1
-
-
- Label
- Dimensions
- 0
- 375
- 150
- 20
- $(text)
-
-
- TextEntry
- $(P)$(R)Dimensions
- 155
- 375
- 100
- 20
- 1
-
-
- TextUpdate
- $(P)$(R)Dimensions_RBV
- 260
- 375
- 100
- 20
-
-
-
-
- 1
-
-
-
diff --git a/opi/bl01t-ea-test-01/index.bob b/opi/bl01t-ea-test-01/index.bob
deleted file mode 100644
index 0d351d9..0000000
--- a/opi/bl01t-ea-test-01/index.bob
+++ /dev/null
@@ -1,28 +0,0 @@
-
- bl01t-ea-test-01
- 0
- 0
- 10
- 35
- 4
- 4
-
- Title
- TITLE
- bl01t-ea-test-01
- 0
- 0
- 10
- 25
-
-
-
-
-
-
-
-
- true
- 1
-
-
diff --git a/services/bl01t-di-cam-01/compose.yml b/services/bl01t-di-cam-01/compose.yml
index 2ad426a..833060f 100644
--- a/services/bl01t-di-cam-01/compose.yml
+++ b/services/bl01t-di-cam-01/compose.yml
@@ -19,11 +19,7 @@ services:
IOC_PREFIX: BL01T-DI-CAM-01
volumes:
- - type: volume
- source: opi_auto
- target: /epics/opi
- volume:
- subpath: bl01t-di-cam-01
+ - ../opi/bl01t-di-cam-01:/epics/opi
configs:
- source: bl01t-di-cam-01_config
diff --git a/services/bl01t-ea-test-01/compose.yml b/services/bl01t-ea-test-01/compose.yml
index cc7f16f..b1b687f 100644
--- a/services/bl01t-ea-test-01/compose.yml
+++ b/services/bl01t-ea-test-01/compose.yml
@@ -17,11 +17,7 @@ services:
IOC_PREFIX: BL01T-EA-TEST-01
volumes:
- - type: volume
- source: opi_auto
- target: /epics/opi
- volume:
- subpath: bl01t-ea-test-01
+ - ../opi/bl01t-ea-test-01:/epics/opi
configs:
- source: bl01t-ea-test-01_config
diff --git a/services/epics-opis/compose.yml b/services/epics-opis/compose.yml
index 2d12ce2..c04171f 100644
--- a/services/epics-opis/compose.yml
+++ b/services/epics-opis/compose.yml
@@ -16,7 +16,7 @@ services:
- channel_access
volumes:
- - opi:/opi
+ - ../opi:/opi
profiles:
- deploy
diff --git a/services/phoebus/compose.yml b/services/phoebus/compose.yml
index b5d8c62..d97e221 100644
--- a/services/phoebus/compose.yml
+++ b/services/phoebus/compose.yml
@@ -12,7 +12,7 @@ services:
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- ~/.Xauthority:/root/.Xauthority
- - opi:/opi
+ - ../opi:/opi
# for X11 to work we need to run as the same UID as the host
# IMPORTANT: set UIDGID to your host user:group e.g. 1000:1000
# BUT: always to 0:0 if you are using podman