Skip to content

EPICS Code Debugging

Javier Lührs edited this page Jun 21, 2018 · 5 revisions

Introduction

The package that deals with EPICS connections in Seqexec is edu.gemini.epics.acm. This package uses epics-service, provided by GIAPI. The actual EPICS network protocol is provided by CAJ (Channel Access for Java), which is used by epics-service. CAJ is in turn an implementation of JCA (Java Channel Access). The JCA and CAJ classes are provided by two JAR files. GIAPI uses a copy of the files stored in our own repository, under the group names edu.gemini.external.osgi.com.cosylab.epics.caj and edu.gemini.external.osgi.com.cosylab.epics.jca. The GIAPI packages themselves are accessed by ocs3 through the same repository.

Debug Setup

The way the packages are accessed makes difficult to implement changes to debug a problem that involves CAJ. Here there is the procedure to create a build environment that involves using a local repository.

Build JCA-CAJ

The latest version of JCA, available in Github, integrates CAJ in the same package. The steps to build it are:

git clone https://github.com/epics-base/jca
cd jca
mvn install

Clone this wiki locally