Compare commits
13 Commits
mocha-1.3.
...
cafe-1.14.
| Author | SHA1 | Date | |
|---|---|---|---|
| 9a18453b41 | |||
| f97beb8edf | |||
| 32ed13125d | |||
| 90d82bec7a | |||
| 0343a1e1e3 | |||
| 09085d814c | |||
| 624d52d419 | |||
| 558222585f | |||
| 2e7abe48eb | |||
| f351a0d5bb | |||
| e31fed82be | |||
| 0aeb952d62 | |||
| 6dfd64a9a3 |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,5 +1,10 @@
|
||||
*~
|
||||
*.bak
|
||||
*.*-
|
||||
RHEL7-x86_64
|
||||
SL6-x86_64
|
||||
windows-x64
|
||||
felix-cache
|
||||
readme.txt
|
||||
makefile_rel*
|
||||
*.*.orig
|
||||
|
||||
2
README
2
README
@@ -1,5 +1,3 @@
|
||||
USE makefile_rel_2014_manual for release versio
|
||||
|
||||
|
||||
## --------------------------------------------------------------------------
|
||||
## makefile
|
||||
|
||||
BIN
RHEL7-x86_64/2018a/macchinettaSwitch.o
Normal file
BIN
RHEL7-x86_64/2018a/macchinettaSwitch.o
Normal file
Binary file not shown.
BIN
RHEL7-x86_64/2018a/mocha.mexa64
Executable file
BIN
RHEL7-x86_64/2018a/mocha.mexa64
Executable file
Binary file not shown.
1055
exampleNew.m
1055
exampleNew.m
File diff suppressed because it is too large
Load Diff
2252
macchinettaHelper.h
2252
macchinettaHelper.h
File diff suppressed because it is too large
Load Diff
12283
macchinettaSwitch.cpp
12283
macchinettaSwitch.cpp
File diff suppressed because it is too large
Load Diff
124
makefile_rel_1.3
124
makefile_rel_1.3
@@ -1,124 +0,0 @@
|
||||
#
|
||||
# Jan Chrin
|
||||
# New Version: June 2016
|
||||
#
|
||||
# makefile to build mocha mex file
|
||||
# printenv | grep MATLAB to reveal your MATLAB Directory
|
||||
#
|
||||
# e.g. on sf-lc we have
|
||||
# MATLAB=/afs/psi.ch/sys/linux/opt/matlab/2015a.x86_64
|
||||
#
|
||||
# local executables are built in ./${EPICS_HOST_ARCH}/$(MVER)
|
||||
# where the MATLAB version is grepped from $(MATLAB)
|
||||
|
||||
MATLAB_ROOT=${MATLAB}
|
||||
MATLAB_VERSION=$(notdir $(MATLAB_ROOT))
|
||||
|
||||
##### CHANGE AS APPROPRIATE #################
|
||||
#Mocha Version to install
|
||||
MOCHA_VERSION=mocha-1.3.0-final-2
|
||||
#CAFE version to link to
|
||||
CAFE_VERSION=cafe-1.3.0-final-2
|
||||
|
||||
|
||||
|
||||
EPICS_BASE=${EPICS}/base
|
||||
#CAFE project base
|
||||
CAFE_BASE=/opt/gfa/cafe
|
||||
CAFE_MOCHA_BASE=${CAFE_BASE}/mocha
|
||||
#CAFE_CPP_BASE=/afs/psi.ch/project/cafe/gitlab/CAFE/cpp
|
||||
CAFE_CPP_BASE=$(CAFE_BASE)/cpp/$(CAFE_VERSION)
|
||||
|
||||
|
||||
BOOST_BASE=${CAFE_BASE}/boost/boost_1_61_0/include
|
||||
BOOST_LIB=/afs/psi.ch/project/zeromq/devl/mate/deps/boost/lib
|
||||
|
||||
QT_LIB=/usr/lib64
|
||||
|
||||
INSTALL_MOCHA_LIBDIR= $(CAFE_MOCHA_BASE)/$(MOCHA_VERSION)/lib/$(MATLAB_VERSION)
|
||||
#############################################
|
||||
|
||||
|
||||
#First deteremine if we are on a 32/64 bit machine
|
||||
#as mex file extensions are named differently
|
||||
pattern64=x86_64
|
||||
pattern32=i386
|
||||
|
||||
PWD=$(shell pwd)
|
||||
#hardware platform
|
||||
HW=$(shell uname -i)
|
||||
ifeq ($(pattern64),$(findstring $(pattern64), $(HW)))
|
||||
MEXE=mexa64
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa64
|
||||
else
|
||||
ifeq ($(pattern32),$(findstring $(pattern32), $(HW)))
|
||||
MEXE=mexglx
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa86
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
INSTALL_PATH?=$(INSTALL_MOCHA_LIBDIR)
|
||||
OBJ_DIR= ${EPICS_HOST_ARCH}/$(MATLAB_VERSION)
|
||||
|
||||
INCLUDEPATH_MOCHA += -I$(MATLAB_ROOT)/extern/include \
|
||||
-I$(CAFE_CPP_BASE)/include -I./ \
|
||||
-I$(EPICS_BASE)/include -I$(EPICS_BASE)/include/os/Linux
|
||||
|
||||
|
||||
INCLUDEPATH_MACHINETTA += $(INCLUDEPATH_MOCHA) -I$(BOOST_BASE) -I$(BOOST_BASE)/boost
|
||||
|
||||
|
||||
LIB_DIR += \
|
||||
-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
|
||||
-Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
|
||||
-L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) \
|
||||
-L$(CAFE_CPP_BASE) \
|
||||
-Wl,-rpath,$(CAFE_CPP_BASE) \
|
||||
-L$(QT_LIB) -Wl,-rpath,$(QT_LIB)
|
||||
|
||||
|
||||
LIBS += -ldl -lca -lCom -lmx -lmex -lmat -lQtCore -lQtXml
|
||||
|
||||
LIB_INSTALL = $(LIB_DIR) -L$(INSTALL_PATH) -Wl,-rpath,$(INSTALL_PATH)
|
||||
|
||||
LIB_LOCAL = $(LIB_DIR)
|
||||
|
||||
|
||||
CAFE_OBJS_DIR = $(CAFE_BASE)/cpp/$(CAFE_VERSION)/lib/libcafe.a
|
||||
|
||||
# MATLAB Versions 2014 onwards, use
|
||||
# LDFLAGS='$(LIB_LOCAL) $(LIBS) instead of $(LIB_LOCAL) $(LIBS)
|
||||
# LDFLAGS='$(LIB_LOCAL) $(LIBS) instead of $(LIB_INSTALL) $(LIBS)
|
||||
|
||||
|
||||
$(OBJ_DIR)/mocha.$(MEXE): mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o
|
||||
mex -largeArrayDims GCC='/usr/bin/gcc' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(OBJ_DIR) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA) \
|
||||
LDFLAGS='$(LIB_LOCAL) $(LIBS)'
|
||||
|
||||
|
||||
$(OBJ_DIR)/macchinettaSwitch.o: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
mex GCC='/usr/bin/g++' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
-largeArrayDims -c macchinettaSwitch.cpp $(INCLUDEPATH_MACHINETTA) -outdir $(OBJ_DIR)
|
||||
|
||||
|
||||
install: $(OBJ_DIR)/mocha.$(MEXE)
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
mex -largeArrayDims GCC='/usr/bin/gcc' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(INSTALL_PATH) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA) \
|
||||
LDFLAGS='$(LIB_INSTALL) $(LIBS)'
|
||||
cp example.m $(INSTALL_PATH)
|
||||
cp scripts/*.m $(INSTALL_PATH)
|
||||
cp scripts/test.xml $(INSTALL_PATH)
|
||||
|
||||
install_lib: $(OBJ_DIR)/libmacchinetta.so
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
cp $(OBJ_DIR)/libmacchinetta.so $(INSTALL_PATH)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.o $(OBJ_DIR)/*.so $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
MATLAB_ROOT=C:\'Program Files'\MATLAB\R2016b_x64
|
||||
MEXE=mexw64
|
||||
#c:\local\boost_1_62_0\
|
||||
|
||||
INCLUDES = -IC:\CAFE\CAFE\cpp\include -IC:\CAFE\CAFE\cpp -IC:\local\boost_1_62_0 \
|
||||
-IC:\local\boost_1_62_0\boost -IC:\epics\base-3.14.12.5\include -IC:\epics\base-3.14.12.5\include\os\WIN32 \
|
||||
-I"C:\Program Files\MATLAB\R2016b_x64\extern\include" \
|
||||
-Ic:\Qt\qt-4.8.6-x64-msvc2010\include -Ic:\Qt\qt-4.8.6-x64-msvc2010\include\QtCore -Ic:\Qt\qt-4.8.6-msvc2010\include\QtXml
|
||||
|
||||
CXX=cl
|
||||
CXXFLAGS = /W4 /EHsc
|
||||
OUTPUT_OPTION = /o $@
|
||||
LIB_LOCAL = C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \
|
||||
C:\CAFE\CAFE\cpp\cafe.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib \
|
||||
C:\Qt\Qt-4.8.6-msvc2010\lib\QtCore4.lib C:\Qt\tq-4.8.6-msvc2010\lib\QtXml4.lib
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmat.lib" \
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmex.lib" \
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmx.lib"
|
||||
|
||||
LIB_CAFE=C:\CAFE\CAFE\cpp\cafe.lib
|
||||
LIB_BOOST =C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib
|
||||
|
||||
LIB_BOOST2=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib
|
||||
|
||||
#LIB_BOOST2=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib
|
||||
|
||||
#LIB_BOOST=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-1_62.lib
|
||||
|
||||
LIB_QT=C:\Qt\Qt-4.8.6-x64-msvc2010\lib\QtCore4.lib C:\Qt\qt-4.8.6-x64-msvc2010\lib\QtXml4.lib
|
||||
|
||||
LIB_EPICS=C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib
|
||||
|
||||
OBJ_DIR=windows-x64
|
||||
|
||||
CAFE_OBJS = C:\CAFE\CAFE\cpp\src\cafeCache.obj C:\CAFE\CAFE\cpp\src\cafeGroup.obj C:\CAFE\CAFE\cpp\src\cafe.obj C:\CAFE\CAFE\cpp\src\cafeVectors.obj \
|
||||
C:\CAFE\CAFE\cpp\src\cafeXML.obj C:\CAFE\CAFE\cpp\src\callbackHandlerCreate.obj C:\CAFE\CAFE\cpp\src\callbackHandlerMonitor.obj \
|
||||
C:\CAFE\CAFE\cpp\src\conduitGroup.obj C:\CAFE\CAFE\cpp\src\conduit.obj \
|
||||
C:\CAFE\CAFE\cpp\src\connectCallbacks.obj C:\CAFE\CAFE\cpp\src\connectGroup.obj \
|
||||
C:\CAFE\CAFE\cpp\src\connect.obj C:\CAFE\CAFE\cpp\src\exceptionsHelper.obj C:\CAFE\CAFE\cpp\src\granules.obj C:\CAFE\CAFE\cpp\src\handleHelper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\helper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\loadCollectionXMLParser.obj C:\CAFE\CAFE\cpp\src\loadGroupXMLParser.obj C:\CAFE\CAFE\cpp\src\methodCallbacks.obj \
|
||||
C:\CAFE\CAFE\cpp\src\policyHelper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\restorePVGroupXMLParser.obj C:\CAFE\CAFE\cpp\src\transpose.obj
|
||||
|
||||
#\NODEFAULTLIB
|
||||
$(OBJ_DIR)\mocha.$(MEXE): mocha.cpp $(OBJ_DIR)\macchinettaSwitch.obj
|
||||
"C:\Program Files\MATLAB\R2016b_x64\bin\win64\mex" -v COMPFLAGS="$(COMPFLAGS) -Wall" mocha.cpp $(OBJ_DIR)/macchinettaSwitch.obj -DDB_TEXT_GLBLSOURCE -DMSCC -DWIN32 -DWIN64 -largeArrayDims $(INCLUDES) $(LIB_EPICS) $(LIB_CAFE) $(LIB_BOOST) $(LIB_BOOST2) $(LIB_QT) \
|
||||
-outdir $(OBJ_DIR) -output mocha.$(MEXE)
|
||||
|
||||
$(OBJ_DIR)\macchinettaSwitch.obj: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
"C:\Program Files\MATLAB\R2016b_x64\bin\win64\mex" -largeArrayDims \
|
||||
-c macchinettaSwitch.cpp $(INCLUDES) -outdir $(OBJ_DIR)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.obj $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
#
|
||||
# Jan Chrin
|
||||
# New Version: June 2016
|
||||
#
|
||||
# makefile to build mocha mex file
|
||||
# printenv | grep MATLAB to reveal your MATLAB Directory
|
||||
#
|
||||
# e.g. on sf-lc we have
|
||||
# MATLAB=/afs/psi.ch/sys/linux/opt/matlab/2015a.x86_64
|
||||
#
|
||||
# local executables are built in ./${EPICS_HOST_ARCH}/$(MVER)
|
||||
# where the MATLAB version is grepped from $(MATLAB)
|
||||
|
||||
MATLAB_ROOT=${MATLAB}
|
||||
MATLAB_VERSION=$(notdir $(MATLAB_ROOT))
|
||||
|
||||
##### CHANGE AS APPROPRIATE #################
|
||||
#Mocha Version to install
|
||||
MOCHA_VERSION=mocha-1.3.0-final-1
|
||||
#CAFE version to link to
|
||||
CAFE_VERSION=cafe-1.3.0-final-1
|
||||
|
||||
|
||||
|
||||
EPICS_BASE=${EPICS}/base
|
||||
#CAFE project base
|
||||
CAFE_BASE=/opt/gfa/cafe
|
||||
CAFE_MOCHA_BASE=${CAFE_BASE}/mocha
|
||||
#CAFE_CPP_BASE=/afs/psi.ch/project/cafe/gitlab/CAFE/cpp
|
||||
CAFE_CPP_BASE=$(CAFE_BASE)/cpp/$(CAFE_VERSION)
|
||||
|
||||
|
||||
BOOST_BASE=${CAFE_BASE}/boost/boost_1_61_0/include
|
||||
BOOST_LIB=/afs/psi.ch/project/zeromq/devl/mate/deps/boost/lib
|
||||
|
||||
QT_LIB=/usr/lib64
|
||||
|
||||
INSTALL_MOCHA_LIBDIR= $(CAFE_MOCHA_BASE)/$(MOCHA_VERSION)/lib/$(MATLAB_VERSION)
|
||||
#############################################
|
||||
|
||||
|
||||
#First deteremine if we are on a 32/64 bit machine
|
||||
#as mex file extensions are named differently
|
||||
pattern64=x86_64
|
||||
pattern32=i386
|
||||
|
||||
PWD=$(shell pwd)
|
||||
#hardware platform
|
||||
HW=$(shell uname -i)
|
||||
ifeq ($(pattern64),$(findstring $(pattern64), $(HW)))
|
||||
MEXE=mexa64
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa64
|
||||
else
|
||||
ifeq ($(pattern32),$(findstring $(pattern32), $(HW)))
|
||||
MEXE=mexglx
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa86
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
INSTALL_PATH?=$(INSTALL_MOCHA_LIBDIR)
|
||||
OBJ_DIR= ${EPICS_HOST_ARCH}/$(MATLAB_VERSION)
|
||||
|
||||
INCLUDEPATH_MOCHA += -I$(MATLAB_ROOT)/extern/include \
|
||||
-I$(CAFE_CPP_BASE)/include -I./ \
|
||||
-I$(EPICS_BASE)/include -I$(EPICS_BASE)/include/os/Linux
|
||||
|
||||
|
||||
INCLUDEPATH_MACHINETTA += $(INCLUDEPATH_MOCHA) -I$(BOOST_BASE) -I$(BOOST_BASE)/boost
|
||||
|
||||
|
||||
LIB_DIR += \
|
||||
-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
|
||||
-Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
|
||||
-L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) \
|
||||
-L$(CAFE_CPP_BASE) \
|
||||
-Wl,-rpath,$(CAFE_CPP_BASE) \
|
||||
-L$(QT_LIB) -Wl,-rpath,$(QT_LIB)
|
||||
|
||||
|
||||
LIBS += -ldl -lca -lCom -lmx -lmex -lmat -lQtCore -lQtXml
|
||||
|
||||
LIB_INSTALL = $(LIB_DIR) -L$(INSTALL_PATH) -Wl,-rpath,$(INSTALL_PATH)
|
||||
|
||||
LIB_LOCAL = $(LIB_DIR)
|
||||
|
||||
|
||||
CAFE_OBJS_DIR = $(CAFE_BASE)/cpp/$(CAFE_VERSION)/lib/libcafe.a
|
||||
|
||||
# MATLAB Versions 2014 onwards, use
|
||||
# LDFLAGS='$(LIB_LOCAL) $(LIBS) instead of $(LIB_LOCAL) $(LIBS)
|
||||
# LDFLAGS='$(LIB_LOCAL) $(LIBS) instead of $(LIB_INSTALL) $(LIBS)
|
||||
|
||||
|
||||
$(OBJ_DIR)/mocha.$(MEXE): mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o
|
||||
mex -largeArrayDims GCC='/usr/bin/gcc' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(OBJ_DIR) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA) \
|
||||
LDFLAGS='$(LIB_LOCAL) $(LIBS)'
|
||||
|
||||
|
||||
$(OBJ_DIR)/macchinettaSwitch.o: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
mex GCC='/usr/bin/g++' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
-largeArrayDims -c macchinettaSwitch.cpp $(INCLUDEPATH_MACHINETTA) -outdir $(OBJ_DIR)
|
||||
|
||||
|
||||
install: $(OBJ_DIR)/mocha.$(MEXE)
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
mex -largeArrayDims GCC='/usr/bin/gcc' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(INSTALL_PATH) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA) \
|
||||
LDFLAGS='$(LIB_INSTALL) $(LIBS)'
|
||||
cp example.m $(INSTALL_PATH)
|
||||
cp scripts/*.m $(INSTALL_PATH)
|
||||
cp scripts/test.xml $(INSTALL_PATH)
|
||||
|
||||
install_lib: $(OBJ_DIR)/libmacchinetta.so
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
cp $(OBJ_DIR)/libmacchinetta.so $(INSTALL_PATH)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.o $(OBJ_DIR)/*.so $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
MATLAB_ROOT=C:\'Program Files'\MATLAB\R2016b_x64
|
||||
MEXE=mexw64
|
||||
#c:\local\boost_1_62_0\
|
||||
|
||||
INCLUDES = -IC:\CAFE\CAFE\cpp\include -IC:\CAFE\CAFE\cpp -IC:\local\boost_1_62_0 \
|
||||
-IC:\local\boost_1_62_0\boost -IC:\epics\base-3.14.12.5\include -IC:\epics\base-3.14.12.5\include\os\WIN32 \
|
||||
-I"C:\Program Files\MATLAB\R2016b_x64\extern\include" \
|
||||
-Ic:\Qt\qt-4.8.6-x64-msvc2010\include -Ic:\Qt\qt-4.8.6-x64-msvc2010\include\QtCore -Ic:\Qt\qt-4.8.6-msvc2010\include\QtXml
|
||||
|
||||
CXX=cl
|
||||
CXXFLAGS = /W4 /EHsc
|
||||
OUTPUT_OPTION = /o $@
|
||||
LIB_LOCAL = C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \
|
||||
C:\CAFE\CAFE\cpp\cafe.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib \
|
||||
C:\Qt\Qt-4.8.6-msvc2010\lib\QtCore4.lib C:\Qt\tq-4.8.6-msvc2010\lib\QtXml4.lib
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmat.lib" \
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmex.lib" \
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmx.lib"
|
||||
|
||||
LIB_CAFE=C:\CAFE\CAFE\cpp\cafe.lib
|
||||
LIB_BOOST =C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib
|
||||
|
||||
LIB_BOOST2=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib
|
||||
|
||||
#LIB_BOOST2=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib
|
||||
|
||||
#LIB_BOOST=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-1_62.lib
|
||||
|
||||
LIB_QT=C:\Qt\Qt-4.8.6-x64-msvc2010\lib\QtCore4.lib C:\Qt\qt-4.8.6-x64-msvc2010\lib\QtXml4.lib
|
||||
|
||||
LIB_EPICS=C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib
|
||||
|
||||
OBJ_DIR=windows-x64
|
||||
|
||||
CAFE_OBJS = C:\CAFE\CAFE\cpp\src\cafeCache.obj C:\CAFE\CAFE\cpp\src\cafeGroup.obj C:\CAFE\CAFE\cpp\src\cafe.obj C:\CAFE\CAFE\cpp\src\cafeVectors.obj \
|
||||
C:\CAFE\CAFE\cpp\src\cafeXML.obj C:\CAFE\CAFE\cpp\src\callbackHandlerCreate.obj C:\CAFE\CAFE\cpp\src\callbackHandlerMonitor.obj \
|
||||
C:\CAFE\CAFE\cpp\src\conduitGroup.obj C:\CAFE\CAFE\cpp\src\conduit.obj \
|
||||
C:\CAFE\CAFE\cpp\src\connectCallbacks.obj C:\CAFE\CAFE\cpp\src\connectGroup.obj \
|
||||
C:\CAFE\CAFE\cpp\src\connect.obj C:\CAFE\CAFE\cpp\src\exceptionsHelper.obj C:\CAFE\CAFE\cpp\src\granules.obj C:\CAFE\CAFE\cpp\src\handleHelper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\helper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\loadCollectionXMLParser.obj C:\CAFE\CAFE\cpp\src\loadGroupXMLParser.obj C:\CAFE\CAFE\cpp\src\methodCallbacks.obj \
|
||||
C:\CAFE\CAFE\cpp\src\policyHelper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\restorePVGroupXMLParser.obj C:\CAFE\CAFE\cpp\src\transpose.obj
|
||||
|
||||
#\NODEFAULTLIB
|
||||
$(OBJ_DIR)\mocha.$(MEXE): mocha.cpp $(OBJ_DIR)\macchinettaSwitch.obj
|
||||
"C:\Program Files\MATLAB\R2016b_x64\bin\win64\mex" -v COMPFLAGS="$(COMPFLAGS) -Wall" mocha.cpp $(OBJ_DIR)/macchinettaSwitch.obj -DDB_TEXT_GLBLSOURCE -DMSCC -DWIN32 -DWIN64 -largeArrayDims $(INCLUDES) $(LIB_EPICS) $(LIB_CAFE) $(LIB_BOOST) $(LIB_BOOST2) $(LIB_QT) \
|
||||
-outdir $(OBJ_DIR) -output mocha.$(MEXE)
|
||||
|
||||
$(OBJ_DIR)\macchinettaSwitch.obj: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
"C:\Program Files\MATLAB\R2016b_x64\bin\win64\mex" -largeArrayDims \
|
||||
-c macchinettaSwitch.cpp $(INCLUDES) -outdir $(OBJ_DIR)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.obj $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
109
scripts/caget.m-
109
scripts/caget.m-
@@ -1,109 +0,0 @@
|
||||
function value = caget(channel,cached)
|
||||
% caget('channel') returns current value and additional infos
|
||||
% of given EPICS channel.
|
||||
% caget('channel',1) returns last value and additional infos
|
||||
% of given EPICS channel.
|
||||
%
|
||||
% channel can be a channel name or a handle as returned from mcaopen
|
||||
%
|
||||
% return value elements:
|
||||
% val: value (scalar, vector or string)
|
||||
% sevr: severity as a number
|
||||
% sevr_str: severity as a string
|
||||
% stat: status as a number
|
||||
% stat_str: status as a string
|
||||
% time: timestamp as a date vector
|
||||
% units: units string
|
||||
|
||||
persistent severity_str
|
||||
persistent status_str
|
||||
persistent zerotime
|
||||
persistent units
|
||||
|
||||
if ischar(channel)
|
||||
pv = mocha('open',channel);
|
||||
|
||||
if mocha('isConnected', channel) == false
|
||||
mocha('openNowAndWait', 0.5)
|
||||
end
|
||||
|
||||
if mocha('isConnected', channel) == false
|
||||
error('EPICS channel %s not found', channel);
|
||||
end
|
||||
elseif isnumeric(channel)
|
||||
pv = channel;
|
||||
else
|
||||
error ('first argument must be channel name or handle');
|
||||
end
|
||||
if isvector(pv)
|
||||
pv=pv(1); % truncate
|
||||
end
|
||||
if nargin > 1 && cached
|
||||
pvStruct = mocha('getPVCache',pv);
|
||||
else
|
||||
pvStruct = mocha('getPV', pv);
|
||||
end
|
||||
|
||||
val=pvStruct.val
|
||||
|
||||
pvCtrl = mocha('getCtrlCache',pv);
|
||||
%pvCtrl
|
||||
|
||||
% initialize severity and status enums
|
||||
if isempty(severity_str)
|
||||
severity_str = {'NO_ALARM';'MINOR';'MAJOR';'INVALID'};
|
||||
status_str = {'NO_ALARM';'READ';'WRITE';'HIHI';'HIGH';'LOLO';'LOW';'STATE';'COS';'COMM';'TIMEOUT';'HWLIMIT';'CALC';'SCAN';'LINK';'SOFT';'BAD_SUB';'UDF';'DISABLE';'SIMM';'READ_ACCESS';'WRITE_ACCESS'};
|
||||
end
|
||||
|
||||
|
||||
value.val = val;
|
||||
|
||||
units = pvCtrl.units;
|
||||
string = pvCtrl.enumStrings;
|
||||
|
||||
if size(string) > 1
|
||||
disp(size(string))
|
||||
value.val_str = value.val;
|
||||
value.val = mocha('getCache',pv,'int8');
|
||||
end
|
||||
|
||||
|
||||
%if ~isempty(units{1})
|
||||
%value.units = units{1};
|
||||
%end
|
||||
value.units=units;
|
||||
value.sevr = pvStruct.alarmSeverity;
|
||||
indx=max(pvStruct.alarmSeverity, 0);
|
||||
value.sevr_str = severity_str{indx+1};
|
||||
value.stat = pvStruct.alarmStatus;
|
||||
indx=max(pvStruct.alarmStatus, 0);
|
||||
value.stat_str = status_str{ indx+1};
|
||||
|
||||
|
||||
|
||||
timestamp = mocha('getTimestamp',pv);
|
||||
if (numel(timestamp) == 2)
|
||||
% old mca version
|
||||
% do not use mcatime here because 1. it is slow, 2. is returns UTC
|
||||
% calculating zerotime only once is faster and takes localtime into account
|
||||
% When daylight saving time begins or ends, restart the program!
|
||||
if isempty(zerotime)
|
||||
[status,timezone]=system('date +%z'); % get localtime offset
|
||||
timeoffs=str2double(timezone);
|
||||
houroffs=floor(timeoffs/100);
|
||||
minoffs=(timeoffs-100*houroffs);
|
||||
zerotime = datenum('1-Jan-1990') + (minoffs/60 + houroffs)/24;
|
||||
end
|
||||
time=timestamp(1)+timestamp(2)/1000000000;
|
||||
if time
|
||||
time = zerotime+time/24/3600;
|
||||
end
|
||||
value.time = datevec(time);
|
||||
else
|
||||
% new mca version
|
||||
timestamp(6)=timestamp(6)+timestamp(7)/1000000000;
|
||||
value.time = timestamp(1:6);
|
||||
end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user