Skip to content

Commit

Permalink
base: Added OPCUA and ether_ip IOC
Browse files Browse the repository at this point in the history
- Added opca and ether_ip IOC to epics-in-docker.
- New path for iocs built in epics-in-docker (opt/epics/iocs).
  • Loading branch information
guirodrigueslima committed Apr 12, 2024
1 parent ae16cc4 commit 7de7014
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 1 deletion.
2 changes: 1 addition & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* ci: add reusable job for IOC images. by @ericonr in
https://github.com/cnpem/epics-in-docker/pull/49
* base: Created a new install_iocs() function and changed the function
name structure. by @guirodrigueslima in
name structure. Added OPCUA and ether_ip IOC. by @guirodrigueslima in
https://github.com/cnpem/epics-in-docker/pull/57

### Bug fixes
Expand Down
3 changes: 3 additions & 0 deletions base/.env
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ MOTOR_VERSION=R7-3-1
PMAC_VERSION=2-6-1

LIBSSCPIMEGA_VERSION=fb8acf533a7c01b5266bf32d60d1a5f923e19523

OPCUA_VERSION=0.9.4
ETHER_IP_VERSION=ether_ip-3-3
11 changes: 11 additions & 0 deletions base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ RUN apt update -y && \
libtiff-dev \
libusb-1.0-0-dev \
libxml2-dev \
libssl-dev \
re2c \
wget \
ca-certificates
Expand All @@ -27,6 +28,7 @@ COPY lnls-run.sh /usr/local/bin/lnls-run
ARG EPICS_BASE_VERSION
ENV EPICS_BASE_PATH /opt/epics/base
ENV EPICS_MODULES_PATH /opt/epics/modules
ENV EPICS_IOCS_PATH /opt/epics/iocs
ENV EPICS_RELEASE_FILE /opt/epics/RELEASE

WORKDIR /opt/epics
Expand All @@ -36,6 +38,7 @@ COPY backport-epics-base-musl.patch .
COPY install_epics.sh .
RUN ./install_epics.sh

ARG DEBIAN_VERSION
ARG PVXS_VERSION
ARG SEQUENCER_VERSION
ARG CALC_VERSION
Expand Down Expand Up @@ -66,3 +69,11 @@ RUN ./install_area_detector.sh

COPY install_motor.sh .
RUN ./install_motor.sh

ARG OPCUA_VERSION
ARG ETHER_IP_VERSION

WORKDIR ${EPICS_IOCS_PATH}

COPY install_iocs.sh .
RUN ./install_iocs.sh
2 changes: 2 additions & 0 deletions base/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,5 @@ services:
PMAC_VERSION: ${PMAC_VERSION}
LIBSSCPIMEGA_VERSION: ${LIBSSCPIMEGA_VERSION}
RETOOLS_VERSION: ${RETOOLS_VERSION}
OPCUA_VERSION: ${OPCUA_VERSION}
ETHER_IP_VERSION: ${ETHER_IP_VERSION}
21 changes: 21 additions & 0 deletions base/install_iocs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env bash

set -ex

. /opt/epics/install-functions.sh

#Build OPCUA IOC
lnls-get-n-unpack -l https://github.com/epics-modules/opcua/releases/download/v${OPCUA_VERSION}/IOC_opcua-${OPCUA_VERSION}_Base-${EPICS_BASE_VERSION}_debian${DEBIAN_VERSION%.*}.tar.gz
mv binaryOpcuaIoc opcua

install_iocs opcua OPCUA "
EPICS_BASE
"

EPICS_HOST_ARCH=`perl ${EPICS_BASE_PATH}/lib/perl/EpicsHostArch.pl`
ln -s ${EPICS_IOCS_PATH}/opcua/{opcuaIocApp/libopcua.so.0.9,lib/${EPICS_HOST_ARCH}/libopcua.so}

#Build ether_ip IOC
install_github -i epics-modules ether_ip ETHER_IP $ETHER_IP_VERSION "
EPICS_BASE
"

0 comments on commit 7de7014

Please sign in to comment.