Skip to content

slac-epics/spectrometer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spectrometer EPICS module
==========================

An epics support module for spectrometers and related devices.

This module supports the following OceanOptics APIs:
- OceanDirect (newest) - tested with SR-6
- SeaBreezeAPI (old) - tested with STS, HR2000
- SeaBreezeWrapper (oldest) - tested with HR2000

See https://www.oceanoptics.com/software/


To add this module to an IOC application:
    - Add release path to configure/RELEASE
    - Add package to configure/CONFIG_SITE:
        SEABREEZE_PACKAGE_NAME = seabreeze
        SEABREEZE_VERSION      = 3.0.11
        SEABREEZE_TOP          = $(PACKAGE_SITE_TOP)/$(SEABREEZE_PACKAGE_NAME)/$(SEABREEZE_VERSION)
        SEABREEZE_LIB          = $(SEABREEZE_TOP)/$(PKG_ARCH)/lib
        SEABREEZE_INCLUDE      = $(SEABREEZE_TOP)/$(PKG_ARCH)/include
    - Add to src/Makefile:
        seabreeze_DIR = $(SEABREEZE_LIB)
        $(PROD_NAME)_DBD += base.dbd
        $(PROD_NAME)_DBD += asyn.dbd
        $(PROD_NAME)_DBD += spectrometer.dbd
        #
        PROD_LIBS += seabreeze
        $(PROD_NAME)_LIBS += spectrometer
        $(PROD_NAME)_LIBS += asyn
        $(PROD_NAME)_SYS_LIBS_Linux += usb
    - For Ocean Optics spectrometers, optionally install db files, e.g.:
        DB_INSTALLS += $(SPECTROMETER)/db/seabreezeAPI.template

See $(TOP)/iocBoot/iocspectrometer/st.cmd for an example IOC startup script.
---------------------------------------------------------------------------------------

Note regarding Seabreeze API and EPICS drivers:
    There are two different versions of the API and thus two different EPICS drivers:
        1) SeaBreezeAPI (newer) --> drvSeaBreezeAPI
        2) SeaBreezeWrapper (older) --> drvSeaBreezeWrapper
    Try the newer driver first.  If this does not work with your particular device, try the older one.
    For more see:
        https://www.oceaninsight.com/globalassets/catalog-blocks-and-images/software-downloads-installers/javadocs-api/seabreeze/html/index.html

CAUTION: Some functions in the seabreeze API are not thread safe.
    This can crash the IOC when running multiple spectrometers per IOC.
---------------------------------------------------------------------------------------