diff --git a/ADAravis/ADAravis.ibek.support.yaml b/ADAravis/ADAravis.ibek.support.yaml index eb2edad..9a51569 100644 --- a/ADAravis/ADAravis.ibek.support.yaml +++ b/ADAravis/ADAravis.ibek.support.yaml @@ -2,33 +2,33 @@ module: ADAravis -defs: +entity_models: - name: aravisCamera description: |- Creates a aravisCamera camera areaDetector driver - args: - - type: str - name: P + parameters: + P: + type: str description: |- PV Prefix - - type: str - name: R + R: + type: str description: |- PV Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the camera - - type: str - name: ID + ID: + type: str description: |- Cam ip address, hostname, MAC address, or ID -, (e.g. Prosilica-02-2166A-06844) - - type: enum - name: CLASS + CLASS: + type: enum description: |- Camera class for custom commands values: @@ -74,31 +74,35 @@ defs: AVT_Mako_G234B: AVT_Manta_G609B: JAI_CM140: - - - type: int - name: BUFFERS + BUFFERS: + type: int description: |- Maximum number of NDArray buffers to be created for plugin callbacks default: 50 - - type: int - name: MEMORY + MEMORY: + type: int description: |- Max memory to allocate, should be maxw*maxh*nbuffer for driver and all attached plugins default: -1 - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout, default 1 default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address, default 0 default: 0 + pre_init: + - value: | + # aravisConfig(const char *portName, const char *cameraName, size_t maxMemory, int priority, int stackSize) + aravisConfig("{{PORT}}", "{{ID}}", {{MEMORY}}, 0, 1) + databases: - file: $(ADARAVIS)/db/aravisCamera.template args: @@ -116,32 +120,25 @@ defs: TIMEOUT: ADDR: - pre_init: - - value: | - # aravisConfig(const char *portName, const char *cameraName, size_t maxMemory, int priority, int stackSize) - aravisConfig("{{PORT}}", "{{ID}}", {{MEMORY}}, 0, 1) - pvi: yaml_path: ADDriver.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) - name: aravisSettings description: |- Creates detailed settings screens for and Aravis camera - - args: - - type: object + parameters: + camera: + type: object description: the aravisCamera object to create settings for - name: camera - pvi: yaml_path: arvFeature.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 }}' diff --git a/ADCore/ADCore.ibek.support.yaml b/ADCore/ADCore.ibek.support.yaml index 7ce2e39..5078fce 100644 --- a/ADCore/ADCore.ibek.support.yaml +++ b/ADCore/ADCore.ibek.support.yaml @@ -2,57 +2,57 @@ module: ADCore -defs: +entity_models: - name: NDFileNexus description: |- This plugin can compress NDArrays to Nexus and write them to file - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFileNexus plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -67,19 +67,23 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDFileNexusConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDFileNexusConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDFileNexus.template args: @@ -93,66 +97,61 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDFileNexusConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDFileNexusConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - - name: NDFFT description: |- This plugin is used to calculate the FFT of a time series - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device prefix - - type: str - name: R + R: + type: str description: |- Device suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFFT plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: str - name: NCHANS + NCHANS: + type: str description: |- Length of time series waveform - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Asyn port timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -167,49 +166,53 @@ defs: .5 second: Event: I/O Intr: - - - type: float - name: TIME_LINK + TIME_LINK: + type: float description: |- Time in seconds between points (Can point to a record - use CP) default: 0.1 - - type: int - name: NAME + NAME: + type: int description: |- Label for signal default: 0 - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: PRIORITY + PRIORITY: + type: int description: |- Thread priority if ASYN_CANBLOCK is set default: 0 - - type: int - name: STACKSIZE + STACKSIZE: + type: int description: |- Stack size if ASYN_CANBLOCK is set default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 + pre_init: + - value: | + # NDFFTConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDFFTConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}, {{MAX_THREADS}}) + databases: - file: $(ADCORE)/db/NDFFT.template args: @@ -226,61 +229,56 @@ defs: SCANRATE: ADDR: - pre_init: - - value: | - # NDFFTConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDFFTConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}, {{MAX_THREADS}}) - - name: NDPosPlugin description: |- This plugin attaches position information to NDArrays - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDPosPlugin plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Asyn timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -295,31 +293,35 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: PRIORITY + PRIORITY: + type: int description: |- Max buffers to allocate default: 0 - - type: int - name: STACKSIZE + STACKSIZE: + type: int description: |- Max buffers to allocate default: 0 + pre_init: + - value: | + # NDPosPluginConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize) + NDPosPluginConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}) + databases: - file: $(ADCORE)/db/NDPosPlugin.template args: @@ -333,61 +335,56 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDPosPluginConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize) - NDPosPluginConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}) - - name: NDOverlay description: |- This plugin writes overlays on the array, like cursors and boxes - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDOverlay plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -402,80 +399,84 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 - - type: str - name: O + O: + type: str description: |- NDOverlay Device Suffix - - type: str - name: NAME + NAME: + type: str description: |- Name for the overlay - - type: str - name: SHAPE + SHAPE: + type: str description: |- Shape of the overlay - - type: str - name: XPOS + XPOS: + type: str description: |- Link for the XPos of the overlay - - type: str - name: YPOS + YPOS: + type: str description: |- Link for the YPos of the overlay - - type: str - name: XCENT + XCENT: + type: str description: |- Link for the XCent of the overlay - - type: str - name: YCENT + YCENT: + type: str description: |- Link for the YCent of the overlay - - type: str - name: XSIZE + XSIZE: + type: str description: |- Link for the XSize of the overlay - - type: str - name: YSIZE + YSIZE: + type: str description: |- Link for the YSize of the overlay - - type: str - name: XWIDTH + XWIDTH: + type: str description: |- Link for the XWidth of the overlay - - type: str - name: YWIDTH + YWIDTH: + type: str description: |- Link for the YWdith of the overlay + pre_init: + - value: | + # NDOverlayConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, NOverlays, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDOverlayConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, {{NOverlays}}, 0, 0, 0, 0, {{MAX_THREADS}}) + # TODO - MISSING ARGS: NOverlays databases: - file: $(ADCORE)/db/NDOverlay.template args: @@ -508,61 +509,56 @@ defs: YCENT: ADDR: - pre_init: - - value: | - # NDOverlayConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, NOverlays, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDOverlayConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, {{NOverlays}}, 0, 0, 0, 0, {{MAX_THREADS}}) - # TODO - MISSING ARGS: NOverlays - name: NDColorConvert description: |- This plugin converts arrays from one colour type to another, e.g. Bayer -> RGB1 - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDColorConvert plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -577,25 +573,29 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 + pre_init: + - value: | + # NDColorConvertConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDColorConvertConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) + databases: - file: $(ADCORE)/db/NDColorConvert.template args: @@ -609,61 +609,56 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDColorConvertConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDColorConvertConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) - - name: NDFileHDF5 description: |- This plugin can compress NDArrays to HDF5 and write them to file - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFileHDF5 plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Asyn Port timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -678,25 +673,29 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: XMLSIZE + XMLSIZE: + type: int description: |- Number of elements of the XML layout waveform record default: 2048 - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDFileHDF5Configure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDFileHDF5Configure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDFileHDF5.template args: @@ -711,57 +710,52 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDFileHDF5Configure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDFileHDF5Configure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - pvi: yaml_path: NDFileHDF5.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) - name: NDFileNull description: |- Null file plugin for deleting driver files - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFileHDF5 plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -776,31 +770,35 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDFileNullConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDFileNullConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDFileNull.template args: @@ -814,43 +812,38 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDFileNullConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDFileNullConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - - name: NDStdArrays description: |- This plugin provides a waveform record that can display the NDArrays produced by its NDARRAY_PORT - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDStdArrays plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: str - name: TYPE + TYPE: + type: str description: |- Asyn Type e.g. Int32 - - type: enum - name: FTVL + FTVL: + type: enum description: |- Field Type of Value values: @@ -864,38 +857,37 @@ defs: LONG: FLOAT: CHAR: - - - type: int - name: NELEMENTS + NELEMENTS: + type: int description: |- Number of elements - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -910,25 +902,29 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 + pre_init: + - value: | + # NDStdArraysConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDStdArraysConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) + databases: - file: $(ADCORE)/db/NDStdArrays.template args: @@ -945,61 +941,56 @@ defs: TYPE: PORT: - pre_init: - - value: | - # NDStdArraysConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDStdArraysConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) - - name: _NDCircularBuff description: |- TODO:ADD DESCRIPTION - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: str - name: PORT + PORT: + type: str description: |- Asyn Port name - - type: str - name: NDARRAY_PORT + NDARRAY_PORT: + type: str description: |- Input Array Port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input Array Address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1014,15 +1005,14 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: PRECOUNT + PRECOUNT: + type: int description: |- Pre-trigger frame count default: 100 - - type: int - name: POSTCOUNT + POSTCOUNT: + type: int description: |- Post-trigger frame count default: 100 @@ -1046,53 +1036,53 @@ defs: description: |- This plugin can compress NDArrays to a range of formats supported by graphics magick and write them to file - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFileMagick plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1107,19 +1097,23 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDFileMagickConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDFileMagickConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDFileMagick.template args: @@ -1133,61 +1127,56 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDFileMagickConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDFileMagickConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - - name: NDCircularBuff description: |- This plugin provides a pre and post external trigger frame capture buffer - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the FFT_calc plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 1 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1202,37 +1191,41 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: PRECOUNT + PRECOUNT: + type: int description: |- Pre-trigger frame count default: 100 - - type: int - name: POSTCOUNT + POSTCOUNT: + type: int description: |- Post-trigger frame count default: 100 - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 50 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_BUFFERS + MAX_BUFFERS: + type: int description: |- Max buffer size in number of frames default: 128 + pre_init: + - value: | + # NDCircularBuffConfigure(portName, queueSize, blockingCallbacks, + NDCircularBuffConfigure( + databases: - file: $(ADCORE)/db/NDCircularBuff.template args: @@ -1248,61 +1241,56 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDCircularBuffConfigure(portName, queueSize, blockingCallbacks, - NDCircularBuffConfigure( - - name: NDAttrPlot description: |- TODO:ADD DESCRIPTION - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device prefix - - type: str - name: R + R: + type: str description: |- Device suffix - - type: id - name: PORT + PORT: + type: id description: |- Asyn port name - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Asyn port of the callback source - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Asyn address of the callback source default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1317,45 +1305,48 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 10000 - - type: int - name: N_CACHE + N_CACHE: + type: int description: |- Number of NDArrays to store in cache default: 10000 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: str - name: ATTR_IND + ATTR_IND: + type: str description: |- Attribute index - - type: str - name: AXIS + AXIS: + type: str description: |- Axis name - - type: str - name: DATA_IND + DATA_IND: + type: str description: |- Data index - - type: str - name: DATA_ADDR + DATA_ADDR: + type: str description: |- Asyn address for this data array + pre_init: + - value: | + NDAttrPlotConfig("{{PORT}}", {{N_ATTRS}}, {{N_CACHE}}, + # TODO - MISSING ARGS: N_ATTRS databases: - file: $(ADCORE)/db/NDAttrPlotAttr.template args: @@ -1386,60 +1377,56 @@ defs: PORT: AXIS: - pre_init: - - value: | - NDAttrPlotConfig("{{PORT}}", {{N_ATTRS}}, {{N_CACHE}}, - # TODO - MISSING ARGS: N_ATTRS - name: NDCodec description: |- This plugin can compress or decompress NDArrays - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDCodec plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Asyn timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1454,25 +1441,29 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 + pre_init: + - value: | + # NDCodecConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDCodecConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) + databases: - file: $(ADCORE)/db/NDCodec.template args: @@ -1486,51 +1477,46 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDCodecConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDCodecConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) - - name: NDGather description: |- This plugin is used to gather NDArrays from multiple upstream plugins and merge them into a single stream - args: - - type: str - name: NDARRAY_PORT + parameters: + NDARRAY_PORT: + type: str description: |- Input Array Port - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDGather plugin - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input Array Address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1545,35 +1531,39 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_PORTS + MAX_PORTS: + type: int description: |- Maximum number of ports that this plugin can connect to for callbacks default: 5 - - type: str - name: P + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix + pre_init: + - value: | + # NDGatherConfigure(portName, queueSize, blockingCallbacks, maxPorts) + NDGatherConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{MAX_PORTS}}") + databases: - file: $(ADCORE)/db/NDGather.template args: @@ -1588,62 +1578,57 @@ defs: MAX_PORTS: PORT: - pre_init: - - value: | - # NDGatherConfigure(portName, queueSize, blockingCallbacks, maxPorts) - NDGatherConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{MAX_PORTS}}") - - name: NDROI description: |- This plugin selects a region of interest and optionally scales it to fit in a particular data type - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDROI plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1658,25 +1643,29 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 + pre_init: + - value: | + # NDROIConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDROIConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) + databases: - file: $(ADCORE)/db/NDROI.template args: @@ -1690,69 +1679,64 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDROIConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDROIConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) - pvi: yaml_path: NDPluginROI.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) - name: NDAttribute description: |- This plugin displays NDArray attributes - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDAttribute plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1767,37 +1751,49 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_ATTRIBUTES + MAX_ATTRIBUTES: + type: int description: |- Maximum number of attributes in this plugin default: 8 - - type: int - name: NCHANS + NCHANS: + type: int description: |- Number of points in the arrays default: 4096 - - type: str - name: TS_PORT + TS_PORT: + type: str description: |- Asyn Port of Time Series plugin default: $(PORT)_TS + pre_init: + - when: first + value: | + # ADCore path for manual NDTimeSeries.template to find base plugin template + epicsEnvSet "EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db" + + - value: | + # NDAttrConfigure(portName, queueSize, blockingCallbacks, + NDAttrConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, + # NDTimeSeriesConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxSignals) + NDTimeSeriesConfigure("{{PORT}}_TS", {{QUEUE}}, {{BLOCK}}, "{{PORT}}", 1, {{MAX_ATTRIBUTES}}) + # Load time series records + databases: - file: $(ADCORE)/db/NDAttributeN.template args: @@ -1821,108 +1817,95 @@ defs: TIMEOUT: PORT: - pre_init: - - when: first - value: | - # ADCore path for manual NDTimeSeries.template to find base plugin template - epicsEnvSet "EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db" - - - value: | - # NDAttrConfigure(portName, queueSize, blockingCallbacks, - NDAttrConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, - # NDTimeSeriesConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxSignals) - NDTimeSeriesConfigure("{{PORT}}_TS", {{QUEUE}}, {{BLOCK}}, "{{PORT}}", 1, {{MAX_ATTRIBUTES}}) - # Load time series records - - name: NDStats description: |- This plugin calculates statistics like X and Y profile, centroid, and plots a histogram of binned pixels - args: - - type: id - name: PORT + parameters: + PORT: + type: id description: |- Port name for the NDStats plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: HIST_SIZE + HIST_SIZE: + type: int description: |- Maximum size of Pixel binning histogram (e.g. 256 for Int8) - - type: str - name: P + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: int - name: XSIZE + XSIZE: + type: int description: |- XSIZE, Maximum size of X histograms (e.g. 1024) - - type: int - name: YSIZE + YSIZE: + type: int description: |- Maximum size of Y histograms (e.g. 768) - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: int - name: NCHANS + NCHANS: + type: int description: |- Maximum length of time series (initialises waveform NELM, fixed on IOC boot) default: 2048 - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -1937,13 +1920,26 @@ defs: .5 second: Event: I/O Intr: - - - type: str - name: TS_PORT + TS_PORT: + type: str description: |- TS port default: $(PORT)_TS + pre_init: + - when: first + value: | + # ADCore path for manual NDTimeSeries.template to find base plugin template + epicsEnvSet "EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db" + + - value: | + # NDStatsConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDStatsConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) + # NDTimeSeriesConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxSignals) + NDTimeSeriesConfigure("{{PORT}}_TS", {{QUEUE}}, {{BLOCK}}, "{{PORT}}", 1, 23) + # Load time series records + dbLoadRecords("$(ADCORE)/db/NDTimeSeries.template", "P={{P}},R={{R}}, PORT={{PORT}} ,ADDR={{ADDR}},TIMEOUT={{TIMEOUT}},NDARRAY_PORT={{NDARRAY_PORT}},NDARRAY_ADDR={{NDARRAY_ADDR}},NCHANS={{NCHANS}},ENABLED={{ENABLED}}") + databases: - file: $(ADCORE)/db/NDStats.template args: @@ -1962,83 +1958,69 @@ defs: SCANRATE: ADDR: - pre_init: - - when: first - value: | - # ADCore path for manual NDTimeSeries.template to find base plugin template - epicsEnvSet "EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db" - - - value: | - # NDStatsConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDStatsConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) - # NDTimeSeriesConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxSignals) - NDTimeSeriesConfigure("{{PORT}}_TS", {{QUEUE}}, {{BLOCK}}, "{{PORT}}", 1, 23) - # Load time series records - dbLoadRecords("$(ADCORE)/db/NDTimeSeries.template", "P={{P}},R={{R}}, PORT={{PORT}} ,ADDR={{ADDR}},TIMEOUT={{TIMEOUT}},NDARRAY_PORT={{NDARRAY_PORT}},NDARRAY_ADDR={{NDARRAY_ADDR}},NCHANS={{NCHANS}},ENABLED={{ENABLED}}") - pvi: yaml_path: NDPluginStats.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) - name: NDTimeSeries description: |- This plugin creates time series arrays from callback data - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device prefix - - type: str - name: R + R: + type: str description: |- Device suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDTimeSeries plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: str - name: NCHANS + NCHANS: + type: str description: |- Length of time series waveform - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2053,48 +2035,52 @@ defs: .5 second: Event: I/O Intr: - - - type: float - name: TIME_LINK + TIME_LINK: + type: float description: |- Time between points (Can point to a record - use CP) default: 0.1 - - type: int - name: NSIGNALS + NSIGNALS: + type: int description: |- Maximum number of time series signals default: 1 - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: PRIORITY + PRIORITY: + type: int description: |- Thread priority if ASYN_CANBLOCK is set default: 0 - - type: int - name: STACKSIZE + STACKSIZE: + type: int description: |- Stack size if ASYN_CANBLOCK is set default: 0 - - type: str - name: NAME + NAME: + type: str description: |- Name of the signal + pre_init: + - value: | + # NDTimeSeriesConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxSignals, maxBuffers, maxMemory, priority, stackSize) + NDTimeSeriesConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, {{NSIGNALS}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}) + databases: - file: $(ADCORE)/db/NDTimeSeries.template args: @@ -2120,47 +2106,41 @@ defs: PORT: NAME: - pre_init: - - value: | - # NDTimeSeriesConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxSignals, maxBuffers, maxMemory, priority, stackSize) - NDTimeSeriesConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, {{NSIGNALS}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}) - - name: NDAttributes description: |- Add an attribute to the NDAttributes file for a particular ADDriver or NDPlugin, and associate it with the NDAttributes file - args: - - type: object - name: port + parameters: + port: + type: object description: |- ADDriver or NDPlugin to attach xml file to - - type: str - name: source + source: + type: str description: |- The EPICS PV (if type=EPICS_PV) or attribute name (if type=PARAM) - - type: id - name: name + name: + type: id description: |- Object name. You do not need to specify this - - type: str - name: attrname + attrname: + type: str description: |- Name of the attribute. If you leave this blank it defaults to - - type: enum - name: type + type: + type: enum description: |- Where the data should be picked up from default: EPICS_PV values: EPICS_PV: PARAM: - - - type: enum - name: dbrtype + dbrtype: + type: enum description: |- DBR type (only used if type=EPICS_PV) default: DBR_NATIVE @@ -2173,9 +2153,8 @@ defs: DBR_ENUM: DBR_LONG: DBR_FLOAT: - - - type: enum - name: datatype + datatype: + type: enum description: |- Data type (only used if type=PARAM) default: INT @@ -2183,14 +2162,13 @@ defs: INT: DOUBLE: STRING: - - - type: str - name: description + description: + type: str description: |- Description of the attribute - - type: int - name: addr + addr: + type: int description: |- Asyn address of the parameter (only used if type=PARAM) default: 0 @@ -2203,53 +2181,53 @@ defs: description: |- This plugin does image processing like flat field correction, background subtraction, and recursive filtering - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDProcess plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2264,19 +2242,23 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDProcessConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDProcessConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDProcess.template args: @@ -2290,69 +2272,64 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDProcessConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDProcessConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - pvi: yaml_path: NDPluginProcess.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) - name: NDFileTIFF description: |- This plugin can compress NDArrays to TIFF and write them to file - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFileTIFF plugin - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2367,19 +2344,23 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDFileTIFFConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDFileTIFFConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDFileTIFF.template args: @@ -2393,51 +2374,46 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDFileTIFFConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDFileTIFFConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - - name: NDGather8 description: |- This plugin is used to gather NDArrays from multiple upstream plugins and merge them into a single stream - args: - - type: str - name: NDARRAY_PORT + parameters: + NDARRAY_PORT: + type: str description: |- Input Array Port - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDGather plugin - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input Array Address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2452,36 +2428,35 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: str - name: P + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: str - name: N + N: + type: str description: |- Port number (1 - maxPorts) - - type: str - name: MAX_PORTS + MAX_PORTS: + type: str description: |- Maximum number ports @@ -2513,53 +2488,53 @@ defs: - name: NDROIStat description: |- This plugin calculates statistics of ROIs - args: - - type: str - name: P + parameters: + P: + type: str description: |- First part of base PV name - - type: str - name: R + R: + type: str description: |- Second part of base PV name - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDPluginROIStat plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- asyn address on port default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2574,37 +2549,41 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_ROIS + MAX_ROIS: + type: int description: |- Maximum number of ROIs in this plugin default: 8 - - type: int - name: NCHANS + NCHANS: + type: int description: |- Number of points in the arrays default: 4096 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 + pre_init: + - value: | + # NDROIStatConfigure(portName, queueSize, blockingCallbacks, + NDROIStatConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, + databases: - file: $(ADCORE)/db/NDROIStatN.template args: @@ -2628,61 +2607,56 @@ defs: TIMEOUT: SCANRATE: - pre_init: - - value: | - # NDROIStatConfigure(portName, queueSize, blockingCallbacks, - NDROIStatConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, - - name: NDFileNetCDF description: |- This plugin can compress NDArrays to NetCDF and write them to file - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFileNetCDF plugin - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2697,19 +2671,23 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDFileNetCDFConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDFileNetCDFConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDFileNetCDF.template args: @@ -2723,66 +2701,61 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDFileNetCDFConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDFileNetCDFConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - - name: NDPvaPlugin description: |- This plugin makes NDArrays available through PVAccess - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDPosPlugin plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: str - name: PVNAME + PVNAME: + type: str description: |- Name of the PV to post NDArray out on - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Asyn timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2797,31 +2770,36 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: PRIORITY + PRIORITY: + type: int description: |- Max buffers to allocate default: 0 - - type: int - name: STACKSIZE + STACKSIZE: + type: int description: |- Max buffers to allocate default: 0 + pre_init: + - value: | + # NDPvaConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, pvName, maxBuffers, maxMemory, priority, stackSize) + NDPvaConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, {{PVNAME}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}) + startPVAServer + databases: - file: $(ADCORE)/db/NDPva.template args: @@ -2835,70 +2813,64 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDPvaConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, pvName, maxBuffers, maxMemory, priority, stackSize) - NDPvaConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, {{PVNAME}}, 0, 0, {{PRIORITY}}, {{STACKSIZE}}) - startPVAServer - pvi: yaml_path: NDPluginPva.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) - name: NDTransform description: |- This plugin selects a region of interest and optionally scales it to fit in a particular data type - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDTransform plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -2913,25 +2885,29 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 - - type: int - name: MAX_THREADS + MAX_THREADS: + type: int description: |- Maximum number threads default: 1 + pre_init: + - value: | + # NDTransformConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) + NDTransformConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) + databases: - file: $(ADCORE)/db/NDTransform.template args: @@ -2945,61 +2921,56 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDTransformConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr, maxBuffers, maxMemory, priority, stackSize, maxThreads) - NDTransformConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}, 0, 0, 0, 0, {{MAX_THREADS}}) - - name: NDFileJPEG description: |- This plugin can compress NDArrays to JPEG and write them to file - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDFileJPEG plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -3014,19 +2985,23 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDFileJPEGConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDFileJPEGConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) + databases: - file: $(ADCORE)/db/NDFileJPEG.template args: @@ -3040,61 +3015,56 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDFileJPEGConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDFileJPEGConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) - - name: NDScatter description: |- This plugin is used to distribute processing of NDArrays to multiple downstream plugins - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: id - name: PORT + PORT: + type: id description: |- Port name for the NDTimeSeries plugin - - type: object - name: NDARRAY_PORT + NDARRAY_PORT: + type: object description: |- Input array port - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout default: 1 - - type: int - name: ADDR + ADDR: + type: int description: |- Asyn Port address default: 0 - - type: int - name: NDARRAY_ADDR + NDARRAY_ADDR: + type: int description: |- Input array port address default: 0 - - type: int - name: ENABLED + ENABLED: + type: int description: |- Plugin Enabled at startup? default: 0 - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -3109,25 +3079,28 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: NAME + NAME: + type: int description: |- Label for signal default: 0 - - type: int - name: QUEUE + QUEUE: + type: int description: |- Input array queue size default: 2 - - type: int - name: BLOCK + BLOCK: + type: int description: |- Blocking callbacks? default: 0 + pre_init: + - value: | + # NDScatterConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) + NDScatterConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) databases: - file: $(ADCORE)/db/NDScatter.template args: @@ -3141,7 +3114,3 @@ defs: TIMEOUT: PORT: - pre_init: - - value: | - # NDScatterConfigure(portName, queueSize, blockingCallbacks, NDArrayPort, NDArrayAddr) - NDScatterConfigure("{{PORT}}", {{QUEUE}}, {{BLOCK}}, "{{NDARRAY_PORT}}", {{NDARRAY_ADDR}}) diff --git a/ADSimDetector/ADSimDetector.ibek.support.yaml b/ADSimDetector/ADSimDetector.ibek.support.yaml index 1503cfa..68d59a5 100644 --- a/ADSimDetector/ADSimDetector.ibek.support.yaml +++ b/ADSimDetector/ADSimDetector.ibek.support.yaml @@ -2,52 +2,55 @@ module: ADSimDetector -defs: +entity_models: - name: simDetector description: |- Creates a simulation detector - - args: - - type: str - name: P + parameters: + P: + type: str description: Device Prefix - - type: str - name: R + R: + type: str description: Device Suffix - - type: id - name: PORT + PORT: + type: id description: Port name for the detector - - type: str - name: TIMEOUT + TIMEOUT: + type: str description: Timeout - default: "1" - - type: str - name: ADDR - default: "0" + default: '1' + ADDR: + type: str + default: '0' description: Asyn Port address - - type: int - name: WIDTH + WIDTH: + type: int default: 1280 description: Image Width - - type: int - name: HEIGHT + HEIGHT: + type: int default: 1024 description: Image Height - - type: int - name: DATATYPE + DATATYPE: + type: int description: Datatype default: 1 - - type: int - name: BUFFERS + BUFFERS: + type: int description: Maximum number of NDArray buffers to be created for plugin callbacks default: 50 - - type: int - name: MEMORY - description: - Max memory to allocate, should be maxw*maxh*nbuffer for driver and - all attached plugins + MEMORY: + type: int + description: Max memory to allocate, should be maxw*maxh*nbuffer for driver and all attached plugins default: 0 + pre_init: + - type: text + value: | + # simDetectorConfig(portName, maxSizeX, maxSizeY, dataType, maxBuffers, maxMemory) + simDetectorConfig("{{PORT}}", {{WIDTH}}, {{HEIGHT}}, {{DATATYPE}}, {{BUFFERS}}, {{MEMORY}}) + databases: - file: $(ADSIMDETECTOR)/db/simDetector.template args: @@ -57,16 +60,10 @@ defs: TIMEOUT: ADDR: - pre_init: - - type: text - value: | - # simDetectorConfig(portName, maxSizeX, maxSizeY, dataType, maxBuffers, maxMemory) - simDetectorConfig("{{PORT}}", {{WIDTH}}, {{HEIGHT}}, {{DATATYPE}}, {{BUFFERS}}, {{MEMORY}}) - pvi: yaml_path: simDetector.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) diff --git a/FINS/FINS.ibek.support.yaml b/FINS/FINS.ibek.support.yaml index 3c95be1..972f70a 100644 --- a/FINS/FINS.ibek.support.yaml +++ b/FINS/FINS.ibek.support.yaml @@ -2,53 +2,53 @@ module: FINS -defs: +entity_models: - name: FINSTemplate description: |- Instantiate FINS db template - args: - - type: id - name: device + parameters: + device: + type: id description: |- Device name - - type: str - name: port + port: + type: str description: |- asyn port to use for connection - - type: int - name: etn + etn: + type: int description: |- PLC Ethernet module address default: 0x10 databases: - file: FINS.template - args: { device, port, etn: "{{ etn | int }}" } + args: {device: null, port: null, etn: '{{ etn | int }}'} - name: FINSUDPInit description: |- This creates an asyn port which communicates with a FINS device over UDP - args: - - type: str - name: ip + parameters: + ip: + type: str description: |- IP port of FINS device - - type: id - name: name + name: + type: id description: |- Asyn port name - - type: str - name: simulation + simulation: + type: str description: |- IP port of simulation device pre_init: - - value: | + - value: |2 # finsUDPInit(asyn_port, ip_addr) - value: | @@ -58,14 +58,14 @@ defs: description: |- This creates a port that will send FINS command in a Hostlink wrapper to a PLC over a serial port. - args: - - type: object - name: asyn_port + parameters: + asyn_port: + type: object description: |- Asyn port for serial comms (possibly over terminal server) - - type: id - name: name + name: + type: id description: |- Asyn port name created by FINS driver @@ -80,19 +80,19 @@ defs: description: |- This creates an asyn port which communicates with a FINS device over TCP - args: - - type: str - name: ip + parameters: + ip: + type: str description: |- IP port of FINS device - - type: id - name: name + name: + type: id description: |- Asyn port name - - type: str - name: simulation + simulation: + type: str description: |- IP port of simulation device diff --git a/_global/epics.ibek.support.yaml b/_global/epics.ibek.support.yaml index 372870b..17400eb 100644 --- a/_global/epics.ibek.support.yaml +++ b/_global/epics.ibek.support.yaml @@ -1,88 +1,88 @@ # yaml-language-server: $schema=https://github.com/epics-containers/ibek/releases/download/2.0.2/ibek.support.schema.json module: epics -defs: +entity_models: - name: EpicsCaMaxArrayBytes description: Set the maximum size in bytes for sending arrays over channel access - args: - - type: int - name: max_bytes + parameters: + max_bytes: + type: int description: Max size in bytes for sending arrays over channel access default: 6000000 env_vars: - name: EPICS_CA_MAX_ARRAY_BYTES - value: "{{ max_bytes }}" + value: '{{ max_bytes }}' - name: EpicsTsMinWest description: Set the relative time zone minutes West relative to GMT (+/-720) - args: - - type: int - name: minutes_west + parameters: + minutes_west: + type: int description: relative time zone minutes default: 0 env_vars: - name: EPICS_TS_MIN_WEST - value: "{{ minutes_west }}" + value: '{{ minutes_west }}' - name: dbpf description: Set a PV value after iocInit - args: - - type: str - name: pv + parameters: + pv: + type: str description: Name of PV - - type: str - name: value + value: + type: str description: Value to set post_init: - value: dbpf "{{ pv }}" "{{ value }}" - name: EpicsEnvSet description: Set an environment variable in the ioc Shell - args: - - type: str - name: name + parameters: + name: + type: str description: Name of environment variable - - type: str - name: value + value: + type: str description: Value of environment variable env_vars: - - name: "{{ name }}" - value: "{{ value }}" + - name: '{{ name }}' + value: '{{ value }}' - name: StartupCommand description: Adds an arbitrary command in the startup script before iocInit - args: - - type: str - name: command + parameters: + command: + type: str description: command string - default: "" + default: '' pre_init: - type: text - value: "{{ command }}" + value: '{{ command }}' - name: PostStartupCommand description: Adds an arbitrary command in the startup script after iocInit - args: - - type: str - name: command + parameters: + command: + type: str description: command string - default: "" + default: '' post_init: - type: text - value: "{{ command }}" + value: '{{ command }}' - name: InterruptVectorVME description: Reserve a VME interrupt vector - args: - - type: id - name: name + parameters: + name: + type: id description: A name for an interrupt vector variable - - type: int - name: count + count: + type: int description: The number of interrupt vectors to reserve default: 1 env_vars: - - name: "{{ name }}" - value: '{{ __utils__.counter("InterruptVector", start=192, stop=255, inc=count) }}' + - name: '{{ name }}' + value: '{{ _global.incrementor("InterruptVector", start=192, stop=255, inc=count) }}' diff --git a/asyn/asyn.ibek.support.yaml b/asyn/asyn.ibek.support.yaml index a9cbfab..c34fd45 100644 --- a/asyn/asyn.ibek.support.yaml +++ b/asyn/asyn.ibek.support.yaml @@ -2,66 +2,66 @@ module: asyn -defs: +entity_models: - name: AsynIP description: |- Asyn IP Port - args: - - type: str - name: port + parameters: + port: + type: str description: |- IP address optionally followed by :port - - type: id - name: name + name: + type: id description: |- Identifying port name - - type: str - name: input_eos + input_eos: + type: str description: |- Input end of string (terminator) - default: "\\n" + default: \n - - type: str - name: output_eos + output_eos: + type: str description: |- Output end of string (terminator) - default: "\\n" + default: \n - - type: int - name: priority + priority: + type: int description: |- Priority default: 100 # TODO - can we handle these as bool? - - type: int - name: noAutoConnect + noAutoConnect: + type: int description: |- Set to stop autoconnect default: 0 - - type: int - name: noProcessEos + noProcessEos: + type: int description: |- Set to avoid processing end of string default: 0 - - type: str - name: simulation + simulation: + type: str description: |- IP port to connect to if in simulation mode - default: "" + default: '' - - type: int - name: baud + baud: + type: int description: |- Baud Rate default: 9600 - - type: enum - name: parity + parity: + type: enum description: |- Parity values: @@ -70,8 +70,8 @@ defs: odd: default: none - - type: enum - name: crtscts + crtscts: + type: enum description: |- Set hardware flow control on values: @@ -79,17 +79,17 @@ defs: N: default: N - - type: enum - name: stop + stop: + type: enum description: |- Stop Bits values: - "1": - "2": - default: "1" + '1': + '2': + default: '1' - - type: enum - name: disconnectOnReadTimeout + disconnectOnReadTimeout: + type: enum description: |- Disconnect when a read times out values: @@ -98,7 +98,7 @@ defs: default: N pre_init: - - value: | + - value: |2 # drvAsynIPPortConfigure(name, port, priority, noAutoConnect, noProcessEos) when: first @@ -118,96 +118,91 @@ defs: - name: AsynIPServer description: |- Asyn IP Server Port - args: - - type: str - name: port + parameters: + port: + type: str description: |- Serial port tty name / IP address optionally followed by protocol - - type: id - name: name + name: + type: id description: |- Override name - - type: str - name: input_eos + input_eos: + type: str description: |- Input end of string (terminator) - - type: str - name: output_eos + output_eos: + type: str description: |- Output end of string (terminator) - - type: int - name: priority + priority: + type: int description: |- Priority default: 100 - - type: bool - name: noAutoConnect + noAutoConnect: + type: bool description: |- Set to stop autoconnect - - type: bool - name: noProcessEos + noProcessEos: + type: bool description: |- Set to avoid processing end of string - - type: str - name: simulation + simulation: + type: str description: |- IP port to connect to if in simulation mode - - type: int - name: baud + baud: + type: int description: |- Baud Rate - - type: enum - name: parity + parity: + type: enum description: |- Parity values: even: none: odd: - - - type: enum - name: crtscts + crtscts: + type: enum description: |- Set hardware flow control on values: Y: N: - - - type: enum - name: stop + stop: + type: enum description: |- Stop Bits values: - "1": - "2": - - - type: enum - name: disconnectOnReadTimeout + '1': + '2': + disconnectOnReadTimeout: + type: enum description: |- Disconnect when a read times out values: Y: N: - - - type: enum - name: bits + bits: + type: enum description: |- Bits values: - "8": - "5": - "7": - "6": - + '8': + '5': + '7': + '6': pre_init: - value: | %sConfigure("%s", "%s", %d, %d, %d) @@ -218,45 +213,45 @@ defs: - name: Vxi11 description: |- Asyn vxi11 Port - args: - - type: str - name: port + parameters: + port: + type: str description: |- IP address - - type: bool - name: noAutoConnect + noAutoConnect: + type: bool description: |- Set to stop autoconnect - - type: int - name: priority + priority: + type: int description: |- Priority - - type: str - name: simulation + simulation: + type: str description: |- IP port to connect to if in simulation mode - - type: id - name: name + name: + type: id description: |- Asyn Port name - - type: int - name: flags + flags: + type: int description: |- flags (lock devices : recover with IFC) - - type: float - name: timeout + timeout: + type: float description: |- default timeout default: 0.0 - - type: str - name: vxiName + vxiName: + type: str description: |- vxi name default: gpib0 @@ -268,96 +263,91 @@ defs: - name: AsynSerial description: |- Asyn Serial Port - args: - - type: str - name: port + parameters: + port: + type: str description: |- Serial port tty name / IP address optionally followed by protocol - - type: id - name: name + name: + type: id description: |- Override name - - type: str - name: input_eos + input_eos: + type: str description: |- Input end of string (terminator) - - type: str - name: output_eos + output_eos: + type: str description: |- Output end of string (terminator) - - type: int - name: priority + priority: + type: int description: |- Priority default: 100 - - type: bool - name: noAutoConnect + noAutoConnect: + type: bool description: |- Set to stop autoconnect - - type: bool - name: noProcessEos + noProcessEos: + type: bool description: |- Set to avoid processing end of string - - type: str - name: simulation + simulation: + type: str description: |- IP port to connect to if in simulation mode - - type: int - name: baud + baud: + type: int description: |- Baud Rate - - type: enum - name: parity + parity: + type: enum description: |- Parity values: even: none: odd: - - - type: enum - name: crtscts + crtscts: + type: enum description: |- Set hardware flow control on values: Y: N: - - - type: enum - name: stop + stop: + type: enum description: |- Stop Bits values: - "1": - "2": - - - type: enum - name: disconnectOnReadTimeout + '1': + '2': + disconnectOnReadTimeout: + type: enum description: |- Disconnect when a read times out values: Y: N: - - - type: enum - name: bits + bits: + type: enum description: |- Bits values: - "8": - "5": - "7": - "6": - + '8': + '5': + '7': + '6': pre_init: - value: | %sConfigure("%s", "%s", %d, %d, %d) diff --git a/autosave/autosave.ibek.support.yaml b/autosave/autosave.ibek.support.yaml index 505b513..e9c8e16 100644 --- a/autosave/autosave.ibek.support.yaml +++ b/autosave/autosave.ibek.support.yaml @@ -2,73 +2,63 @@ module: autosave -defs: +entity_models: - name: Autosave description: |- TODO:ADD DESCRIPTION - args: - - type: str - name: iocName + parameters: + iocName: + type: str description: |- IOC Name EPICS prefix - - type: int - name: debug + debug: + type: int description: |- Debug level - - type: bool - name: skip_1 + skip_1: + type: bool description: |- If True, don't restore file 1 - - type: str - name: server + server: + type: str description: |- NFS server name (vxWorks bl=False only) - - type: str - name: ip + ip: + type: str description: |- NFS server ip (vsWorks only), or blgateway ip if bl=True - - type: str - name: path + path: + type: str description: |- Root of path to put autosave files in, ioc name will be appended to this - - type: id - name: name + name: + type: id description: |- Object name - - type: int - name: vx_uid + vx_uid: + type: int description: |- UID of vxWorks autosave user default: 37134 - - type: int - name: vx_gid + vx_gid: + type: int description: |- GID of vxWorks autosave group default: 500 - - type: bool - name: bl + bl: + type: bool description: |- If True, then assume we are on a beamline, that ip=blgateway machine ip and make sure the relevant storage server or directory is up before booting. - databases: - - file: $(AUTOSAVE)/db/dlssrfile.template - args: - device: - file: - - file: $(AUTOSAVE)/db/dlssrstatus.template - args: - device: - name: - pre_init: - value: | # Autosave and restore initialisation @@ -88,3 +78,13 @@ defs: create_monitor_set "%s_0.req", 5, "" create_monitor_set "%s_1.req", 30, "" create_monitor_set "%s_2.req", 30, "" + databases: + - file: $(AUTOSAVE)/db/dlssrfile.template + args: + device: + file: + - file: $(AUTOSAVE)/db/dlssrstatus.template + args: + device: + name: + diff --git a/digitelMpc/digitelMpc.ibek.support.yaml b/digitelMpc/digitelMpc.ibek.support.yaml index aba6d77..5e8a89f 100644 --- a/digitelMpc/digitelMpc.ibek.support.yaml +++ b/digitelMpc/digitelMpc.ibek.support.yaml @@ -2,89 +2,84 @@ module: digitelMpc -defs: +entity_models: - name: digitelMpcqT - shared: - - &unit - type: enum - name: unit - description: |- - Unit number for multi drop serial - default: "01" - values: - "21": - "12": - "04": - "27": - "08": - "23": - "31": - "18": - "29": - "14": - "02": - "10": - "06": - "25": - "16": - "32": - "20": - "05": - "13": - "30": - "22": - "19": - "09": - "28": - "17": - "03": - "15": - "26": - "07": - "11": - "24": - "01": description: |- Template database for digitel MPCq - Titanium Sublimation Pump Pete Owens - January 2020 - - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: port + port: + type: str description: |- asyn seral port number (e.g. ty_40_0) - - *unit - - - type: str - name: ctlsrc + unit: + type: enum + description: |- + Unit number for multi drop serial + default: '01' + values: &id001 + '21': + '12': + '04': + '27': + '08': + '23': + '31': + '18': + '29': + '14': + '02': + '10': + '06': + '25': + '16': + '32': + '20': + '05': + '13': + '30': + '22': + '19': + '09': + '28': + '17': + '03': + '15': + '26': + '07': + '11': + '24': + '01': + ctlsrc: + type: str description: |- control source (0 = service, 1 = Ion Pump 1, 2 = Ion Pump 2) - - type: id - name: name + name: + type: id description: |- Object name and gui association name - - type: str - name: protocol + protocol: + type: str description: |- name of protocol file, either digitelMpcq.proto or digitelMpcDual.proto default: digitelMpcq.proto - - type: int - name: totmax + totmax: + type: int description: |- cycle max off time (default 600 mins) default: 600 - - type: int - name: tcmax + tcmax: + type: int description: |- duration- On duration (s) - dual TSP systems on MPCe/q - defaults to 10 default: 20 @@ -100,52 +95,62 @@ defs: port: unit: + shared: + - type: enum + name: unit + description: |- + Unit number for multi drop serial + default: '01' + values: *id001 - name: &digitelMpcPump digitelMpc description: |- TODO:ADD DESCRIPTION - args: - - type: id - name: name + parameters: + name: + type: id description: |- Gui tag - - type: str - name: device + device: + type: str description: |- Device name - - type: object - name: port + port: + type: object description: |- Asyn port - - *unit - - - type: enum - name: proto + unit: + type: enum + description: |- + Unit number for multi drop serial + default: '01' + values: *id001 + proto: + type: enum description: |- Protocol file to use default: digitelMpc.proto values: '"digitelMpc.proto"': '"digitelMpcq.proto"': - databases: - file: $(DIGITELMPC)/db/digitelMpc.template - args: { device, port, unit, proto, name } + args: {device: null, port: null, unit: null, proto: null, name: null} - name: digitelMpcIonp description: |- Template database for digitel MPC - Ion Pump Pete Owens - 30/9/03 - args: - - type: object - name: MPC + parameters: + MPC: + type: object description: |- digitelMPC object - - type: enum - name: proto + proto: + type: enum description: |- Protocol file to use values: @@ -153,18 +158,18 @@ defs: digitelMpcq.proto: default: digitelMpc.proto - - type: id - name: device + device: + type: id description: |- device name - - type: int - name: pump + pump: + type: int description: |- ion pump number (1 or 2) - - type: int - name: size + size: + type: int description: |- pump size (l/s) @@ -173,180 +178,180 @@ defs: # description: |- # Object name and gui association name - - type: float - name: sp1on + sp1on: + type: float description: |- setpoint1 on default: 1e-07 - - type: float - name: sp1off + sp1off: + type: float description: |- setpoint1 off default: 2e-07 - - type: float - name: sp2on + sp2on: + type: float description: |- setpoint2 on default: 1e-07 - - type: float - name: sp2off + sp2off: + type: float description: |- setpoint2 off default: 2e-07 - - type: str - name: alh + alh: + type: str description: |- alarm handler tag (Defaults to None) c.f. mp49's commit 80833 default: None - - type: str - name: text + text: + type: str description: |- Text to display in the ion pump controller window. default: $(device) - - type: str - name: disptext + disptext: + type: str description: |- Template argument default: $(device) databases: - file: $(DIGITELMPC)/db/digitelMpcIonp.template - args: { device, port: "{{MPC.port}}", unit: "{{MPC.unit}}", pump, size, sp1on, sp1off, sp2on, sp2off, alh, text, proto, disptext } + args: {device: null, port: '{{MPC.port}}', unit: '{{MPC.unit}}', pump: null, size: null, sp1on: null, sp1off: null, sp2on: null, sp2off: null, alh: null, text: null, proto: null, disptext: null} - name: digitelMpcTspGroup description: |- Template database for a group of up to 8 digitel MPC TSPs Pete Owens - 11/4/05 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: tsp1 + tsp1: + type: str description: |- TSP 1 device name - - type: str - name: tsp2 + tsp2: + type: str description: |- TSP 2 device name - default: "{{tsp1}}" + default: '{{tsp1}}' - - type: str - name: tsp3 + tsp3: + type: str description: |- TSP 3 device name - default: "{{tsp1}}" + default: '{{tsp1}}' - - type: str - name: tsp4 + tsp4: + type: str description: |- TSP 4 device name - default: "{{tsp1}}" + default: '{{tsp1}}' - - type: str - name: tsp5 + tsp5: + type: str description: |- TSP 5 device name - default: "{{tsp1}}" + default: '{{tsp1}}' - - type: str - name: tsp6 + tsp6: + type: str description: |- TSP 6 device name - default: "{{tsp1}}" + default: '{{tsp1}}' - - type: str - name: tsp7 + tsp7: + type: str description: |- TSP 7 device name - default: "{{tsp1}}" + default: '{{tsp1}}' - - type: str - name: tsp8 + tsp8: + type: str description: |- TSP 8 device name - default: "{{tsp1}}" + default: '{{tsp1}}' databases: - file: $(DIGITELMPC)/db/digitelMpcTspGroup.template - args: { device, tsp1, tsp2, tsp3, tsp4, tsp5, tsp6, tsp7, tsp8 } + args: {device: null, tsp1: null, tsp2: null, tsp3: null, tsp4: null, tsp5: null, tsp6: null, tsp7: null, tsp8: null} - name: digitelMpcIonpGroup description: |- Template database for a group of up to 8 digitel MPC Ion Pumps Pete Owens - 3/5/05 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: int - name: delay + delay: + type: int description: |- delay between starting pumps - - type: str - name: ionp1 + ionp1: + type: str description: |- Ion pump 1 device name - - type: str - name: ionp2 + ionp2: + type: str description: |- Ion pump 2 device name - - type: str - name: ionp3 + ionp3: + type: str description: |- Ion pump 3 device name - - type: str - name: ionp4 + ionp4: + type: str description: |- Ion pump 4 device name - - type: str - name: ionp5 + ionp5: + type: str description: |- Ion pump 5 device name - - type: str - name: ionp6 + ionp6: + type: str description: |- Ion pump 6 device name - - type: str - name: ionp7 + ionp7: + type: str description: |- Ion pump 7 device name - - type: str - name: ionp8 + ionp8: + type: str description: |- Ion pump 8 device name databases: - file: $(DIGITELMPC)/db/digitelMpcIonpGroup.template - args: { device, delay, ionp1, ionp2, ionp3, ionp4, ionp5, ionp6, ionp7, ionp8 } + args: {device: null, delay: null, ionp1: null, ionp2: null, ionp3: null, ionp4: null, ionp5: null, ionp6: null, ionp7: null, ionp8: null} - name: dummyIonp description: |- Template database for dummy Ion Pump. Just holds start, starting and status Malcolm Walters - 02/08/2006 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name @@ -359,21 +364,25 @@ defs: description: |- Template database for digitel MPC - Titanium Sublimation Pump Pete Owens - 13/10/03 - args: - - type: id - name: device + parameters: + device: + type: id description: |- device name - - type: str - name: port + port: + type: str description: |- asyn seral port number (e.g. ty_40_0) - - *unit - - - type: int - name: ctlsrc + unit: + type: enum + description: |- + Unit number for multi drop serial + default: '01' + values: *id001 + ctlsrc: + type: int description: |- control source (0 = service, 1 = Ion Pump 1, 2 = Ion Pump 2) @@ -382,24 +391,24 @@ defs: # description: |- # Object name and gui association name - - type: str - name: protocol + protocol: + type: str description: |- name of protocol file, either digitelMpc.proto or digitelMpcDual.proto default: digitelMpc.proto - - type: int - name: totmax + totmax: + type: int description: |- cycle max off time (default 600 mins) default: 600 - - type: int - name: tcmax + tcmax: + type: int description: |- duration- On duration (s) - new addition May 2010 for dual TSP systems on MPCe - defaults to 10 default: 20 databases: - file: $(DIGITELMPC)/db/digitelMpcTsp.template - args: { device, port, unit, ctlsrc, protocol, totmax, tcmax } + args: {device: null, port: null, unit: null, ctlsrc: null, protocol: null, totmax: null, tcmax: null} diff --git a/ether_ip/ether_ip.ibek.support.yaml b/ether_ip/ether_ip.ibek.support.yaml index 951e644..a610aad 100644 --- a/ether_ip/ether_ip.ibek.support.yaml +++ b/ether_ip/ether_ip.ibek.support.yaml @@ -2,33 +2,33 @@ module: ether_ip -defs: +entity_models: - name: mbboDirect description: |- Simple mbboDirect record for ether_ip connection - args: - - type: str - name: record + parameters: + record: + type: str description: |- Record Name - - type: str - name: port + port: + type: str description: |- Ether_IP Port Name - - type: str - name: scan + scan: + type: str description: |- Scan Time - - type: str - name: tag + tag: + type: str description: |- Tag to address on PLC - - type: str - name: nobt + nobt: + type: str description: |- Number of bits to write @@ -44,64 +44,64 @@ defs: - name: EtherIPInit description: |- This creates an IP connection to a plc using the ether_ip driver - args: - - type: id - name: name + parameters: + name: + type: id description: |- Name - - type: str - name: device + device: + type: str description: |- PV Prefix - - type: str - name: port + port: + type: str description: |- Port Name - - type: str - name: ip + ip: + type: str description: |- IP Port of PLC - databases: - - file: $(ETHER_IP)/db/ether_ip_plcInfo.template - args: - name: - port: - device: - pre_init: - when: first - value: | + value: |2 # EtherIP Initialisation drvEtherIP_init() # Define EtherIP to PLC connection - value: | drvEtherIP_define_PLC("{{port}}", "{{ip}}", 0) + databases: + - file: $(ETHER_IP)/db/ether_ip_plcInfo.template + args: + name: + port: + device: + - name: bi description: |- Simple bi record for ether_ip connection - args: - - type: str - name: record + parameters: + record: + type: str description: |- Record Name - - type: str - name: port + port: + type: str description: |- Ether_IP Port Name - - type: str - name: scan + scan: + type: str description: |- Scan Time - - type: str - name: tag + tag: + type: str description: |- Tag to address on PLC @@ -116,24 +116,24 @@ defs: - name: stringin description: |- Simple stringin record for ether_ip connection - args: - - type: str - name: record + parameters: + record: + type: str description: |- Record Name - - type: str - name: port + port: + type: str description: |- Ether_IP Port Name - - type: str - name: scan + scan: + type: str description: |- Scan Time - - type: str - name: tag + tag: + type: str description: |- Tag to address on PLC @@ -148,24 +148,24 @@ defs: - name: bo description: |- Simple bo record for ether_ip connection - args: - - type: str - name: record + parameters: + record: + type: str description: |- Record Name - - type: str - name: port + port: + type: str description: |- Ether_IP Port Name - - type: str - name: scan + scan: + type: str description: |- Scan Time - - type: str - name: tag + tag: + type: str description: |- Tag to address on PLC @@ -180,24 +180,24 @@ defs: - name: ao description: |- Simple ao record for ether_ip connection - args: - - type: str - name: record + parameters: + record: + type: str description: |- Record Name - - type: str - name: port + port: + type: str description: |- Ether_IP Port Name - - type: str - name: scan + scan: + type: str description: |- Scan Time - - type: str - name: tag + tag: + type: str description: |- Tag to address on PLC @@ -212,24 +212,24 @@ defs: - name: ai description: |- Simple ai record for ether_ip connection - args: - - type: str - name: record + parameters: + record: + type: str description: |- Record Name - - type: str - name: port + port: + type: str description: |- Ether_IP Port Name - - type: str - name: scan + scan: + type: str description: |- Scan Time - - type: str - name: tag + tag: + type: str description: |- Tag to address on PLC @@ -244,29 +244,29 @@ defs: - name: mbbiDirect description: |- Simple mbbiDirect record for ether_ip connection - args: - - type: str - name: record + parameters: + record: + type: str description: |- Record Name - - type: str - name: port + port: + type: str description: |- Ether_IP Port Name - - type: str - name: scan + scan: + type: str description: |- Scan Time - - type: str - name: tag + tag: + type: str description: |- Tag to address on PLC - - type: str - name: nobt + nobt: + type: str description: |- Number of bits to read diff --git a/iocStats/iocStats.ibek.support.yaml b/iocStats/iocStats.ibek.support.yaml index a9f8754..d33f422 100644 --- a/iocStats/iocStats.ibek.support.yaml +++ b/iocStats/iocStats.ibek.support.yaml @@ -2,47 +2,47 @@ module: devIocStats -defs: +entity_models: - name: devIocStatsHelper description: |- TODO:ADD DESCRIPTION - args: - - type: str - name: ioc + parameters: + ioc: + type: str description: |- ioc name - - type: id - name: name + name: + type: id description: |- gui element name - - type: bool - name: scanMonitor + scanMonitor: + type: bool description: |- choice to include scan monitor default: true - - type: bool - name: guiTags + guiTags: + type: bool description: |- choice to include gui tags default: true - - type: str - name: screen + screen: + type: str description: |- edm file for gui tags default: ioc_stats_softdls.edl - - type: str - name: EDM_FILE + EDM_FILE: + type: str description: |- edm screen, defaults to ioc_stats_softdls.edl default: ioc_stats_softdls.edl - - type: str - name: IOC + IOC: + type: str description: |- ioc name @@ -62,9 +62,9 @@ defs: - name: iocAdminVxWorks description: |- Create some records for reading IOC statistics and details. - args: - - type: str - name: IOC + parameters: + IOC: + type: str description: |- Device prefix @@ -76,9 +76,9 @@ defs: - name: iocAdminScanMon description: |- Create some records for reading IOC statistics and details. - args: - - type: str - name: IOC + parameters: + IOC: + type: str description: |- Device prefix @@ -90,21 +90,21 @@ defs: - name: iocGui description: |- TODO:ADD DESCRIPTION - args: - - type: id - name: name + parameters: + name: + type: id description: |- name for gui elements default: None - - type: str - name: EDM_FILE + EDM_FILE: + type: str description: |- edm screen, defaults to ioc_stats_softdls.edl default: ioc_stats_softdls.edl - - type: str - name: IOC + IOC: + type: str description: |- ioc name @@ -118,9 +118,9 @@ defs: - name: iocAdminSoft description: |- Create some records for reading IOC statistics and details. - args: - - type: str - name: IOC + parameters: + IOC: + type: str description: |- Device prefix diff --git a/ipac/ipac.ibek.support.yaml b/ipac/ipac.ibek.support.yaml index b262656..1daeec7 100644 --- a/ipac/ipac.ibek.support.yaml +++ b/ipac/ipac.ibek.support.yaml @@ -2,42 +2,37 @@ module: ipac -defs: +entity_models: - name: Hy8002 description: |- Configure a Hytec 8002 Carrier card - args: - - type: int - name: slot + parameters: + slot: + type: int description: |- VME Slot number - - type: id - name: name + name: + type: id description: |- Identifier for this device - typically IPAC{{ slot }} - - type: int - name: intLevel + intLevel: + type: int description: |- VME Interrupt Level default: 2 - - name: test + test: type: str description: test default: | {{ slot }} - - name: interrupt_vector + interrupt_vector: type: object description: Interrupt Vector reserved with epics.InterruptVectorVME, count=1 - values: - - name: carrier_id - value: '{{ __utils__.counter("Carriers", start=0) }}' - description: Carrier Card Identifier - pre_init: - value: | # ipacAddHy8002("slot, intLevel, interrupt_vector") @@ -50,58 +45,57 @@ defs: - name: Hy8001 description: |- TODO:ADD DESCRIPTIONS - args: - - type: int - name: slot + parameters: + slot: + type: int description: |- VME Slot number - - type: enum - name: direction + direction: + type: enum description: |- Direction of digital IO values: Mixed: Input: Output: - - - type: int - name: cardid + cardid: + type: int description: |- cardid? - - type: int - name: intLevel + intLevel: + type: int description: |- intLevel? default: 0 - - type: int - name: clock + clock: + type: int description: |- clock? default: 0 - - type: int - name: scan + scan: + type: int description: |- scan? default: 0 - - type: bool - name: invertin + invertin: + type: bool description: |- invertin? default: false - - type: bool - name: invertout + invertout: + type: bool description: |- invertout? default: false - - type: bool - name: ip_support + ip_support: + type: bool description: |- ip_support? default: false @@ -115,25 +109,25 @@ defs: - name: Hy8005 description: |- TODO:ADD DESCRIPTION - args: - - type: int - name: slot + parameters: + slot: + type: int description: |- VME Slot number - - type: int - name: cardnum + cardnum: + type: int description: |- Card number - - type: int - name: int_level + int_level: + type: int description: |- VME Interrupt Level default: 1 - - type: int - name: hs_int + hs_int: + type: int description: |- Dunno actually default: 0 @@ -145,14 +139,14 @@ defs: - name: Hy8005_Channel description: |- TODO:ADD DESCRIPTION - args: - - type: object - name: parent + parameters: + parent: + type: object description: |- Hy8005 card - - type: enum - name: ipslot + ipslot: + type: enum description: |- IP slot values: @@ -160,14 +154,13 @@ defs: C: B: D: - - - type: int - name: cardnum + cardnum: + type: int description: |- EPICS card identification - - type: enum - name: debrate + debrate: + type: enum description: |- debrate values: @@ -176,9 +169,8 @@ defs: 200Hz: 100Hz: 500Hz: - - - type: enum - name: pwidth + pwidth: + type: enum description: |- pwidth default: 0 @@ -193,9 +185,8 @@ defs: 2sec: 50sec: 1msec: - - - type: enum - name: scanrate + scanrate: + type: enum description: |- scanrate default: 0 @@ -204,9 +195,8 @@ defs: 100KHz: 10KHz: 1KHz: - - - type: enum - name: direction + direction: + type: enum description: |- direction default: 0 @@ -215,24 +205,22 @@ defs: low in/high out: outputs: low out/high in: - - - type: enum - name: clock + clock: + type: enum description: |- clock default: 0 values: internal: external: - - - type: bool - name: invertInputs + invertInputs: + type: bool description: |- invert inputs default: false - - type: bool - name: invertOutputs + invertOutputs: + type: bool description: |- invert outputs default: false diff --git a/ipac/ipac.manual.support.yaml b/ipac/ipac.manual.support.yaml index ae7324d..9d0021e 100644 --- a/ipac/ipac.manual.support.yaml +++ b/ipac/ipac.manual.support.yaml @@ -2,28 +2,23 @@ module: ipac -defs: +entity_models: - name: Hy8002 description: adds a Hy8002 carrier card to the IOC - args: - - type: id - name: name - description: "IPAC identifier (suggested: IPAC)" + parameters: + name: + type: id + description: 'IPAC identifier (suggested: IPAC)' - - type: int - name: slot + slot: + type: int description: Crate Slot number - - type: int - name: int_level + int_level: + type: int description: Interrupt level default: 2 - values: - - name: card_id - value: '{{ __utils__.counter("Carriers", start=0) }}' - description: Carrier Card Identifier - pre_init: - type: function name: ipacAddHy8002 @@ -39,5 +34,5 @@ defs: # automatically increments to track them. name: epicsEnvSet args: - name: "{{ name }}" - value: "{{ card_id }}" + name: '{{ name }}' + value: '{{ card_id }}' diff --git a/lakeshore340/lakeshore340.ibek.support.yaml b/lakeshore340/lakeshore340.ibek.support.yaml index 551c356..cfcc006 100644 --- a/lakeshore340/lakeshore340.ibek.support.yaml +++ b/lakeshore340/lakeshore340.ibek.support.yaml @@ -2,51 +2,55 @@ module: lakeshore340 -defs: +entity_models: - name: lakeshore340 description: |- Lakeshore 340 Temperature Controller Notes: The temperatures in Kelvin are archived once every 10 secs. - args: - - type: str - name: P + parameters: + P: + type: str description: |- Prefix for PV name - - type: str - name: PORT + PORT: + type: str description: |- Bus/Port Address (eg. ASYN Port). - - type: int - name: ADDR + ADDR: + type: int description: |- Address on the bus default: 0 - - type: int - name: SCAN + SCAN: + type: int description: |- SCAN rate for non-temperature/voltage parameters. default: 5 - - type: int - name: TEMPSCAN + TEMPSCAN: + type: int description: |- SCAN rate for the temperature/voltage readings default: 5 - - type: id - name: name + name: + type: id description: |- Object and gui association name - - type: int - name: LOOP + LOOP: + type: int description: |- Which heater PID loop to control (Default = 1) default: 1 + pre_init: + - value: | + epicsEnvSet "STREAM_PROTOCOL_PATH", "$(LAKESHORE340)/lakeshore340App/protocol/" + databases: - file: $(LAKESHORE340)/db/lakeshore340.template args: @@ -58,13 +62,9 @@ defs: LOOP: ADDR: - pre_init: - - value: | - epicsEnvSet "STREAM_PROTOCOL_PATH", "$(LAKESHORE340)/lakeshore340App/protocol/" - pvi: yaml_path: lakeshore340.pvi.device.yaml ui_macros: - lakeshore340: "{{ P }}{{ name }}" + lakeshore340: '{{ P }}{{ name }}' pv: true - pv_prefix: "{{ P }}{{ name }}" + pv_prefix: '{{ P }}{{ name }}' diff --git a/mks937a/mks937a.ibek.support.yaml b/mks937a/mks937a.ibek.support.yaml index 643c7d1..a649eec 100644 --- a/mks937a/mks937a.ibek.support.yaml +++ b/mks937a/mks937a.ibek.support.yaml @@ -2,15 +2,15 @@ module: mks937a -defs: +entity_models: - name: mks937aPirgDummy description: |- Template database for a dummy pirani gauge. Just enough to keep the Gauge template happy Linda Pratt 28/09/2009 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name @@ -24,137 +24,137 @@ defs: Template database to calculate the mean pressure from a number of IMGs Pete Owens - 26/6/06 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: current + current: + type: str description: |- beam current - - type: int - name: nimgs + nimgs: + type: int description: |- number of gauges - - type: str - name: img1 + img1: + type: str description: |- img 1 device name - - type: str - name: img2 + img2: + type: str description: |- img 2 device name - - type: str - name: img3 + img3: + type: str description: |- img 3 device name - - type: str - name: img4 + img4: + type: str description: |- img 4 device name - - type: str - name: img5 + img5: + type: str description: |- img 5 device name - - type: str - name: img6 + img6: + type: str description: |- img 6 device name - - type: str - name: img7 + img7: + type: str description: |- img 7 device name - - type: str - name: img8 + img8: + type: str description: |- img 8 device name - - type: str - name: img9 + img9: + type: str description: |- img 9 device name - - type: str - name: img10 + img10: + type: str description: |- img 10 device name databases: - file: $(MKS937A)/db/mks937aImgMean.template - args: { device, current, nimgs, img1, img2, img3, img4, img5, img6, img7, img8, img9, img10 } + args: {device: null, current: null, nimgs: null, img1: null, img2: null, img3: null, img4: null, img5: null, img6: null, img7: null, img8: null, img9: null, img10: null} - name: mks937aImgGroup description: |- Template database for a group of up to 8 IMGs Pete Owens - 10/5/05 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: float - name: delay + delay: + type: float description: |- delay between starting each IMG - - type: str - name: img1 + img1: + type: str description: |- img 1 device name - - type: str - name: img2 + img2: + type: str description: |- img 2 device name - default: "{{img1}}" + default: '{{img1}}' - - type: str - name: img3 + img3: + type: str description: |- img 3 device name - default: "{{img1}}" + default: '{{img1}}' - - type: str - name: img4 + img4: + type: str description: |- img 4 device name - default: "{{img1}}" + default: '{{img1}}' - - type: str - name: img5 + img5: + type: str description: |- img 5 device name - default: "{{img1}}" + default: '{{img1}}' - - type: str - name: img6 + img6: + type: str description: |- img 6 device name - default: "{{img1}}" + default: '{{img1}}' - - type: str - name: img7 + img7: + type: str description: |- img 7 device name - default: "{{img1}}" + default: '{{img1}}' - - type: str - name: img8 + img8: + type: str description: |- img 8 device name - default: "{{img1}}" + default: '{{img1}}' databases: - file: $(MKS937A)/db/mks937aImgGroup.template @@ -173,408 +173,403 @@ defs: - name: mks937aImg description: |- TODO:ADD DESCRIPTION - args: - - type: object - name: GCTLR + parameters: + GCTLR: + type: object description: |- Parent mks937a object - - type: id - name: device + device: + type: id description: |- device name - - type: int - name: channel + channel: + type: int description: |- MKS 937A channel number (1-4) - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- The desired control setpoint value. default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- (limits max value of control setpoint) default: 0.95 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- (limits min value of control setpoint) default: 0.0027 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.95 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: float - name: ctlsp_hihi + ctlsp_hihi: + type: float description: |- The HIHI alarm field on the control setpoint record. default: 0.96 - - type: float - name: ctlsp_lolo + ctlsp_lolo: + type: float description: |- The LOLO alarm field on the control setpoint record. default: 0.0026 - - type: float - name: ctlsp_high + ctlsp_high: + type: float description: |- The HIGH alarm field on the control setpoint record. default: 0.011 - - type: float - name: ctlsp_low + ctlsp_low: + type: float description: |- The LOW alarm field on the control setpoint record. default: 0.009 - - type: str - name: ctlsp_desc + ctlsp_desc: + type: str description: |- The DESC field on the control setpoint record. default: IMG Enable - - type: float - name: prosp_level + prosp_level: + type: float description: |- The desired protection setpoint value. default: 0.0005 - - type: float - name: prosp_drvh + prosp_drvh: + type: float description: |- (limits max value of protection setpoint) default: 0.01 - - type: float - name: prosp_drvl + prosp_drvl: + type: float description: |- (limits min value of protection setpoint) default: 1.3e-05 - - type: float - name: prosp_hopr + prosp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.01 - - type: float - name: prosp_lopr + prosp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 1.3e-05 - - type: float - name: prosp_hihi + prosp_hihi: + type: float description: |- The HIHI alarm field on the protection setpoint record. default: 0.011 - - type: float - name: prosp_lolo + prosp_lolo: + type: float description: |- The LOLO alarm field on the protection setpoint record. default: 1.2e-05 - - type: float - name: prosp_high + prosp_high: + type: float description: |- The HIGH alarm field on the protection setpoint record. default: 0.00051 - - type: float - name: prosp_low + prosp_low: + type: float description: |- The LOW alarm field on the protection setpoint record. default: 0.00049 - - type: str - name: prosp_desc + prosp_desc: + type: str description: |- (appears as a label on the Img EDM screen). default: IMG Overpressure - - type: float - name: rlysp_level + rlysp_level: + type: float description: |- The desired relay setpoint value. default: 1e-06 - - type: float - name: rlysp_drvh + rlysp_drvh: + type: float description: |- (limits max value of relay setpoint) default: 0.012 - - type: float - name: rlysp_drvl + rlysp_drvl: + type: float description: |- (limits min value of relay setpoint) default: 2.7e-10 - - type: float - name: rlysp_hopr + rlysp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.012 - - type: float - name: rlysp_lopr + rlysp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 2.7e-10 - - type: float - name: rlysp_hihi + rlysp_hihi: + type: float description: |- The HIHI alarm field on the relay setpoint record. default: 0.013 - - type: float - name: rlysp_lolo + rlysp_lolo: + type: float description: |- The LOLO alarm field on the relay setpoint record. default: 2.6e-10 - - type: float - name: rlysp_high + rlysp_high: + type: float description: |- The HIGH alarm field on the relay setpoint record. default: 1.1e-06 - - type: float - name: rlysp_low + rlysp_low: + type: float description: |- The LOW alarm field on the relay setpoint record. default: 9e-07 - - type: str - name: rlysp_desc + rlysp_desc: + type: str description: |- (appears as a label on the Img EDM screen). default: Valve Interlock - - type: float - name: rlasp_drvh + rlasp_drvh: + type: float description: |- (limits max value of second relay setpoint) default: 0.012 - - type: float - name: rlasp_drvl + rlasp_drvl: + type: float description: |- (limits min value of second relay setpoint) default: 2.7e-10 - - type: float - name: rlasp_hopr + rlasp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.012 - - type: float - name: rlasp_lopr + rlasp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 2.7e-10 - - type: float - name: rlasp_hihi + rlasp_hihi: + type: float description: |- The HIHI alarm field on the second relay setpoint record. default: 0.013 - - type: float - name: rlasp_lolo + rlasp_lolo: + type: float description: |- The LOLO alarm field on the second relay setpoint record. default: 2.6e-10 - - type: float - name: rlasp_high + rlasp_high: + type: float description: |- The HIGH alarm field on the second relay setpoint record. default: 1.1e-07 - - type: float - name: rlasp_low + rlasp_low: + type: float description: |- The LOW alarm field on the second relay setpoint record. default: 9e-08 - - type: str - name: rlasp_desc + rlasp_desc: + type: str description: |- The DESC field on the second relay setpoint record. default: MPS Interlock - - type: int - name: offwarn + offwarn: + type: int description: |- Flag to display a warning that switching off the IMG could trip the beam default: 0 - - type: str - name: ilk_write_access_pv + ilk_write_access_pv: + type: str description: |- bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. default: $(device):PRO:CONSTZERO databases: - file: $(MKS937A)/db/mks937aImg.template - args: { device, port: "{{GCTLR.port}}", channel, ctlsp_level, ctlsp_drvh, ctlsp_drvl, ctlsp_hopr, ctlsp_lopr, ctlsp_hihi, ctlsp_lolo, ctlsp_high, ctlsp_low, ctlsp_desc, prosp_level, prosp_drvh, prosp_drvl, prosp_hopr, prosp_lopr, prosp_hihi, prosp_lolo, prosp_high, prosp_low, prosp_desc, rlysp_level, rlysp_drvh, rlysp_drvl, rlysp_hopr, rlysp_lopr, rlysp_hihi, rlysp_lolo, rlysp_high, rlysp_low, rlysp_desc, rlasp_drvh, rlasp_drvl, rlasp_hopr, rlasp_lopr, rlasp_hihi, rlasp_lolo, rlasp_high, rlasp_low, rlasp_desc, offwarn, ilk_write_access_pv } + args: {device: null, port: '{{GCTLR.port}}', channel: null, ctlsp_level: null, ctlsp_drvh: null, ctlsp_drvl: null, ctlsp_hopr: null, ctlsp_lopr: null, ctlsp_hihi: null, ctlsp_lolo: null, ctlsp_high: null, ctlsp_low: null, ctlsp_desc: null, prosp_level: null, prosp_drvh: null, prosp_drvl: null, prosp_hopr: null, prosp_lopr: null, prosp_hihi: null, prosp_lolo: null, prosp_high: null, prosp_low: null, prosp_desc: null, rlysp_level: null, rlysp_drvh: null, rlysp_drvl: null, rlysp_hopr: null, rlysp_lopr: null, rlysp_hihi: null, rlysp_lolo: null, rlysp_high: null, rlysp_low: null, rlysp_desc: null, rlasp_drvh: null, rlasp_drvl: null, rlasp_hopr: null, rlasp_lopr: null, rlasp_hihi: null, rlasp_lolo: null, rlasp_high: null, rlasp_low: null, rlasp_desc: null, offwarn: null, ilk_write_access_pv: null} - name: mks937aGaugeEGU description: |- TODO:ADD DESCRIPTION - args: - - type: id - name: name + parameters: + name: + type: id description: |- Device name - - type: str - name: dom + dom: + type: str description: |- Domain 5 char string (e.g. BL11I) - - type: int - name: id + id: + type: int description: |- ID number as 2 digit string (e.g. 01) - - type: str - name: input + input: + type: str description: |- PV providing gauge reading in mbar - values: - - name: eguInputPV - description: PV from which the gauge reading in EGU is taken - value: "{{dom}}-VA-GAUGE-{{ '%02d' % id }}:PLOG_CALC" - databases: - file: $(MKS937A)/db/mks937aGauge.template args: dom: id: "{{ '%02d' % id }}" - c: "" - s: "" + c: '' + s: '' name: - aitype: "Soft Channel" - aiinp: "{{eguInputPV}} CP" + aitype: Soft Channel + aiinp: '{{eguInputPV}} CP' - file: $(MKS937A)/db/mks937aPlogEGU.template args: - device: "{{eguInputPV}}" - p_egu_pv: "{{input}}" + device: '{{eguInputPV}}' + p_egu_pv: '{{input}}' - name: mks937aGaugeGroup description: |- Template database for a group of up to 8 MKS937A combination gauges Pete Owens - 5/5/05 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: gauge1 + gauge1: + type: str description: |- gauge 1 device name - - type: str - name: gauge2 + gauge2: + type: str description: |- gauge 2 device name - default: "{{gauge1}}" + default: '{{gauge1}}' - - type: str - name: gauge3 + gauge3: + type: str description: |- gauge 3 device name - default: "{{gauge1}}" + default: '{{gauge1}}' - - type: str - name: gauge4 + gauge4: + type: str description: |- gauge 4 device name - default: "{{gauge1}}" + default: '{{gauge1}}' - - type: str - name: gauge5 + gauge5: + type: str description: |- gauge 5 device name - default: "{{gauge1}}" + default: '{{gauge1}}' - - type: str - name: gauge6 + gauge6: + type: str description: |- gauge 6 device name - default: "{{gauge1}}" + default: '{{gauge1}}' - - type: str - name: gauge7 + gauge7: + type: str description: |- gauge 7 device name - default: "{{gauge1}}" + default: '{{gauge1}}' - - type: str - name: gauge8 + gauge8: + type: str description: |- gauge 8 device name - default: "{{gauge1}}" + default: '{{gauge1}}' - - type: int - name: SELM + SELM: + type: int description: |- the space template default: 1 - - type: int - name: SELN + SELN: + type: int description: |- Use this to select which gauge to look at if you set SELM=0 default: 0 databases: - file: $(MKS937A)/db/mks937aGaugeGroup.template - args: { device, gauge1, gauge2, gauge3, gauge4, gauge5, gauge6, gauge7, gauge8, SELM, SELN } + args: {device: null, gauge1: null, gauge2: null, gauge3: null, gauge4: null, gauge5: null, gauge6: null, gauge7: null, gauge8: null, SELM: null, SELN: null} - name: mks937a description: |- The mks937a controller - args: - - type: id - name: name + parameters: + name: + type: id description: |- Device identifier (for reference from controlled devices) This is a little redundant but is a legacy from builder - - type: str - name: device + device: + type: str description: |- Device name - - type: str - name: port + port: + type: str description: |- Asyn Port name, e.g. ty_40_0 @@ -591,68 +586,68 @@ defs: Note on optional macros: these will default to an appropriate hard-coded value if no value is passed for expansion. They are provided to parallel those in the Img template. - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- The desired control setpoint value. default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- (limits max value of control setpoint) default: 0.95 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- (limits min value of control setpoint) default: 0.0027 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.95 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: float - name: ctlsp_hihi + ctlsp_hihi: + type: float description: |- The HIHI alarm field on the control setpoint record. default: 0.96 - - type: float - name: ctlsp_lolo + ctlsp_lolo: + type: float description: |- The LOLO alarm field on the control setpoint record. default: 0.0026 - - type: float - name: ctlsp_high + ctlsp_high: + type: float description: |- The HIGH alarm field on the control setpoint record. default: 0.011 - - type: float - name: ctlsp_low + ctlsp_low: + type: float description: |- The LOW alarm field on the control setpoint record. default: 0.009 - - type: str - name: ctlsp_desc + ctlsp_desc: + type: str description: |- The DESC field on the control setpoint record. default: IMG Enable @@ -675,152 +670,152 @@ defs: - name: mks937aPirg description: |- TODO:ADD DESCRIPTION - args: - - type: object - name: GCTLR + parameters: + GCTLR: + type: object description: |- Parent mks937a object - - type: id - name: device + device: + type: id description: |- device name - - type: int - name: channel + channel: + type: int description: |- MKS 937A channel number (1-4) - - type: float - name: rlysp_level + rlysp_level: + type: float description: |- The desired relay setpoint value for the PIRG device. default: 0.01 - - type: float - name: rlysp_drvh + rlysp_drvh: + type: float description: |- (limits max value of relay setpoint) default: 120.0 - - type: float - name: rlysp_drvl + rlysp_drvl: + type: float description: |- (limits min value of relay setpoint) default: 0.0027 - - type: float - name: rlysp_hopr + rlysp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 120.0 - - type: float - name: rlysp_lopr + rlysp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: float - name: rlysp_hihi + rlysp_hihi: + type: float description: |- The HIHI alarm field on the relay setpoint record. default: 1000.0 - - type: float - name: rlysp_lolo + rlysp_lolo: + type: float description: |- The LOLO alarm field on the relay setpoint record. default: 0.0026 - - type: float - name: rlysp_high + rlysp_high: + type: float description: |- The HIGH alarm field on the relay setpoint record. default: 0.011 - - type: float - name: rlysp_low + rlysp_low: + type: float description: |- The LOW alarm field on the relay setpoint record. default: 0.009 - - type: str - name: rlysp_desc + rlysp_desc: + type: str description: |- (appears as a label on the Pirg EDM screen). default: Ion Pump I/L - - type: str - name: ilk_write_access_pv + ilk_write_access_pv: + type: str description: |- bi record to allow (0) of inhibit (1) gauge interlock setpoint overwrite. Default is local record forcing 'Allow'. default: $(device):CTL:CONSTZERO databases: - file: $(MKS937A)/db/mks937aPirg.template - args: { device, port: "{{GCTLR.port}}", channel, rlysp_level, rlysp_drvh, rlysp_drvl, rlysp_hopr, rlysp_lopr, rlysp_hihi, rlysp_lolo, rlysp_high, rlysp_low, rlysp_desc, ilk_write_access_pv } + args: {device: null, port: '{{GCTLR.port}}', channel: null, rlysp_level: null, rlysp_drvh: null, rlysp_drvl: null, rlysp_hopr: null, rlysp_lopr: null, rlysp_hihi: null, rlysp_lolo: null, rlysp_high: null, rlysp_low: null, rlysp_desc: null, ilk_write_access_pv: null} - name: mks937aPirgGroup description: |- Template database for a group of up to 8 Pirani Gauges Pete Owens - 9/5/05 - args: - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: pirg1 + pirg1: + type: str description: |- pirg 1 device name - - type: str - name: pirg2 + pirg2: + type: str description: |- pirg 2 device name - default: "{{pirg1}}" + default: '{{pirg1}}' - - type: str - name: pirg3 + pirg3: + type: str description: |- pirg 3 device name - default: "{{pirg1}}" + default: '{{pirg1}}' - - type: str - name: pirg4 + pirg4: + type: str description: |- pirg 4 device name - default: "{{pirg1}}" + default: '{{pirg1}}' - - type: str - name: pirg5 + pirg5: + type: str description: |- pirg 5 device name - default: "{{pirg1}}" + default: '{{pirg1}}' - - type: str - name: pirg6 + pirg6: + type: str description: |- pirg 6 device name - default: "{{pirg1}}" + default: '{{pirg1}}' - - type: str - name: pirg7 + pirg7: + type: str description: |- pirg 7 device name - default: "{{pirg1}}" + default: '{{pirg1}}' - - type: str - name: pirg8 + pirg8: + type: str description: |- pirg 8 device name - default: "{{pirg1}}" + default: '{{pirg1}}' databases: - file: $(MKS937A)/db/mks937aPirgGroup.template - args: { device, pirg1, pirg2, pirg3, pirg4, pirg5, pirg6, pirg7, pirg8 } + args: {device: null, pirg1: null, pirg2: null, pirg3: null, pirg4: null, pirg5: null, pirg6: null, pirg7: null, pirg8: null} - name: mks937aGauge description: |- @@ -834,29 +829,29 @@ defs: For the majority of applications the defaults should be used. The levels should only be changed at the request of the vacuum group for non-standard vacuum systems. - args: - - type: str - name: dom + parameters: + dom: + type: str description: |- Domain 5 char string (e.g. BL11I) - - type: int - name: id + id: + type: int description: |- ID number as 2 digit string (e.g. 01) - - type: int - name: c + c: + type: int description: |- ADC card number - - type: int - name: s + s: + type: int description: |- ADC signal number - - type: id - name: name + name: + type: id description: |- The device's name for gui purposes @@ -866,53 +861,53 @@ defs: # description: |- # The gauge controller PV prefix, for gui purposes - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- The desired control setpoint value (actually for the Pirg). default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- (limits max value of control setpoint) default: 0.95 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- (limits min value of control setpoint) default: 0.0027 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.95 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: str - name: ctlsp_desc + ctlsp_desc: + type: str description: |- (appears as a label on the Pirg EDM screen). default: IMG Enable - - type: str - name: aitype + aitype: + type: str description: |- Template argument default: Hy8401ip - - type: str - name: aiinp + aiinp: + type: str description: |- Template argument - default: "#C$(c) S$(s) @" + default: '#C$(c) S$(s) @' databases: - file: $(MKS937A)/db/mks937aGauge.template diff --git a/mks937b/mks937b.ibek.support.yaml b/mks937b/mks937b.ibek.support.yaml index cdbcf7e..192ca39 100644 --- a/mks937b/mks937b.ibek.support.yaml +++ b/mks937b/mks937b.ibek.support.yaml @@ -2,97 +2,95 @@ module: mks937b -defs: - +entity_models: - name: mks937bRelays description: |- TODO:ADD DESCRIPTION - args: - - - type: object - name: GAUGE + parameters: + GAUGE: + type: object description: |- TODO: ADD DESCRIPTION - - type: str - name: relay_number + relay_number: + type: str description: |- The relay number (1..12). - - type: str - name: relay_desc + relay_desc: + type: str description: |- The DESC field on the relay setpoint record default: Valve Interlock - - type: str - name: relay_off_desc + relay_off_desc: + type: str description: |- (appears as a label on the Img EDM screen). default: Relay OFF setpoint - - type: float - name: relay_level + relay_level: + type: float description: |- vv================vv New feature request May 2012. default: 1e-06 - - type: float - name: relay_off_level + relay_off_level: + type: float description: |- The desired relay off setpoint value. default: 0.0 - - type: float - name: relay_drvh + relay_drvh: + type: float description: |- (limits max value of relay setpoint) default: 0.012 - - type: float - name: relay_drvl + relay_drvl: + type: float description: |- (limits min value of relay setpoint) default: 2.7e-10 - - type: float - name: relay_hopr + relay_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.012 - - type: float - name: relay_lopr + relay_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 2.7e-10 - - type: float - name: relay_hihi + relay_hihi: + type: float description: |- The HIHI alarm field on the relay setpoint record. default: 0.013 - - type: float - name: relay_lolo + relay_lolo: + type: float description: |- The LOLO alarm field on the relay setpoint record. default: 2.6e-10 - - type: float - name: relay_high + relay_high: + type: float description: |- The HIGH alarm field on the relay setpoint record. default: 1.1e-06 - - type: float - name: relay_low + relay_low: + type: float description: |- The LOW alarm field on the relay setpoint record. default: 9e-07 - - type: str - name: ilk_write_access_pv + ilk_write_access_pv: + type: str description: |- Link to the interlocks setpoint global write access record. default: $(device):CONSTZERO @@ -122,61 +120,60 @@ defs: Template database for a group of up to 8 MKS937B combination gauges Pete Owens - 5/5/05 - args: - - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: gauge1 + gauge1: + type: str description: |- gauge 1 device name - - type: str - name: gauge2 + gauge2: + type: str description: |- gauge 2 device name - - type: str - name: gauge3 + gauge3: + type: str description: |- gauge 3 device name - - type: str - name: gauge4 + gauge4: + type: str description: |- gauge 4 device name - - type: str - name: gauge5 + gauge5: + type: str description: |- gauge 5 device name - - type: str - name: gauge6 + gauge6: + type: str description: |- gauge 6 device name - - type: str - name: gauge7 + gauge7: + type: str description: |- gauge 7 device name - - type: str - name: gauge8 + gauge8: + type: str description: |- gauge 8 device name - - type: int - name: SELM + SELM: + type: int description: |- the space template default: 1 - - type: int - name: SELN + SELN: + type: int description: |- Use this to select which gauge to look at if you set SELM=0 default: 0 @@ -209,77 +206,76 @@ defs: For the majority of applications the defaults should be used. The levels should only be changed at the request of the vacuum group for non-standard vacuum systems. - args: - - - type: str - name: dom + parameters: + dom: + type: str description: |- Domain 5 char string (e.g. BL11I) - - type: int - name: id + id: + type: int description: |- ID number as 2 digit string (e.g. 01) - - type: str - name: plog_adc_pv + plog_adc_pv: + type: str description: |- or (if using Hy8401 VME IP) mks937bHy8401.template - - type: id - name: name + name: + type: id description: |- The device's name for gui purposes - - type: str - name: GCTLR + GCTLR: + type: str description: |- The gauge controller PV prefix, for gui purposes - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- The desired control setpoint value (actually for the Pirg). default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- (limits max value of control setpoint) default: 0.95 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- (limits min value of control setpoint) default: 0.0027 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.95 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: str - name: ctlsp_desc + ctlsp_desc: + type: str description: |- (appears as a label on the Pirg EDM screen). default: IMG Enable - - type: str - name: ctlspoff_desc + ctlspoff_desc: + type: str description: |- (appears as a label on the Pirg CSS screen). default: IMG Enable Off - - type: str - name: plog_calc + plog_calc: + type: str description: |- Template argument default: 10.0*A/32767.0/0.6 - 12.0 @@ -306,20 +302,19 @@ defs: description: |- Template database for an MKS937B Multi-Sensor System Ian Gillingham - April 2010 - args: - - - type: str - name: device + parameters: + device: + type: str description: |- Device name - - type: str - name: port + port: + type: str description: |- Asyn Port name, e.g. ty_40_0 - - type: int - name: address + address: + type: int description: |- Controller address (001 .. 253) @@ -336,10 +331,9 @@ defs: Template database for a dummy pirani gauge. Just enough to keep the Gauge template happy Linda Pratt 28/09/2009 - args: - - - type: str - name: device + parameters: + device: + type: str description: |- device name @@ -352,51 +346,50 @@ defs: - name: mks937bFastRelay description: |- TODO:ADD DESCRIPTION - args: - - - type: object - name: GAUGE + parameters: + GAUGE: + type: object description: |- TODO: ADD DESCRIPTION - - type: str - name: frcsp_desc + frcsp_desc: + type: str description: |- The DESC field on the relay setpoint record default: Fast Relay Trigger level - - type: float - name: frcsp_level + frcsp_level: + type: float description: |- The desired relay setpoint value. default: 1e-06 - - type: float - name: frcsp_drvh + frcsp_drvh: + type: float description: |- (limits max value of relay setpoint) default: 0.012 - - type: float - name: frcsp_drvl + frcsp_drvl: + type: float description: |- (limits min value of relay setpoint) default: 2.7e-10 - - type: float - name: frcsp_hopr + frcsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.01 - - type: float - name: frcsp_lopr + frcsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 1.3e-05 - - type: str - name: ilk_write_access_pv + ilk_write_access_pv: + type: str description: |- Link to the interlocks setpoint global write access record. default: $(device):FRLY:CONSTZERO @@ -417,60 +410,59 @@ defs: - name: mks937bCap description: |- TODO:ADD DESCRIPTION - args: - - - type: object - name: GCTLR + parameters: + GCTLR: + type: object description: |- Parent mks937b object - - type: str - name: device + device: + type: str description: |- device name - - type: str - name: channel + channel: + type: str description: |- MKS 937A channel number (1-4) - - type: id - name: name + name: + type: id description: |- Object name, and gui association name - - type: int - name: offwarn + offwarn: + type: int description: |- Flag to display a warning that switching off the PIRG could trip the beam# default: 0 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- Template argument default: 10000.0 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- Template argument default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- Template argument default: 10000.0 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- Template argument default: 0.01 - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- Template argument default: 0.01 @@ -494,78 +486,77 @@ defs: description: |- Template database for a group of up to 8 IMGs Pete Owens - 10/5/05 - args: - - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: delay + delay: + type: str description: |- delay between starting each IMG - - type: str - name: img1 + img1: + type: str description: |- img 1 device name - - type: str - name: img2 + img2: + type: str description: |- img 2 device name - - type: str - name: img3 + img3: + type: str description: |- img 3 device name - - type: str - name: img4 + img4: + type: str description: |- img 4 device name - - type: str - name: img5 + img5: + type: str description: |- img 5 device name - - type: str - name: img6 + img6: + type: str description: |- img 6 device name - - type: str - name: img7 + img7: + type: str description: |- img 7 device name - - type: str - name: img8 + img8: + type: str description: |- img 8 device name - - type: int - name: valveIlRelay + valveIlRelay: + type: int description: |- Valve interlock relay default: 1 - - type: int - name: mpsIlRelay1 + mpsIlRelay1: + type: int description: |- Machine protection system interlock 1 relay default: 2 - - type: int - name: mpsIlRelay2 + mpsIlRelay2: + type: int description: |- Machine protection system interlock 2 relay default: 3 - - type: int - name: rgaIlRelay + rgaIlRelay: + type: int description: |- RGA interlock relay default: 4 @@ -592,92 +583,91 @@ defs: - name: mks937bGaugeEGU description: |- TODO:ADD DESCRIPTION - args: - - - type: id - name: name + parameters: + name: + type: id description: |- Device name - - type: str - name: dom + dom: + type: str description: |- Domain 5 char string (e.g. BL11I) - - type: int - name: id + id: + type: int description: |- ID number as 2 digit string (e.g. 01) - - type: str - name: input + input: + type: str description: |- PV providing gauge reading in mbar - - type: str - name: device + device: + type: str description: |- device name - - type: str - name: p_egu_pv + p_egu_pv: + type: str description: |- Raw value ADC PV name - - type: str - name: plog_adc_pv + plog_adc_pv: + type: str description: |- or (if using Hy8401 VME IP) mks937bHy8401.template - - type: str - name: GCTLR + GCTLR: + type: str description: |- The gauge controller PV prefix, for gui purposes - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- The desired control setpoint value (actually for the Pirg). default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- (limits max value of control setpoint) default: 0.95 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- (limits min value of control setpoint) default: 0.0027 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.95 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: str - name: ctlsp_desc + ctlsp_desc: + type: str description: |- (appears as a label on the Pirg EDM screen). default: IMG Enable - - type: str - name: ctlspoff_desc + ctlspoff_desc: + type: str description: |- (appears as a label on the Pirg CSS screen). default: IMG Enable Off - - type: str - name: plog_calc + plog_calc: + type: str description: |- Template argument default: 10.0*A/32767.0/0.6 - 12.0 @@ -708,180 +698,179 @@ defs: - name: mks937bImg description: |- TODO:ADD DESCRIPTION - args: - - - type: object - name: GCTLR + parameters: + GCTLR: + type: object description: |- Parent mks937b object - - type: str - name: device + device: + type: str description: |- device name - - type: str - name: channel + channel: + type: str description: |- MKS 937B channel number (1-4) - - type: id - name: name + name: + type: id description: |- Object name, and gui association name - - type: int - name: ctl_channel + ctl_channel: + type: int description: |- The desired control channel 0 = C1, 1 = C2, 2 = None, 3 = A1, 4 = B1, 5 = A2, 6 = B2. default: 0 - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- The desired control setpoint value. default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- (limits max value of control setpoint) default: 0.95 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- (limits min value of control setpoint) default: 0.0027 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.95 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: float - name: ctlsp_hihi + ctlsp_hihi: + type: float description: |- The HIHI alarm field on the control setpoint record. default: 0.96 - - type: float - name: ctlsp_lolo + ctlsp_lolo: + type: float description: |- The LOLO alarm field on the control setpoint record. default: 0.0026 - - type: float - name: ctlsp_high + ctlsp_high: + type: float description: |- The HIGH alarm field on the control setpoint record. default: 0.011 - - type: float - name: ctlsp_low + ctlsp_low: + type: float description: |- The LOW alarm field on the control setpoint record. default: 0.009 - - type: str - name: ctlsp_desc + ctlsp_desc: + type: str description: |- The DESC field on the control setpoint record. default: IMG Enable - - type: float - name: ctlhyst_hopr + ctlhyst_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.012 - - type: float - name: ctlhyst_lopr + ctlhyst_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 2.7e-10 - - type: float - name: prosp_level + prosp_level: + type: float description: |- The desired protection setpoint value. default: 0.0005 - - type: float - name: prosp_drvh + prosp_drvh: + type: float description: |- (limits max value of protection setpoint) default: 0.01 - - type: float - name: prosp_drvl + prosp_drvl: + type: float description: |- (limits min value of protection setpoint) default: 1.3e-05 - - type: float - name: prosp_hopr + prosp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.01 - - type: float - name: prosp_lopr + prosp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 1.3e-05 - - type: float - name: prosp_hihi + prosp_hihi: + type: float description: |- The HIHI alarm field on the protection setpoint record. default: 0.011 - - type: float - name: prosp_lolo + prosp_lolo: + type: float description: |- The LOLO alarm field on the protection setpoint record. default: 1.2e-05 - - type: float - name: prosp_high + prosp_high: + type: float description: |- The HIGH alarm field on the protection setpoint record. default: 0.00051 - - type: float - name: prosp_low + prosp_low: + type: float description: |- The LOW alarm field on the protection setpoint record. default: 0.00049 - - type: str - name: prosp_desc + prosp_desc: + type: str description: |- (appears as a label on the Img EDM screen). default: IMG Overpressure - - type: int - name: offwarn + offwarn: + type: int description: |- Flag to display a warning that switching off the IMG could trip the beam default: 0 - - type: str - name: ilk_write_access_pv + ilk_write_access_pv: + type: str description: |- Link to the interlocks setpoint global write access record. default: $(device):PRO:CONSTZERO - - type: int - name: img_ctl_setmode + img_ctl_setmode: + type: int description: |- Default = 1 (I/L Safe), 0 (Force ON), 2 (I/L Operating). default: 1 @@ -928,69 +917,68 @@ defs: Note on optional macros: these will default to an appropriate hard-coded value if no value is passed for expansion. They are provided to parallel those in the Img template. - args: - - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: float - name: ctlsp_level + ctlsp_level: + type: float description: |- The desired control setpoint value. default: 0.01 - - type: float - name: ctlsp_drvh + ctlsp_drvh: + type: float description: |- (limits max value of control setpoint) default: 0.95 - - type: float - name: ctlsp_drvl + ctlsp_drvl: + type: float description: |- (limits min value of control setpoint) default: 0.0027 - - type: float - name: ctlsp_hopr + ctlsp_hopr: + type: float description: |- (high operator value - helps display set correct range). default: 0.95 - - type: float - name: ctlsp_lopr + ctlsp_lopr: + type: float description: |- (low operator value - helps display set correct range). default: 0.0027 - - type: float - name: ctlsp_hihi + ctlsp_hihi: + type: float description: |- The HIHI alarm field on the control setpoint record. default: 0.96 - - type: float - name: ctlsp_lolo + ctlsp_lolo: + type: float description: |- The LOLO alarm field on the control setpoint record. default: 0.0026 - - type: float - name: ctlsp_high + ctlsp_high: + type: float description: |- The HIGH alarm field on the control setpoint record. default: 0.011 - - type: float - name: ctlsp_low + ctlsp_low: + type: float description: |- The LOW alarm field on the control setpoint record. default: 0.009 - - type: str - name: ctlsp_desc + ctlsp_desc: + type: str description: |- The DESC field on the control setpoint record. default: IMG Enable @@ -1015,55 +1003,54 @@ defs: description: |- Template database for a group of up to 8 Pirani Gauges Pete Owens - 9/5/05 - args: - - - type: str - name: device + parameters: + device: + type: str description: |- device name - - type: str - name: pirg1 + pirg1: + type: str description: |- pirg 1 device name - - type: str - name: pirg2 + pirg2: + type: str description: |- pirg 2 device name - - type: str - name: pirg3 + pirg3: + type: str description: |- pirg 3 device name - - type: str - name: pirg4 + pirg4: + type: str description: |- pirg 4 device name - - type: str - name: pirg5 + pirg5: + type: str description: |- pirg 5 device name - - type: str - name: pirg6 + pirg6: + type: str description: |- pirg 6 device name - - type: str - name: pirg7 + pirg7: + type: str description: |- pirg 7 device name - - type: str - name: pirg8 + pirg8: + type: str description: |- pirg 8 device name - - type: int - name: ionPumpIlRelay + ionPumpIlRelay: + type: int description: |- Ion pump interlock relay default: 1 @@ -1092,20 +1079,19 @@ defs: this new template is simply a helper to users of the old Hy8401 interface. The mks937bGauge.template expects an input to PLOG in the range 0 to +32767, representing 0 to +10V. The record is scan PP and is triggered via the :P record. - args: - - - type: str - name: device + parameters: + device: + type: str description: |- Full name of ADC reading PV. - - type: str - name: c + c: + type: str description: |- ADC card number - - type: str - name: s + s: + type: str description: |- ADC signal number @@ -1120,30 +1106,29 @@ defs: - name: mks937bPirg description: |- TODO:ADD DESCRIPTION - args: - - - type: object - name: GCTLR + parameters: + GCTLR: + type: object description: |- Parent mks937b object - - type: str - name: device + device: + type: str description: |- device name - - type: str - name: channel + channel: + type: str description: |- MKS 937A channel number (1-4) - - type: id - name: name + name: + type: id description: |- Object name, and gui association name - - type: int - name: offwarn + offwarn: + type: int description: |- Flag to display a warning that switching off the PIRG could trip the beam# default: 0 diff --git a/modbus/modbus.ibek.support.yaml b/modbus/modbus.ibek.support.yaml index f36eba3..f6503c7 100644 --- a/modbus/modbus.ibek.support.yaml +++ b/modbus/modbus.ibek.support.yaml @@ -2,52 +2,51 @@ module: modbus -defs: - ### modbusPortConfigure +entity_models: - name: modbusPortConfigure description: |- This will create an AsynPort connecting to a Modbus TCP - args: - - type: id - name: ASYNPORT + parameters: + ASYNPORT: + type: id description: |- MODBUS TCP ASYNPORT on address port - - type: str - name: IP + IP: + type: str description: |- IP address of the Modbus default: 127.0.0.1 ## localhost - - type: int - name: TCPPORT + TCPPORT: + type: int description: |- ASYN MODBUS Port, Default : 502 default: 502 - - type: int - name: ASYNPRIO + ASYNPRIO: + type: int description: |- ASYN PRIORITY, Default : 0 default: 0 - - type: int - name: AUTOCONNECT + AUTOCONNECT: + type: int description: |- Asyn auto connect 0: Auto connection 1: no Auto connection default: 0 - - type: int - name: NOPRECESSESOS + NOPRECESSESOS: + type: int description: |- ASYN noProcessEos, Default : 0 https://epics.anl.gov/tech-talk/2020/msg01705.php default: 0 - - type: int - name: MODBUSLINK + MODBUSLINK: + type: int description: |- MODBUS linktype, Default : 0 0 : TCP/IP @@ -55,13 +54,13 @@ defs: 2 : ASCII default: 0 - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- MODBUS timeout (ms), Default : 2000 default: 2000 - - type: int - name: WRITEDELAY + WRITEDELAY: + type: int description: |- MODBUS write delay ms for Serial RTU, Default : 0 default: 0 @@ -75,37 +74,37 @@ defs: - name: modbusAsynConfigure description: |- This will create an AsynPort connecting to a Modbus TCP - args: - - type: id - name: MODBUSPORT + parameters: + MODBUSPORT: + type: id description: |- MODBUS Port Name - - type: str - name: ASYNPORT + ASYNPORT: + type: str description: |- ASYNPORT port Name of the Modbus - - type: int - name: SERVER_ADDR + SERVER_ADDR: + type: int description: |- Server Address (Slave), for MODBUS TCP it is Unit ID Default : 1 default: 1 - - type: int - name: FUNC_CODE + FUNC_CODE: + type: int description: |- Modbus function code 1,2,3,4,5,6,15,16, 123 for 23 RO, 223 for 23 WO default: 4 - - type: int - name: STARTADDR + STARTADDR: + type: int description: |- Start address 0-65535 decimal for relative addressing, -1 for absolute addressing default: 0 - - type: int - name: DATA_LENGTH + DATA_LENGTH: + type: int description: |- The length of the Modbus data segment to be accessed. 1 : 16-bit registers R/W, @@ -113,23 +112,23 @@ defs: 100 : Int32 waveform record NELM = 100 default: 52 - - type: int - name: DATA_TYPE + DATA_TYPE: + type: int description: |- Modbus register data types : 0,1,2,3,4,5,6,7,8,9,10,11,12 0 : UINT16 Unsigned 16-bit binary integers, http://htmlpreview.github.io/?https://github.com/epics-modules/modbus/blob/master/documentation/modbusDoc.html default: 7 - - type: int - name: POLL_DELAY + POLL_DELAY: + type: int description: |- Read function : Polling delay time in ms for the polling thread Write function : a non-zero value means that the Modbus data should be read once default: 1000 - - type: str - name: MODBUS_TYPE + MODBUS_TYPE: + type: str description: |- Type of Modbus used in asynReprt default: DefaultModbus @@ -143,42 +142,42 @@ defs: - name: modbusFloatReadout description: |- This will create floating point records - args: - - type: str - name: P + parameters: + P: + type: str description: Device Prefix - - type: str - name: R + R: + type: str description: Device Suffix - - type: str - name: PORT + PORT: + type: str description: Port name for the detector - - type: str - name: DESC + DESC: + type: str description: |- Readout description - default: "Value" - - type: int - name: OFFSET + default: Value + OFFSET: + type: int description: |- OFFSET register address - - type: str - name: EGU + EGU: + type: str description: |- Engineering Units - default: "None" - - type: float - name: HOPR + default: None + HOPR: + type: float description: |- High Limit default: 0.0 - - type: float - name: LOPR + LOPR: + type: float description: |- Low Limit default: 0.0 - - type: int - name: PREC + PREC: + type: int description: |- Precision default: 0 @@ -199,57 +198,57 @@ defs: - name: modbusIntReadout description: |- This will create int32 point records - args: - - type: str - name: P + parameters: + P: + type: str description: Device Prefix - - type: str - name: R + R: + type: str description: Device Suffix - - type: str - name: PORT + PORT: + type: str description: Port name for the detector - - type: str - name: DESC + DESC: + type: str description: |- Readout description - default: "Value" - - type: int - name: OFFSET + default: Value + OFFSET: + type: int description: |- OFFSET register address - - type: str - name: EGU + EGU: + type: str description: |- Engineering Units - default: "None" - - type: int - name: HOPR + default: None + HOPR: + type: int description: |- High Limit default: 0 - - type: int - name: LOPR + LOPR: + type: int description: |- Low Limit default: 0 - - type: int - name: PREC + PREC: + type: int description: |- Precision default: 0 - - type: str - name: SCAN + SCAN: + type: str description: |- Scan Mode - default: "I/O Intr" - - type: float - name: EGUL + default: I/O Intr + EGUL: + type: float description: |- Engineering Units Low Limit default: 0 - - type: float - name: EGUF + EGUF: + type: float description: |- Engineering Units High Limit default: 0 @@ -264,7 +263,7 @@ defs: HOPR: LOPR: PREC: - BITS: "32" + BITS: '32' EGUL: EGUF: SCAN: diff --git a/motor/motor.ibek.support.yaml b/motor/motor.ibek.support.yaml index 5c84451..0993b61 100644 --- a/motor/motor.ibek.support.yaml +++ b/motor/motor.ibek.support.yaml @@ -2,290 +2,290 @@ module: motor -defs: +entity_models: - name: motorUtil description: |- TODO:ADD DESCRIPTION - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix + post_init: + - value: | + motorUtilInit("{{ P }}") + databases: - file: $(MOTOR)/db/motorUtil.template args: P: - post_init: - - value: | - motorUtilInit("{{ P }}") - - name: basic_asyn_motor description: |- Basic template, including motor record and associated tags - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: M + M: + type: str description: |- Device Suffix - - type: object - name: PORT + PORT: + type: object description: |- Asyn port for motor record - - type: int - name: ADDR + ADDR: + type: int description: |- Address on controller - - type: str - name: DESC + DESC: + type: str description: |- Description, displayed on EDM screen - - type: float - name: MRES + MRES: + type: float description: |- Motor Step Size (EGU) - - type: float - name: VELO + VELO: + type: float description: |- Velocity (EGU/s) - - type: str - name: PREC + PREC: + type: str description: |- Display Precision - - type: str - name: EGU + EGU: + type: str description: |- Engineering Units - - type: str - name: TWV + TWV: + type: str description: |- Tweak Step Size (EGU) - - type: str - name: DTYP + DTYP: + type: str description: |- DTYP of record default: asynMotor - - type: int - name: DIR + DIR: + type: int description: |- User Direction default: 0 - - type: int - name: VBAS + VBAS: + type: int description: |- Base Velocity (EGU/s) default: 0 - - type: str - name: VMAX + VMAX: + type: str description: |- Max Velocity (EGU/s), defaults to VELO default: $(VELO) - - type: float - name: ACCL + ACCL: + type: float description: |- Seconds to Velocity default: 0.5 - - type: int - name: BDST + BDST: + type: int description: |- BL Distance (EGU) default: 0 - - type: int - name: BVEL + BVEL: + type: int description: |- BL Velocity (EGU/s) default: 0 - - type: str - name: BACC + BACC: + type: str description: |- BL Seconds to Veloc. - - type: str - name: DHLM + DHLM: + type: str description: |- Dial High Limit - - type: str - name: DLLM + DLLM: + type: str description: |- Dial Low Limit - - type: str - name: HLM + HLM: + type: str description: |- User High Limit - - type: str - name: LLM + LLM: + type: str description: |- User Low Limit - - type: str - name: HLSV + HLSV: + type: str description: |- HW Lim. Violation Svr default: MAJOR - - type: str - name: INIT + INIT: + type: str description: |- Startup commands - - type: int - name: SREV + SREV: + type: int description: |- Steps per Revolution default: 1000 - - type: str - name: RRES + RRES: + type: str description: |- Readback Step Size (EGU) - - type: str - name: ERES + ERES: + type: str description: |- Encoder Step Size (EGU) - - type: str - name: JAR + JAR: + type: str description: |- Jog Acceleration (EGU/s^2) - - type: int - name: UEIP + UEIP: + type: int description: |- Use Encoder If Present default: 0 - - type: int - name: URIP + URIP: + type: int description: |- Use RDBL If Present default: 0 - - type: str - name: RDBL + RDBL: + type: str description: |- Readback Location, set URIP = 1 if you specify this - - type: str - name: RLNK + RLNK: + type: str description: |- Readback output link - - type: int - name: RTRY + RTRY: + type: int description: |- Max retry count default: 0 - - type: int - name: DLY + DLY: + type: int description: |- Readback settle time (s) default: 0 - - type: int - name: OFF + OFF: + type: int description: |- User Offset (EGU) default: 0 - - type: str - name: RDBD + RDBD: + type: str description: |- Retry Deadband (EGU) - - type: int - name: FOFF + FOFF: + type: int description: |- Freeze Offset, 0=variable, 1=frozen default: 0 - - type: int - name: ADEL + ADEL: + type: int description: |- Alarm monitor deadband (EGU) default: 0 - - type: int - name: NTM + NTM: + type: int description: |- New Target Monitor, only set to 0 for soft motors default: 1 - - type: int - name: FEHIGH + FEHIGH: + type: int description: |- HIGH limit for following error default: 0 - - type: int - name: FEHIHI + FEHIHI: + type: int description: |- HIHI limit for following error default: 0 - - type: str - name: FEHHSV + FEHHSV: + type: str description: |- HIHI alarm severity for following error default: NO_ALARM - - type: str - name: FEHSV + FEHSV: + type: str description: |- HIGH alarm severity for following error default: NO_ALARM - - type: int - name: SCALE + SCALE: + type: int description: |- Scale factor, if pmacSetAxisScale is used this should be set default: 1 - - type: int - name: HOMEVIS + HOMEVIS: + type: int description: |- If 1 then home is visible on the gui default: 1 - - type: str - name: HOMEVISSTR + HOMEVISSTR: + type: str description: |- If HOMEVIS=0, then display this text on the gui instead default: Use motor summary screen - - type: id - name: name + name: + type: id description: |- Object name and gui association name - - type: str - name: alh + alh: + type: str description: |- set to '#' to comment out alh lines TODO: REALLY??? default: None @@ -344,90 +344,89 @@ defs: pvi: yaml_path: asynMotorAxis.pvi.device.yaml - pv_prefix: "{{ P }}{{ M }}" + pv_prefix: '{{ P }}{{ M }}' ui_macros: P: M: - - name: softMotorForPiezo description: |- TODO:ADD DESCRIPTION - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: Q + Q: + type: str description: |- Device Suffix - - type: str - name: DESC + DESC: + type: str description: |- Description, displayed on EDM screen - - type: str - name: RDBL + RDBL: + type: str description: |- Readback link - - type: str - name: OUT + OUT: + type: str description: |- Output link - - type: str - name: MOVEDLY + MOVEDLY: + type: str description: |- Approximate move time (seconds) - - type: str - name: EGU + EGU: + type: str description: |- Engineering Units - - type: str - name: DHLM + DHLM: + type: str description: |- Dial High Limit - - type: str - name: DLLM + DLLM: + type: str description: |- Dial Low Limit - - type: int - name: MRES + MRES: + type: int description: |- Motor Step Size (EGU) default: 1 - - type: int - name: RRES + RRES: + type: int description: |- Readback Step Size (EGU) default: 1 - - type: int - name: RDBD + RDBD: + type: int description: |- Retry deadband (EGU) default: 1 - - type: id - name: name + name: + type: id description: |- Object name and gui association name - - type: str - name: gda_name + gda_name: + type: str description: |- Name to export this as to GDA - - type: str - name: gda_desc + gda_desc: + type: str description: |- Description to export this as to GDA @@ -453,26 +452,26 @@ defs: - name: MotorSim description: |- Simulated controller Device - instantiate one per controller ''' - args: - - type: id - name: name + parameters: + name: + type: id description: |- Asyn port for motor record - - type: int - name: AXES + AXES: + type: int description: |- Number of Axes default: 8 - - type: int - name: ACTIVEPOLL + ACTIVEPOLL: + type: int description: |- polling period when motors are moving default: 50 - - type: int - name: IDLEPOLL + IDLEPOLL: + type: int description: |- polling period when all motors are idle default: 500 diff --git a/motorMotorSim/motorMotorSim.ibek.support.yaml b/motorMotorSim/motorMotorSim.ibek.support.yaml index 140b7d0..e8a77a1 100644 --- a/motorMotorSim/motorMotorSim.ibek.support.yaml +++ b/motorMotorSim/motorMotorSim.ibek.support.yaml @@ -2,24 +2,23 @@ module: motorSim -defs: +entity_models: - name: simMotorController description: |- Creates a simulation motion controller - - args: - - type: id - name: controllerName + parameters: + controllerName: + type: id description: |- The name of the controller and its Asyn Port Name - - type: str - name: P + P: + type: str description: |- Device PV Prefix - - type: int - name: numAxes + numAxes: + type: int description: |- The number of axes to create @@ -31,53 +30,52 @@ defs: - name: simMotorAxis description: |- Creates a simulation motor axis - - args: - - type: object - name: controller + parameters: + controller: + type: object description: |- a reference to the motion controller - - type: str - name: M + M: + type: str description: |- PV suffix for the motor record - - type: int - name: ADDR + ADDR: + type: int description: |- The axis number (allowed to be from 0 to controller.numAxes-1) - - type: str - name: DESC + DESC: + type: str description: |- The description of the axis - - type: int - name: DLLM + DLLM: + type: int description: |- The low limit of the axis (in counts) default: -20000 - - type: int - name: DHLM + DHLM: + type: int description: |- The high limit of the axis (in counts) default: 20000 - - type: int - name: home + home: + type: int description: |- The home position of the axis (in counts) - - type: int - name: start + start: + type: int description: |- The starting position of the axis (in counts) default: 0 - - type: enum - name: DIR + DIR: + type: enum description: |- The direction of the axis default: 0 @@ -102,22 +100,22 @@ defs: # Which is good idea for ease of transition from traditional IOCs) - file: basic_asyn_motor.db args: - P: "{{controller.P}}" + P: '{{controller.P}}' M: - DTYP: "asynMotor" - PORT: "{{controller}}" + DTYP: asynMotor + PORT: '{{controller}}' ADDR: DESC: - EGU: "degrees" + EGU: degrees DIR: - VELO: "1" - VBAS: ".1" - ACCL: ".2" - BDST: "0" - BVEL: "1" - BACC: ".2" - MRES: ".01" - PREC: "5" + VELO: '1' + VBAS: '.1' + ACCL: '.2' + BDST: '0' + BVEL: '1' + BACC: '.2' + MRES: '.01' + PREC: '5' DHLM: DLLM: - INIT: "" + INIT: '' diff --git a/motorNewport/motorNewport.ibek.support.yaml b/motorNewport/motorNewport.ibek.support.yaml index dd7e670..cffec5d 100644 --- a/motorNewport/motorNewport.ibek.support.yaml +++ b/motorNewport/motorNewport.ibek.support.yaml @@ -30,71 +30,70 @@ module: motorNewport -defs: +entity_models: - name: SMC100CreateController description: |- Creates a SMC100 motion controller connected to an ethernetToSerialServer - - args: - - type: id - name: controllerName + parameters: + controllerName: + type: id description: |- The name of the controller and its Asyn Port Name - - - type: str - name: P + + P: + type: str description: |- Device PV Prefix - - type: str - name: IP + IP: + type: str description: |- IP address of the ethernet2serial default: 127.0.0.1 ## localhost - - type: int - name: TCPPORT + TCPPORT: + type: int description: |- Port of the ethernet2serial default: 4001 - - - type: int - name: POLL + + POLL: + type: int description: |- Movement poll ms default: 100 - - - type: float - name: EGUXSTEP + + EGUXSTEP: + type: float description: |- EGU PER STEP default: 0.00005 - - type: int - name: ASYNPRIO + ASYNPRIO: + type: int description: |- ASYN PRIORITY, Default : 0 default: 0 - - type: int - name: AUTOCONNECT + AUTOCONNECT: + type: int description: |- Asyn auto connect 0: Auto connection 1: no Auto connection default: 0 - - type: int - name: NOPRECESSESOS + NOPRECESSESOS: + type: int description: |- ASYN noProcessEos, Default : 0 https://epics.anl.gov/tech-talk/2020/msg01705.php default: 0 - - - type: int - name: numAxes + + numAxes: + type: int description: |- The number of axes to create @@ -109,64 +108,63 @@ defs: asynOctetSetInputEos({{controllerName}}_ASYN,0,"\r\n") asynOctetSetOutputEos({{controllerName}}_ASYN,0,"\r\n") asynReport 10 - + - name: motorAxis description: |- Creates a motor axis - - args: - - type: object - name: controller + parameters: + controller: + type: object description: |- a reference to the motion controller - - type: str - name: M + M: + type: str description: |- PV suffix for the motor record - - type: int - name: ADDR + ADDR: + type: int description: |- The axis number (allowed to be from 0 to controller.numAxes-1) - - type: str - name: DESC + DESC: + type: str description: |- The description of the axis - - type: int - name: DLLM + DLLM: + type: int description: |- The low limit of the axis default: -5 - - type: int - name: DHLM + DHLM: + type: int description: |- The high limit of the axis default: 25 - - type: int - name: VELO + VELO: + type: int description: |- Velocity default: 1 - - type: int - name: home + home: + type: int description: |- The home position of the axis (in counts) - - type: int - name: start + start: + type: int description: |- The starting position of the axis (in counts) default: 0 - - type: enum - name: DIR + DIR: + type: enum description: |- The direction of the axis default: 0 @@ -174,54 +172,56 @@ defs: Pos: 0 Neg: 1 - - type: str - name: EGU + EGU: + type: str description: |- Engineering Units - default: "mm" - - - type: float - name: VBAS + default: mm + VBAS: + type: float description: |- Base Velocity (EGU/s) default: 0.2 - - type: float - name: ACCL + ACCL: + type: float description: |- Seconds to Velocity default: 0.2 - - type: int - name: BDST + BDST: + type: int description: |- BL Distance (EGU) default: 0 - - type: float - name: BVEL + BVEL: + type: float description: |- BL Velocity (EGU/s) default: 0.5 - - type: float - name: BACC + BACC: + type: float description: |- BL Seconds to Veloc. default: 0.2 - - type: float - name: MRES + MRES: + type: float description: |- Motor Step Size (EGU) default: 0.00001 - - type: int - name: PREC + PREC: + type: int description: |- Display precision (EGU) default: 6 - + + post_init: + - value: |- + dbl databases: # TODO as this is a simulation I have hard coded some of the DB fields, # but these could easily be made into arguments above @@ -231,14 +231,14 @@ defs: # Which is good idea for ease of transition from traditional IOCs) - file: basic_asyn_motor.db args: - P: "{{controller.P}}" - N: "{{ADDR +1 }}" + P: '{{controller.P}}' + N: '{{ADDR +1 }}' M: - DTYP: "asynMotor" - PORT: "SMC100_{{controller}}" + DTYP: asynMotor + PORT: SMC100_{{controller}} ADDR: DESC: - EGU: + EGU: DIR: VELO: VBAS: @@ -246,11 +246,8 @@ defs: BDST: BVEL: BACC: - MRES: + MRES: PREC: - DHLM: - DLLM: - INIT: "" - post_init: - - value: | - dbl \ No newline at end of file + DHLM: + DLLM: + INIT: '' diff --git a/pmac/pmac.ibek.support.yaml b/pmac/pmac.ibek.support.yaml index d1693e3..a76667c 100644 --- a/pmac/pmac.ibek.support.yaml +++ b/pmac/pmac.ibek.support.yaml @@ -2,26 +2,26 @@ module: pmac -defs: +entity_models: - name: pmacAsynIPPort description: |- This will create an AsynPort connecting to a PMAC or GeoBrick over IP - args: - - type: id - name: name + parameters: + name: + type: id description: |- Port Name, normally something like BRICK1port - - type: str - name: IP + IP: + type: str description: |- IP address of the geobrick - - type: str - name: simulation + simulation: + type: str description: |- IP port to connect to if in simulation mode - default: "" + default: '' pre_init: - value: | @@ -32,106 +32,112 @@ defs: description: |- This will create an asyn motor port for a GeoBrick that we can attach motor records to using the model 3 driver - - args: - - type: object - name: pmacAsynPort + parameters: + pmacAsynPort: + type: object description: |- pmacAsynIPPort/pmacVmeConfig to connect to - - type: str - name: P + P: + type: str description: |- PV Prefix - - type: id - name: name + name: + type: id description: |- Name to use for the asyn port - - type: int - name: IdlePoll + IdlePoll: + type: int description: |- Idle Poll Period in ms default: 500 - - type: int - name: MovingPoll + MovingPoll: + type: int description: |- Moving Poll Period in ms default: 100 - - type: int - name: NAXES + NAXES: + type: int description: |- Number of axes default: 8 - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout for controller communication default: 4 - - type: int - name: FEEDRATE + FEEDRATE: + type: int description: |- feedrate below which we go into error default: 100 - - type: str - name: CSG0 + CSG0: + type: str description: |- Name for Coordinate System Group 0 - default: "" + default: '' - - type: str - name: CSG1 + CSG1: + type: str description: |- Name for Coordinate System Group 1 - default: "" + default: '' - - type: str - name: CSG2 + CSG2: + type: str description: |- Name for Coordinate System Group 2 - default: "" + default: '' - - type: str - name: CSG3 + CSG3: + type: str description: |- Name for Coordinate System Group 3 - default: "" + default: '' - - type: str - name: CSG4 + CSG4: + type: str description: |- Name for Coordinate System Group 4 - default: "" + default: '' - - type: str - name: CSG5 + CSG5: + type: str description: |- Name for Coordinate System Group 5 - default: "" + default: '' - - type: str - name: CSG6 + CSG6: + type: str description: |- Name for Coordinate System Group 6 - default: "" + default: '' - - type: str - name: CSG7 + CSG7: + type: str description: |- Name for Coordinate System Group 7 - default: "" + default: '' + + pre_init: + - value: | + # Configure Model 3 Controller Driver (ControlerPort, LowLevelDriverPort, Address, Axes, MovingPoll, IdlePoll) + pmacCreateController("{{name}}", "{{pmacAsynPort}}", 0, {{NAXES}}, {{MovingPoll}}, {{IdlePoll}}) + # Configure Model 3 Axes Driver (Controler Port, Axis Count) + pmacCreateAxes("{{name}}", {{NAXES}}) databases: - file: pmacStatus.template args: P: - PORT: "{{name}}" + PORT: '{{name}}' - file: pmacController.template args: @@ -147,70 +153,62 @@ defs: P: TIMEOUT: NAXES: - PORT: "{{name}}" - - pre_init: - - value: | - # Configure Model 3 Controller Driver (ControlerPort, LowLevelDriverPort, Address, Axes, MovingPoll, IdlePoll) - pmacCreateController("{{name}}", "{{pmacAsynPort}}", 0, {{NAXES}}, {{MovingPoll}}, {{IdlePoll}}) - # Configure Model 3 Axes Driver (Controler Port, Axis Count) - pmacCreateAxes("{{name}}", {{NAXES}}) + PORT: '{{name}}' pvi: yaml_path: pmacController.pvi.device.yaml - pv_prefix: "{{ P }}" + pv_prefix: '{{ P }}' ui_macros: P: - - name: pmacAsynSSHPort description: |- This will create an AsynPort connecting to a PowerPMAC over SSH - args: - - type: id - name: name + parameters: + name: + type: id description: |- Port Name, normally something like SSH_PORT - - type: str - name: IP + IP: + type: str description: |- IP address of the powerPMAC - - type: str - name: USERNAME + USERNAME: + type: str description: |- Username for the SSH connection default: root - - type: str - name: PASSWORD + PASSWORD: + type: str description: |- Password for the SSH connection default: deltatau - - type: int - name: PRIORITY + PRIORITY: + type: int description: |- Priority of the port default: 0 - - type: int - name: NOAUTOCONNECT + NOAUTOCONNECT: + type: int description: |- Disable autoconnect if set to 1 default: 0 - - type: int - name: NOEOS + NOEOS: + type: int description: |- No EOS used if set to 1 default: 0 - - type: str - name: simulation + simulation: + type: str description: |- IP port to connect to if in simulation mode - default: "" + default: '' pre_init: - value: | @@ -221,123 +219,130 @@ defs: description: |- This will create an asyn motor port for a PowerPMAC that we can attach motor records to using the model 3 driver - args: - - type: object - name: pmacAsynSSHPort + parameters: + pmacAsynSSHPort: + type: object description: |- pmacAsynSSHPort to connect to - - type: str - name: P + P: + type: str description: |- PV Prefix - - type: id - name: name + name: + type: id description: |- Name to use for the asyn port - - type: int - name: NAxes + NAxes: + type: int description: |- Number of axes default: 8 - - type: int - name: IdlePoll + IdlePoll: + type: int description: |- Idle Poll Period in ms default: 1000 - - type: int - name: MovingPoll + MovingPoll: + type: int description: |- Moving Poll Period in ms default: 100 - - type: int - name: NAXES + NAXES: + type: int description: |- Number of axes default: 8 - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout for controller communication default: 4 - - type: int - name: FEEDRATE + FEEDRATE: + type: int description: |- feedrate below which we go into error default: 100 - - type: str - name: PMAC + PMAC: + type: str description: |- Pmac/Geobrick name - default: "" + default: '' - - type: str - name: AXIS + AXIS: + type: str description: |- Axis number - default: "" + default: '' - - type: str - name: PORT + PORT: + type: str description: |- Asyn port - default: "{{name}}" + default: '{{name}}' - - type: str - name: CSG0 + CSG0: + type: str description: |- Name for Coordinate System Group 0 - default: "" + default: '' - - type: str - name: CSG1 + CSG1: + type: str description: |- Name for Coordinate System Group 1 - default: "" + default: '' - - type: str - name: CSG2 + CSG2: + type: str description: |- Name for Coordinate System Group 2 - default: "" + default: '' - - type: str - name: CSG3 + CSG3: + type: str description: |- Name for Coordinate System Group 3 - default: "" + default: '' - - type: str - name: CSG4 + CSG4: + type: str description: |- Name for Coordinate System Group 4 - default: "" + default: '' - - type: str - name: CSG5 + CSG5: + type: str description: |- Name for Coordinate System Group 5 - default: "" + default: '' - - type: str - name: CSG6 + CSG6: + type: str description: |- Name for Coordinate System Group 6 - default: "" + default: '' - - type: str - name: CSG7 + CSG7: + type: str description: |- Name for Coordinate System Group 7 - default: "" + default: '' + + pre_init: + - value: | + # Configure Model 3 Controller Driver (ControlerPort, LowLevelDriverPort, Address, Axes, MovingPoll, IdlePoll) + pmacCreateController("{{name}}", "{{pmacAsynSSHPort}}", 0, {{NAxes}}, {{MovingPoll}}, {{IdlePoll}}) + # Configure Model 3 Axes Driver (Controler Port, Axis Count) + pmacCreateAxes("{{name}}", {{NAxes}}) databases: - file: pmacStatusAxis.template @@ -367,30 +372,23 @@ defs: NAXES: PORT: - pre_init: - - value: | - # Configure Model 3 Controller Driver (ControlerPort, LowLevelDriverPort, Address, Axes, MovingPoll, IdlePoll) - pmacCreateController("{{name}}", "{{pmacAsynSSHPort}}", 0, {{NAxes}}, {{MovingPoll}}, {{IdlePoll}}) - # Configure Model 3 Axes Driver (Controler Port, Axis Count) - pmacCreateAxes("{{name}}", {{NAxes}}) - - name: CS description: |- Creates some PVs for global control of a Coordinate System, namely programmed move time and deferred move control - args: - - type: id - name: name + parameters: + name: + type: id description: |- CS Name (for asyn port that motor records are connected to) - - type: object - name: PmacController + PmacController: + type: object description: |- Underlying PMAC or GeoBrick object - - type: int - name: CS + CS: + type: int description: |- Coordinate System Number for the cs controller @@ -400,45 +398,36 @@ defs: # description: |- # PLC Number, use CS + 15 - - type: int - name: NAxes + NAxes: + type: int description: |- Number of axes default: 9 - - type: int - name: Program + Program: + type: int description: |- Motion Program to run default: 10 - - type: int - name: IdlePoll + IdlePoll: + type: int description: |- Idle Poll Period in ms default: 500 - - type: int - name: MovingPoll + MovingPoll: + type: int description: |- Moving Poll Period in ms default: 100 - - type: int - name: TIMEOUT + TIMEOUT: + type: int description: |- Timeout for controller communication default: 4 - databases: - - file: pmacCsController.template - args: - CS: - PARENTPORT: "{{PmacController}}" - PORT: "{{name}}" - TIMEOUT: - PMAC: "{{PmacController.P}}" - pre_init: - value: | # Create CS (CSPortName, ControllerPort, CSNumber, ProgramNumber) @@ -446,30 +435,39 @@ defs: # Configure Model 3 CS Axes Driver (CSPortName, CSAxisCount) pmacCreateCSAxes("{{name}}", {{NAxes}}) + databases: + - file: pmacCsController.template + args: + CS: + PARENTPORT: '{{PmacController}}' + PORT: '{{name}}' + TIMEOUT: + PMAC: '{{PmacController.P}}' + - name: GeoBrickTrajectoryControl description: |- Creates some PVs for executing trajectory scans on the pmac controller by instantiating an instance of pmacTrajectoryAxis.template for each axis - args: - - type: object - name: PmacController + parameters: + PmacController: + type: object description: |- Delta tau motor controller - - type: int - name: NPOINTS + NPOINTS: + type: int description: |- Number of points that can be built at any time default: 10000 - - type: int - name: MAXPOINTS + MAXPOINTS: + type: int description: |- Maximum number of points in a scan default: 4000000 - - type: int - name: PREC + PREC: + type: int description: |- precision of axis defnitions default: 3 @@ -479,10 +477,10 @@ defs: args: NPOINTS: MAXPOINTS: - PORT: "{{PmacController}}" + PORT: '{{PmacController}}' PREC: - PMAC: "{{PmacController.P}}" - NAxes: "{{PmacController.NAXES}}" + PMAC: '{{PmacController.P}}' + NAxes: '{{PmacController.NAXES}}' # pvi: # yaml_path: pmacTrajectory.pvi.device.yaml @@ -493,74 +491,74 @@ defs: - name: dls_pmac_asyn_motor description: |- describe a single real axis on a pmac controller - args: - - type: object - name: Controller + parameters: + Controller: + type: object description: |- Delta tau motor Controller object or Coordinate System Controller object - - type: bool - name: is_cs + is_cs: + type: bool description: |- True if this is a coordinate system axis default: false - - type: str - name: P + P: + type: str description: |- Device Prefix - - type: str - name: M + M: + type: str description: |- Device Suffix - - type: int - name: ADDR + ADDR: + type: int description: |- Address on controller i.e. Axis number - - type: str - name: DESC + DESC: + type: str description: |- Description, displayed on OPI screen - - type: float - name: MRES + MRES: + type: float description: |- Motor Step Size (EGU) - - type: float - name: VELO + VELO: + type: float description: |- Velocity (EGU/s) default: 1.0 - - type: int - name: PREC + PREC: + type: int description: |- Display Precision default: 5 - - type: str - name: EGU + EGU: + type: str description: |- Engineering Units - - type: float - name: TWV + TWV: + type: float description: |- Tweak Step Size (EGU) default: 1.0 - - type: str - name: DTYP + DTYP: + type: str description: |- DTYP of record default: asynMotor - - type: enum - name: DIR + DIR: + type: enum description: |- User Direction default: 0 @@ -568,102 +566,102 @@ defs: Pos: 0 Neg: 1 - - type: float - name: VBAS + VBAS: + type: float description: |- Base Velocity (EGU/s) default: 0.0 - - type: str # float or substitution string - name: VMAX + VMAX: + type: str # float or substitution string description: |- Max Velocity (EGU/s), defaults to VELO - default: "{{VELO}}" + default: '{{VELO}}' - - type: float - name: ACCL + ACCL: + type: float description: |- Seconds to Velocity default: 0.5 - - type: float - name: BDST + BDST: + type: float description: |- Backlash Distance (EGU) default: 0.0 - - type: float - name: BVEL + BVEL: + type: float description: |- BACKLASH Velocity (EGU/s) default: 0.0 - - type: float - name: BACC + BACC: + type: float description: |- BACKLASH Seconds to Veloc. default: 0.0 - - type: float - name: DHLM + DHLM: + type: float description: |- Dial High Limit - - type: float - name: DLLM + DLLM: + type: float description: |- Dial Low Limit - - type: str # float or blank - name: HLM + HLM: + type: str # float or blank description: |- User High Limit - default: "" + default: '' - - type: str # float or blank - name: LLM + LLM: + type: str # float or blank description: |- User Low Limit - default: "" + default: '' - - type: str - name: HLSV + HLSV: + type: str description: |- HW Lim. Violation Svr default: MAJOR - - type: str - name: INIT + INIT: + type: str description: |- Startup commands - default: "" + default: '' - - type: int - name: SREV + SREV: + type: int description: |- Steps per Revolution default: 1000 - - type: float - name: RRES + RRES: + type: float description: |- Readback Step Size (EGU) default: 0.0 - - type: float - name: ERES + ERES: + type: float description: |- Encoder Step Size (EGU) default: 0.0 - - type: float - name: JAR + JAR: + type: float description: |- Jog Acceleration (EGU/s^2) default: 0.0 - - type: enum - name: UEIP + UEIP: + type: enum description: |- Use Encoder If Present default: No @@ -671,8 +669,8 @@ defs: Yes: 1 No: 0 - - type: enum - name: URIP + URIP: + type: enum description: |- Use RDBL If Present default: 0 @@ -680,44 +678,44 @@ defs: Yes: 0 No: 1 - - type: str - name: RDBL + RDBL: + type: str description: |- Readback Location, set URIP = 1 if you specify this - default: "" + default: '' - - type: str - name: RLNK + RLNK: + type: str description: |- Readback output link - default: "" + default: '' - - type: int - name: RTRY + RTRY: + type: int description: |- Max retry count default: 0 - - type: int - name: DLY + DLY: + type: int description: |- Readback settle time (s) default: 0 - - type: float - name: OFF + OFF: + type: float description: |- User Offset (EGU) default: 0.0 - - type: float - name: RDBD + RDBD: + type: float description: |- Retry Deadband (EGU) default: 0.0 - - type: enum - name: FOFF + FOFF: + type: enum description: |- Freeze Offset, 0=variable, 1=frozen default: Variable @@ -725,14 +723,14 @@ defs: Variable: 0 Frozen: 1 - - type: float - name: ADEL + ADEL: + type: float description: |- Alarm monitor deadband (EGU) default: 0 - - type: enum - name: NTM + NTM: + type: enum description: |- New Target Monitor, only set to 0 for soft motors default: YES @@ -740,74 +738,74 @@ defs: NO: 0 YES: 1 - - type: float - name: FEHIGH + FEHIGH: + type: float description: |- HIGH limit for following error default: 0.0 - - type: float - name: FEHIHI + FEHIHI: + type: float description: |- HIHI limit for following error default: 0.0 - - type: str - name: FEHHSV + FEHHSV: + type: str description: |- HIHI alarm severity for following error default: NO_ALARM - - type: str - name: FEHSV + FEHSV: + type: str description: |- HIGH alarm severity for following error default: NO_ALARM - - type: int - name: SCALE + SCALE: + type: int description: |- Scale factor, if pmacSetAxisScale is used this should be set default: 1 - - type: int - name: HOMEVIS + HOMEVIS: + type: int description: |- If 1 then home is visible on the gui default: 1 - - type: str - name: HOMEVISSTR + HOMEVISSTR: + type: str description: |- If HOMEVIS=0, then display this text on the gui instead default: Use motor summary screen - - type: str - name: alh + alh: + type: str description: |- set to '#' to comment out alh lines default: None - - type: str - name: HOME + HOME: + type: str description: |- the template contains enough records to keep the motor record happy - default: "{{P}}" + default: '{{P}}' - - type: str - name: ALLOW_HOMED_SET + ALLOW_HOMED_SET: + type: str description: |- status manually. This is set to a comment character by default. - default: "#" + default: '#' databases: - file: "{{ 'dls_pmac_cs_asyn_motor.template' if is_cs else 'dls_pmac_asyn_motor.template' }}" args: P: M: - PORT: "{{ Controller }}" - CS: "{{Controller.CS if is_cs else 0}}" - PMAC: "{{ Controller.P }}" + PORT: '{{ Controller }}' + CS: '{{Controller.CS if is_cs else 0}}' + PMAC: '{{ Controller.P }}' VELO: ACCL: SCALE: @@ -857,193 +855,191 @@ defs: pvi: yaml_path: pmacAxis.pvi.device.yaml - pv_prefix: "{{ P }}{{ M }}" + pv_prefix: '{{ P }}{{ M }}' ui_macros: P: M: - # TODO probably much more required here - - name: autohome description: |- TODO:ADD DESCRIPTION - args: - - type: str - name: P + parameters: + P: + type: str description: |- Pv Prefix - - type: int - name: PLC + PLC: + type: int description: |- PLC number - - type: object - name: PmacController + PmacController: + type: object description: |- Delta tau motor controller port - - type: str - name: GRP1 + GRP1: + type: str description: |- Optional. Homing group 1 description. Defaults to "All". default: All - - type: str - name: GRP2 + GRP2: + type: str description: |- Optional. Homing group 2 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP3 + GRP3: + type: str description: |- Optional. Homing group 3 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP4 + GRP4: + type: str description: |- Optional. Homing group 4 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP5 + GRP5: + type: str description: |- Optional. Homing group 5 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP6 + GRP6: + type: str description: |- Optional. Homing group 6 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP7 + GRP7: + type: str description: |- Optional. Homing group 7 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP8 + GRP8: + type: str description: |- Optional. Homing group 8 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP9 + GRP9: + type: str description: |- Optional. Homing group 9 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: GRP10 + GRP10: + type: str description: |- Optional. Homing group 10 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATE11 + STATE11: + type: str description: |- Optional. Homing state 11 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATE12 + STATE12: + type: str description: |- Optional. Homing state 12 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATE13 + STATE13: + type: str description: |- Optional. Homing state 13 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATE14 + STATE14: + type: str description: |- Optional. Homing state 14 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATE15 + STATE15: + type: str description: |- Optional. Homing state 15 description. Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATUS11 + STATUS11: + type: str description: |- Optional. Homing status 11 description (e.g. for custom limit checks). Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATUS12 + STATUS12: + type: str description: |- Optional. Homing status 12 description (e.g. for custom limit checks). Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATUS13 + STATUS13: + type: str description: |- Optional. Homing status 13 description (e.g. for custom limit checks). Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATUS14 + STATUS14: + type: str description: |- Optional. Homing status 14 description (e.g. for custom limit checks). Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATUS15 + STATUS15: + type: str description: |- Optional. Homing status 15 description (e.g. for custom limit checks). Defaults to give empty description string. - default: "" + default: '' - - type: str - name: STATUSSV11 + STATUSSV11: + type: str description: |- Optional. Homing status 11 severity. Defaults to NO_ALARM. default: NO_ALARM - - type: str - name: STATUSSV12 + STATUSSV12: + type: str description: |- Optional. Homing status 12 severity. Defaults to NO_ALARM. default: NO_ALARM - - type: str - name: STATUSSV13 + STATUSSV13: + type: str description: |- Optional. Homing status 13 severity. Defaults to NO_ALARM. default: NO_ALARM - - type: str - name: STATUSSV14 + STATUSSV14: + type: str description: |- Optional. Homing status 14 severity. Defaults to NO_ALARM. default: NO_ALARM - - type: str - name: STATUSSV15 + STATUSSV15: + type: str description: |- Optional. Homing status 15 severity. Defaults to NO_ALARM. default: NO_ALARM - - type: str - name: DESC + DESC: + type: str description: |- Description - default: "" + default: '' databases: - file: autohome.template args: GRP10: - CTRL: "{{PmacController.P}}" - PORT: "{{PmacController}}" + CTRL: '{{PmacController.P}}' + PORT: '{{PmacController}}' GRP9: GRP8: GRP3: @@ -1076,46 +1072,46 @@ defs: description: |- Simple template that reads and writes to a variable on a PMAC or geoBrick via dynamic parameters. - args: - - type: str - name: P + parameters: + P: + type: str description: |- Pv Prefix - - type: str - name: Q + Q: + type: str description: |- Pv Suffix - - type: object - name: PORT + PORT: + type: object description: |- Delta tau motor controller comms port - - type: str - name: VAR + VAR: + type: str description: |- Variable on PMAC to write to, e.g. P700 - - type: str - name: EGU + EGU: + type: str description: |- Engineering units - - type: int - name: VARIABLE_PREC + VARIABLE_PREC: + type: int description: |- Variable Record precision default: 5 - - type: str - name: DTYP + DTYP: + type: str description: |- asyn DTYP (e.g., asynFloat64, asynInt32) default: asynFloat64 - - type: str - name: TYPE + TYPE: + type: str description: |- PMAC variable type (D=double, I=integer, H=hex, S=string) default: D @@ -1136,24 +1132,24 @@ defs: description: |- Create a group of axis mappings to coordinate systems. Instantating a GeoBrickGlobalControl will create a PV for switching between these groups - args: - - type: object - name: Controller + parameters: + Controller: + type: object description: |- Underlying PMAC or GeoBrick object - - type: int - name: GroupNumber + GroupNumber: + type: int description: |- Unique Group number to describe this group - - type: str - name: GroupName + GroupName: + type: str description: |- Description of the group - - type: int - name: AxisCount + AxisCount: + type: int description: |- Number of CS axes in this group @@ -1164,29 +1160,29 @@ defs: - name: pmacCsGroupAddAxis description: |- TODO:ADD DESCRIPTION - args: - - type: object - name: Controller + parameters: + Controller: + type: object description: |- Underlying PMAC or GeoBrick object - - type: int - name: GroupNumber + GroupNumber: + type: int description: |- Unique Group number to describe this group - - type: int - name: AxisNumber + AxisNumber: + type: int description: |- Axis number of axis to add to the group - - type: str - name: AxisDef + AxisDef: + type: str description: |- CS Axis definition for this axis i.e. one of I A B C U V W X Y Z (or may include linear equations) - - type: int - name: CoordSysNumber + CoordSysNumber: + type: int description: |- Axis number of axis to add to the group @@ -1197,14 +1193,14 @@ defs: - name: pmacDisableLimitsCheck description: |- TODO:ADD DESCRIPTION - args: - - type: object - name: Controller + parameters: + Controller: + type: object description: |- Underlying PMAC or GeoBrick object - - type: int - name: Axis + Axis: + type: int description: |- Axis number to disable limit check, defaults to all @@ -1216,102 +1212,102 @@ defs: description: |- define a motor with forward and reverse relationship between user and motor positions - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device Prefix - - type: str - name: M + M: + type: str description: |- Device Suffix - - type: str - name: DESC + DESC: + type: str description: |- Description, displayed on OPI screen - - type: float - name: VELO + VELO: + type: float description: |- Velocity (EGU/s) default: 1.0 - - type: int - name: PREC + PREC: + type: int description: |- Display Precision default: 5 - - type: str - name: EGU + EGU: + type: str description: |- Engineering Units - - type: float - name: TWV + TWV: + type: float description: |- Tweak Step Size (EGU) default: 1.0 - - type: str # float or substitution string - name: VMAX + VMAX: + type: str # float or substitution string description: |- Max Velocity (EGU/s), defaults to VELO - default: "{{VELO}}" + default: '{{VELO}}' - - type: float - name: DHLM + DHLM: + type: float description: |- Dial High Limit - - type: float - name: DLLM + DLLM: + type: float description: |- Dial Low Limit - - type: str - name: FWD + FWD: + type: str description: |- Forward relationship calc field - - type: str - name: BWD + BWD: + type: str description: |- Backward relationship calc field - - type: str - name: SM + SM: + type: str description: |- PV suffix for the soft motor name databases: - file: translated_motor.template - args: { P, SM, DESC, VELO, VMAX, PREC, EGU, DHLM, DLLM, M, TWV, FWD, BWD } + args: {P: null, SM: null, DESC: null, VELO: null, VMAX: null, PREC: null, EGU: null, DHLM: null, DLLM: null, M: null, TWV: null, FWD: null, BWD: null} - name: CS_accel_dcm description: |- Supporting template that allows setting of variables for an accel DCM CS - args: - - type: object - name: PORT + parameters: + PORT: + type: object description: |- Delta tau motor controller comms port - - type: str - name: P + P: + type: str description: |- Pv Prefix - - type: int - name: COORD + COORD: + type: int description: |- Co-ordinate system number - - type: id - name: name + name: + type: id description: |- This associates an edm screen with the template diff --git a/quadEM/quadem.ibek.support.yaml b/quadEM/quadem.ibek.support.yaml index 1675884..4385e9c 100644 --- a/quadEM/quadem.ibek.support.yaml +++ b/quadEM/quadem.ibek.support.yaml @@ -2,50 +2,43 @@ module: quadEM -defs: +entity_models: - name: TetrAMM description: |- TODO:ADD DESCRIPTION - args: - - type: id - name: PORT + parameters: + PORT: + type: id description: |- Template argument - - type: str - name: P + P: + type: str description: |- Base name of PV. - - type: str - name: R + R: + type: str description: |- Second macro for name of PV. - - type: int - name: QSIZE + QSIZE: + type: int description: |- .. default: 20 - - type: int - name: RING_SIZE + RING_SIZE: + type: int description: |- .. default: 10000 - - type: str - name: IP + IP: + type: str description: |- IP address of the TetrAMM device - databases: - - file: $(QUADEM)/db/TetrAMM.template - args: - P: - R: - PORT: - pre_init: - value: | drvAsynIPPortConfigure({{PORT}}ip, {{IP}}, 100, 0, 0) @@ -60,48 +53,55 @@ defs: # Increase precision of sample time for TetrAMM dbpf("{{P}}{{R}}SampleTime_RBV.PREC", "5") + databases: + - file: $(QUADEM)/db/TetrAMM.template + args: + P: + R: + PORT: + pvi: yaml_path: drvQuadEM.pvi.device.yaml ui_macros: P: R: pv: true - pv_prefix: "$(P)$(R)" + pv_prefix: $(P)$(R) # # WARNING - non print commands in Initialise not parsed - name: Plugins description: |- This plugin instantiates 11 stats plugins for Current, Sum, Diff and Pos - args: - - type: object - name: DEVICE + parameters: + DEVICE: + type: object description: |- Reference to the parent quadEM device - - type: id - name: PORTPREFIX + PORTPREFIX: + type: id description: |- The prefix for plugin asyn port names - - type: int - name: STAT_NCHAN + STAT_NCHAN: + type: int description: |- Template argument - - type: int - name: STAT_XSIZE + STAT_XSIZE: + type: int description: |- Template argument - - type: int - name: HIST_SIZE + HIST_SIZE: + type: int description: |- Template argument default: 256 - - type: int - name: QUEUE + QUEUE: + type: int description: |- length of NDArray queue default: 16 diff --git a/tests/ioc_repos/bl01t b/tests/ioc_repos/bl01t index daaf2d5..3ee7ce9 160000 --- a/tests/ioc_repos/bl01t +++ b/tests/ioc_repos/bl01t @@ -1 +1 @@ -Subproject commit daaf2d57b766f4b30ccde32e72a892b798200d6f +Subproject commit 3ee7ce9f62375e84453ff106df5d52163bb8427a diff --git a/tests/ioc_repos/bl45p b/tests/ioc_repos/bl45p index bdecb63..14650a8 160000 --- a/tests/ioc_repos/bl45p +++ b/tests/ioc_repos/bl45p @@ -1 +1 @@ -Subproject commit bdecb6367f2ee49d714fd078ba226d5948423d5d +Subproject commit 14650a8947dc50c77e6cc3d2601cc8e7a3df5842 diff --git a/tests/ioc_repos/bl47p b/tests/ioc_repos/bl47p index 3fff47b..a749f2a 160000 --- a/tests/ioc_repos/bl47p +++ b/tests/ioc_repos/bl47p @@ -1 +1 @@ -Subproject commit 3fff47bdfeae5d0f357f41ce0dc81aca4e487917 +Subproject commit a749f2aacbfb5ecadd2b8439d663279f90055b38 diff --git a/tests/outputs/bl47p-mo-ioc-01/ioc.subst b/tests/outputs/bl47p-mo-ioc-01/ioc.subst index 51a7398..d2bb57e 100644 --- a/tests/outputs/bl47p-mo-ioc-01/ioc.subst +++ b/tests/outputs/bl47p-mo-ioc-01/ioc.subst @@ -41,8 +41,8 @@ pattern file "dls_pmac_asyn_motor.template" { pattern { "P", "M", "PORT", "CS", "PMAC", "VELO", "ACCL", "SCALE", "BACC", "alh", "DHLM", "HOMEVIS", "EGU", "FEHSV", "VBAS", "VMAX", "HOME", "BDST", "DIR", "DTYP", "FEHIGH", "DLLM", "INIT", "ALLOW_HOMED_SET", "RDBL", "SREV", "LLM", "ADEL", "RDBD", "URIP", "ADDR", "RTRY", "OFF", "ERES", "FEHIHI", "FEHHSV", "JAR", "DESC", "BVEL", "MRES", "DLY", "HLSV", "UEIP", "RRES", "PREC", "RLNK", "FOFF", "HLM", "NTM", "TWV", "HOMEVISSTR" } - { "BL47P-MO-MAP-01:STAGE", ":X", "BRICK1", "0", "BL47P-MO-BRICK-01", "4.0", "0.1", "1", "0.0", "None", "25.0", "1", "mm", "NO_ALARM", "0.0", "4.0", "BL47P-MO-MAP-01:STAGE", "0.0", "Pos", "asynMotor", "0.0", "-25.0", "", "#", "", "1000", "-25", "0.0", "0.0", "0", "1", "0", "0.0", "0.0", "0.0", "NO_ALARM", "0.0", "X", "0.0", "-0.000125", "0", "MAJOR", "1", "0.0", "3", "", "Variable", "25", "YES", "1.0", "Use motor summary screen" } - { "BL47P-MO-MAP-01:STAGE", ":A", "BRICK1", "0", "BL47P-MO-BRICK-01", "2500.0", "0.1", "1", "0.0", "None", "0.0", "1", "mm", "NO_ALARM", "0.0", "2500.0", "BL47P-MO-MAP-01:STAGE", "0.0", "Pos", "asynMotor", "0.0", "0.0", "", "#", "", "1000", "", "0.0", "0.0", "0", "2", "0", "0.0", "0.0", "0.0", "NO_ALARM", "0.0", "A", "0.0", "0.018", "0", "NO_ALARM", "1", "0.0", "3", "", "Variable", "", "YES", "18.0", "Use motor summary screen" } + { "BL47P-MO-MAP-01:STAGE", ":X", "BRICK1", "0", "BL47P-MO-BRICK-01", "4.0", "0.1", "1", "0.0", "None", "25.0", "1", "mm", "NO_ALARM", "0.0", "4.0", "BL47P-MO-MAP-01:STAGE", "0.0", "Pos", "asynMotor", "0.0", "-25.0", "", "#", "", "1000", "-25", "0.0", "0.0", "0", "1", "0", "0.0", "0.0", "0.0", "NO_ALARM", "0.0", "X", "0.0", "-0.000125", "0", "MAJOR", "Yes", "0.0", "3", "", "Variable", "25", "YES", "1.0", "Use motor summary screen" } + { "BL47P-MO-MAP-01:STAGE", ":A", "BRICK1", "0", "BL47P-MO-BRICK-01", "2500.0", "0.1", "1", "0.0", "None", "0.0", "1", "mm", "NO_ALARM", "0.0", "2500.0", "BL47P-MO-MAP-01:STAGE", "0.0", "Pos", "asynMotor", "0.0", "0.0", "", "#", "", "1000", "", "0.0", "0.0", "0", "2", "0", "0.0", "0.0", "0.0", "NO_ALARM", "0.0", "A", "0.0", "0.018", "0", "NO_ALARM", "Yes", "0.0", "3", "", "Variable", "", "YES", "18.0", "Use motor summary screen" } } file "pmacCsController.template" { diff --git a/zebra/zebra.ibek.support.yaml b/zebra/zebra.ibek.support.yaml index d065d7c..530be1e 100644 --- a/zebra/zebra.ibek.support.yaml +++ b/zebra/zebra.ibek.support.yaml @@ -2,29 +2,29 @@ module: zebra -defs: +entity_models: - name: zebraLastDivDiff description: |- Makes a record pointing to DIV$(DIV) that will display the difference between the last two DIV readings in position compare mode - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device prefix - - type: str - name: Q + Q: + type: str description: |- Device suffix - - type: str - name: DIV + DIV: + type: str description: |- DIV number - - type: id - name: name + name: + type: id description: |- Object and gui association name @@ -39,41 +39,41 @@ defs: - name: zebra description: |- Controls the zebra signal converter box - args: - - type: str - name: P + parameters: + P: + type: str description: |- Device prefix - - type: id - name: PORT + PORT: + type: id description: |- Driver port name - - type: str - name: Q + Q: + type: str description: |- Device suffix - - type: object - name: serialPort + serialPort: + type: object description: |- Serial port name - - type: str - name: TIMEOUT + TIMEOUT: + type: str description: |- Timeout - default: "1" + default: '1' - - type: str - name: ADDR + ADDR: + type: str description: |- Asyn Port address - default: "0" + default: '0' - - type: enum - name: SCANRATE + SCANRATE: + type: enum description: |- Specified scan rate for cpu intensive PVs default: I/O Intr @@ -88,136 +88,139 @@ defs: .5 second: Event: I/O Intr: - - - type: int - name: NELM + NELM: + type: int description: |- Number of elements in position capture arrays default: 100000 - - type: str - name: PREC + PREC: + type: str description: |- Precision to show position compare gate and pulse fields - default: "4" + default: '4' - - type: str - name: M1 + M1: + type: str description: |- Motor 1 PV default: $(P)$(Q):NOMOTOR - - type: str - name: M1DIR + M1DIR: + type: str description: |- Set to - if motor inverted in geobrick (decode control = 3 instead of 7) default: + - - type: str - name: M1MULT + M1MULT: + type: str description: |- Multiplier to account for DT scaling. E.g. if *4 encoder decode, set to 0.25 - default: "1" + default: '1' - - type: str - name: M1HOMESETTLE + M1HOMESETTLE: + type: str description: |- Time to wait after an autohome before setting zebra pos to readback pos - default: "5" + default: '5' - - type: str - name: M2 + M2: + type: str description: |- Motor 2 PV default: $(P)$(Q):NOMOTOR - - type: str - name: M2DIR + M2DIR: + type: str description: |- Set to - if motor inverted in geobrick (decode control = 3 instead of 7) default: + - - type: str - name: M2MULT + M2MULT: + type: str description: |- Multiplier to account for DT scaling. E.g. if *4 encoder decode, set to 0.25 - default: "1" + default: '1' - - type: str - name: M2HOMESETTLE + M2HOMESETTLE: + type: str description: |- Time to wait after an autohome before setting zebra pos to readback pos - default: "5" + default: '5' - - type: str - name: M3 + M3: + type: str description: |- Motor 3 PV default: $(P)$(Q):NOMOTOR - - type: str - name: M3DIR + M3DIR: + type: str description: |- Set to - if motor inverted in geobrick (decode control = 3 instead of 7) default: + - - type: str - name: M3MULT + M3MULT: + type: str description: |- Multiplier to account for DT scaling. E.g. if *4 encoder decode, set to 0.25 - default: "1" + default: '1' - - type: str - name: M3HOMESETTLE + M3HOMESETTLE: + type: str description: |- Time to wait after an autohome before setting zebra pos to readback pos - default: "5" + default: '5' - - type: str - name: M4 + M4: + type: str description: |- Motor 4 PV default: $(P)$(Q):NOMOTOR - - type: str - name: M4DIR + M4DIR: + type: str description: |- Set to - if motor inverted in geobrick (decode control = 3 instead of 7) default: + - - type: str - name: M4MULT + M4MULT: + type: str description: |- Multiplier to account for DT scaling. E.g. if *4 encoder decode, set to 0.25 - default: "1" + default: '1' - - type: str - name: M4HOMESETTLE + M4HOMESETTLE: + type: str description: |- Time to wait after an autohome before setting zebra pos to readback pos - default: "5" + default: '5' - - type: int - name: MAXBUF + MAXBUF: + type: int description: |- Maximum number of buffers (areaDetector) default: 5 - - type: int - name: MAXMEM + MAXMEM: + type: int description: |- Maximum memory (areaDetector) - - type: str - name: R + R: + type: str description: |- Device Suffix - - type: str - name: EMPTY + EMPTY: + type: str description: |- Empty macro to satisfy VDCT + pre_init: + - value: | + #zebraConfig(Port, SerialPort, MaxPosCompPoints, MaxBuffers, MaxMemory) + zebraConfig("{{PORT}}", "{{serialPort}}", {{NELM}}, {{MAXBUF}}, {{MAXMEM}}) databases: - file: $(ZEBRA)/db/zebra.template args: @@ -248,7 +251,3 @@ defs: M1MULT: M2DIR: - pre_init: - - value: | - #zebraConfig(Port, SerialPort, MaxPosCompPoints, MaxBuffers, MaxMemory) - zebraConfig("{{PORT}}", "{{serialPort}}", {{NELM}}, {{MAXBUF}}, {{MAXMEM}})