diff --git a/Dockerfile b/Dockerfile index ca21585..982f4f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,9 +29,6 @@ RUN iocStats/install.sh 3.2.0 COPY ibek-support/asyn/ asyn/ RUN asyn/install.sh R4-42 -COPY ibek-support/autosave/ autosave/ -RUN autosave/install.sh R5-11 - COPY ibek-support/busy/ busy/ RUN busy/install.sh R1-7-3 @@ -47,6 +44,9 @@ RUN ADCore/install.sh R3-12-1 COPY ibek-support/ADSimDetector/ ADSimDetector/ RUN ADSimDetector/install.sh R2-10 +COPY ibek-support/autosave/ autosave/ +RUN autosave/install.sh R5-11 + # get the ioc source and build it COPY ioc ${SOURCE_FOLDER}/ioc RUN cd ${IOC} && ./install.sh && make diff --git a/ibek-support b/ibek-support index 897ff57..51a66ec 160000 --- a/ibek-support +++ b/ibek-support @@ -1 +1 @@ -Subproject commit 897ff57ae59f62c0f51e7fd8887bd47aa084d974 +Subproject commit 51a66ec32d70f6abb852f1f62c8db4f6212703ce diff --git a/ioc/start.sh b/ioc/start.sh index 926a3db..dee4702 100755 --- a/ioc/start.sh +++ b/ioc/start.sh @@ -131,6 +131,7 @@ elif [ -f ${ibek_src} ]; then # get the ibek support yaml files this ioc's support modules defs=/epics/ibek-defs/*.ibek.support.yaml ibek runtime generate ${ibek_src} ${defs} + ibek runtime generate-autosave # build expanded database using msi if [ -f ${db_src} ]; then @@ -145,6 +146,7 @@ elif [ -f ${ioc_startup} ] ; then # generate ioc.db from ioc.subst, including all templates from SUPPORT includes=$(for i in ${SUPPORT}/*/db; do echo -n "-I $i "; done) msi ${includes} -I${RUNTIME_DIR} -S ${CONFIG_DIR}/ioc.subst -o ${epics_db} + ibek runtime generate-autosave fi final_ioc_startup=${ioc_startup} # 4. incorrect config folder *************************************************** diff --git a/requirements.txt b/requirements.txt index e573dc0..704e2da 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ -ibek==3.1.0 +ibek==3.1.1b4 # to install direct from github during development in a branch # git+https://github.com/epics-containers/ibek.git@fix-extract-assets diff --git a/services/bl01t-ea-ioc-02/config/ioc.yaml b/services/bl01t-ea-ioc-02/config/ioc.yaml index c248b5d..a6885f9 100644 --- a/services/bl01t-ea-ioc-02/config/ioc.yaml +++ b/services/bl01t-ea-ioc-02/config/ioc.yaml @@ -1,13 +1,13 @@ -# yaml-language-server: $schema=https://github.com/epics-containers/ioc-adsimdetector/releases/download/2024.8.2/ibek.ioc.schema.json +# yaml-language-server: $schema=/tmp/ioc.schema4.json ioc_name: "{{ _global.get_env('IOC_NAME') }}" description: Example simulated camera entities: - - type: epics.EpicsEnvSet - name: EPICS_TZ - value: GMT0BST + - type: autosave.Autosave + settings_req_period: 10 + P: "BL01T-EA-TST-02:" - type: devIocStats.iocAdminSoft IOC: "{{ ioc_name | upper }}" @@ -16,6 +16,31 @@ entities: PORT: DET.DET P: BL01T-EA-TST-02 R: ":DET:" + # DATATYPE:0 = Int8 - TODO add an enum to the support yaml + DATATYPE: 0 + WIDTH: 1024 + HEIGHT: 1024 + + - type: epics.PostStartupCommand + command: | + dbpf BL01T-EA-TST-02:DET:AcquireTime 0.1 + dbpf BL01T-EA-TST-02:ARR:EnableCallbacks 1 + dbpf BL01T-EA-TST-02:PROC:EnableCallbacks 1 + dbpf BL01T-EA-TST-02:ROI:EnableCallbacks 1 + dbpf BL01T-EA-TST-02:PVA:EnableCallbacks 1 + dbpf BL01T-EA-TST-02:DET:Acquire 1 + + - type: ADCore.NDROI + PORT: DET.ROI + P: BL01T-EA-TST-02 + R: ":ROI:" + NDARRAY_PORT: DET.DET + + - type: ADCore.NDProcess + PORT: DET.PROC + P: BL01T-EA-TST-02 + R: ":PROC:" + NDARRAY_PORT: DET.ROI - type: ADCore.NDPvaPlugin PORT: DET.PVA @@ -28,12 +53,28 @@ entities: PORT: DET.ARR P: BL01T-EA-TST-02 R: ":ARR:" - NDARRAY_PORT: DET.DET + NDARRAY_PORT: DET.PROC TYPE: Int8 NELEMENTS: 1048576 FTVL: CHAR - - type: epics.PostStartupCommand - command: | - dbpf BL01T-EA-TST-02:ARR:EnableCallbacks 1 - dbpf BL01T-EA-TST-02:DET:Acquire 1 + - type: ADCore.NDStats + PORT: DET.STAT + P: BL01T-EA-TST-02 + R: ":STAT:" + NDARRAY_PORT: DET.DET + XSIZE: 1024 + YSIZE: 1024 + HIST_SIZE: 20 + + - type: ADCore.NDFileHDF5 + PORT: DET.HDF + P: BL01T-EA-TST-02 + R: ":HDF:" + NDARRAY_PORT: DET.PROC + + - type: ADCore.NDFileTIFF + PORT: DET.TIFF + P: BL01T-EA-TST-02 + R: ":TIFF:" + NDARRAY_PORT: DET.PROC