From b38c3c08c0ecb09e8eb9cedbe5afbef5c931e48a Mon Sep 17 00:00:00 2001 From: Benjamin Labrecque Date: Mon, 13 Jul 2026 15:25:45 +0200 Subject: [PATCH] docs: epics docs --- docs/python/epics.md | 26 ++++++++++++++++++- ...BD-SERVICE-{{service_name_upper}}.py.jinja | 2 +- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/python/epics.md b/docs/python/epics.md index 6ead5cb..624581e 100644 --- a/docs/python/epics.md +++ b/docs/python/epics.md @@ -12,8 +12,32 @@ echo $EPICS_HOST_ARCH Which channel access lib is being used in python? ``` +[sls-vserv-bd-hla01-dev ~]$ which python +/bin/python [sls-vserv-bd-hla01-dev playground]$ python3 -c "import ctypes; import epics.ca; print(epics.ca.find_libca())" /usr/local/epics/base-7.0.9/lib/RHEL9-x86_64/libca.so +[sls-vserv-bd-hla01-dev ~]$ source /opt/gfa/python-3.10/latest/bin/activate +(base) [sls-vserv-bd-hla01-dev ~]$ which python +/opt/gfa/python-3.10/20220602/bin/python +(base) [sls-vserv-bd-hla01-dev ~]$ python3 -c "import ctypes; import epics.ca; print(epics.ca.find_libca())" +/opt/gfa/python-3.10/20220602/epics/lib/linux-x86_64/libca.so +``` + +How does the conda env configure which EPICS to use? + +``` +(base) [sls-vserv-bd-hla01-dev ~]$ cat /opt/gfa/python-3.10/20220602/etc/conda/activate.d/epics-base_activate.sh +export EPICS_BASE="/opt/gfa/python-3.10/20220602/epics" +export EPICS_HOST_ARCH="linux-x86_64" +export EPICS_BASE_HOST_BIN="/opt/gfa/python-3.10/20220602/epics/bin/linux-x86_64" +export EPICS_BASE_VERSION="7.0.5.0" +export PATH=$EPICS_BASE_HOST_BIN:$PATH +``` + +How does the conda env configure which EPICS python uses? +``` +(base) [sls-vserv-bd-hla01-dev ~]$ cat /opt/gfa/python-3.10/20220602/etc/conda/activate.d/pyepics_activate.sh +export PYEPICS_LIBCA="${EPICS_BASE}/lib/${EPICS_HOST_ARCH}/libca.so" ``` @@ -43,4 +67,4 @@ When ssh-ing into a machine, `/etc/profile.d/*` automatically gets sourced. When running a `systemd` service, this does not happen. That's why we need to source `/etc/profile.d/cas_12_epics.sh` in our startup script -to make sure that `EPICS` is configured properly. \ No newline at end of file +to make sure that `EPICS` is configured properly. diff --git a/templates/service/{{service_name_lower}}/current/app/src/AGEBD-SERVICE-{{service_name_upper}}.py.jinja b/templates/service/{{service_name_lower}}/current/app/src/AGEBD-SERVICE-{{service_name_upper}}.py.jinja index 9dc4c24..e06d99d 100644 --- a/templates/service/{{service_name_lower}}/current/app/src/AGEBD-SERVICE-{{service_name_upper}}.py.jinja +++ b/templates/service/{{service_name_lower}}/current/app/src/AGEBD-SERVICE-{{service_name_upper}}.py.jinja @@ -101,7 +101,7 @@ def main( "--log-level", "-l", # Looks at the OS env variable first. If empty, falls back to "INFO" - envvar="SLS_SERVICE_LOG_LEVEL", + envvar="AGEBD_LOG_LEVEL", # help="Set log level: DEBUG, INFO, WARNING, ERROR, CRITICAL", case_sensitive=False, ),