mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 05:17:13 +02:00
WIP
This commit is contained in:
@ -20,10 +20,10 @@ install(TARGETS slsProjectCSettings
|
|||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
)
|
)
|
||||||
add_subdirectory(ctbDetectorServer)
|
#add_subdirectory(ctbDetectorServer)
|
||||||
add_subdirectory(eigerDetectorServer)
|
#add_subdirectory(eigerDetectorServer)
|
||||||
add_subdirectory(gotthardDetectorServer)
|
#add_subdirectory(gotthardDetectorServer)
|
||||||
add_subdirectory(jungfrauDetectorServer)
|
#add_subdirectory(jungfrauDetectorServer)
|
||||||
add_subdirectory(mythen3DetectorServer)
|
add_subdirectory(mythen3DetectorServer)
|
||||||
add_subdirectory(gotthard2DetectorServer)
|
#add_subdirectory(gotthard2DetectorServer)
|
||||||
add_subdirectory(moenchDetectorServer)
|
#add_subdirectory(moenchDetectorServer)
|
||||||
|
@ -17,6 +17,7 @@ add_executable(ctbDetectorServer_virtual
|
|||||||
../slsDetectorServer/src/MAX1932.c
|
../slsDetectorServer/src/MAX1932.c
|
||||||
../slsDetectorServer/src/programFpgaBlackfin.c
|
../slsDetectorServer/src/programFpgaBlackfin.c
|
||||||
../slsDetectorServer/src/communication_virtual.c
|
../slsDetectorServer/src/communication_virtual.c
|
||||||
|
../slsDetectorServer/src/sharedMemory.c
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -6,13 +6,13 @@ support_lib = ../../slsSupportLib/include/
|
|||||||
CROSS = bfin-uclinux-
|
CROSS = bfin-uclinux-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
CFLAGS += -Wall -std=gnu99 -DCHIPTESTBOARDD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
CFLAGS += -Wall -std=gnu99 -DCHIPTESTBOARDD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm -lrt -pthread
|
||||||
PROGS = ctbDetectorServer
|
PROGS = ctbDetectorServer
|
||||||
DESTDIR ?= bin
|
DESTDIR ?= bin
|
||||||
INSTMODE = 0777
|
INSTMODE = 0777
|
||||||
|
|
||||||
SRCS = slsDetectorFunctionList.c
|
SRCS = slsDetectorFunctionList.c
|
||||||
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)common.c $(main_src)commonServerFunctions.c $(main_src)communication_funcs_UDP.c $(main_src)UDPPacketHeaderGenerator.c $(main_src)AD7689.c $(main_src)AD9257.c $(main_src)ALTERA_PLL.c $(main_src)I2C.c $(main_src)INA226.c $(main_src)LTC2620.c $(main_src)MAX1932.c $(main_src)programFpgaBlackfin.c
|
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)common.c $(main_src)commonServerFunctions.c $(main_src)communication_funcs_UDP.c $(main_src)UDPPacketHeaderGenerator.c $(main_src)AD7689.c $(main_src)AD9257.c $(main_src)ALTERA_PLL.c $(main_src)I2C.c $(main_src)INA226.c $(main_src)LTC2620.c $(main_src)MAX1932.c $(main_src)programFpgaBlackfin.c $(main_src)/sharedMemory.c
|
||||||
|
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ set(src
|
|||||||
../slsDetectorServer/src/communication_funcs_UDP.c
|
../slsDetectorServer/src/communication_funcs_UDP.c
|
||||||
../slsDetectorServer/src/common.c
|
../slsDetectorServer/src/common.c
|
||||||
../slsDetectorServer/src/communication_virtual.c
|
../slsDetectorServer/src/communication_virtual.c
|
||||||
|
../slsDetectorServer/src/sharedMemory.c
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -7,13 +7,13 @@ BLACKFIN_CC = bfin-uclinux-gcc
|
|||||||
CROSS = powerpc-4xx-softfloat-
|
CROSS = powerpc-4xx-softfloat-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
CFLAGS += -Wall -std=gnu99 -DEIGERD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
CFLAGS += -Wall -std=gnu99 -DEIGERD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm -lrt -pthread
|
||||||
PROGS = eigerDetectorServer
|
PROGS = eigerDetectorServer
|
||||||
DESTDIR = bin
|
DESTDIR = bin
|
||||||
INSTMODE = 0777
|
INSTMODE = 0777
|
||||||
|
|
||||||
SRCS = slsDetectorFunctionList.c HardwareIO.c LocalLinkInterface.c FebInterface.c FebControl.c Beb.c
|
SRCS = slsDetectorFunctionList.c HardwareIO.c LocalLinkInterface.c FebInterface.c FebControl.c Beb.c
|
||||||
SRCS += $(main_src)communication_funcs.c $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs_UDP.c $(main_src)common.c
|
SRCS += $(main_src)communication_funcs.c $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs_UDP.c $(main_src)common.c $(main_src)/sharedMemory.c
|
||||||
|
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ add_executable(gotthard2DetectorServer_virtual
|
|||||||
../slsDetectorServer/src/ASIC_Driver.c
|
../slsDetectorServer/src/ASIC_Driver.c
|
||||||
../slsDetectorServer/src/programFpgaNios.c
|
../slsDetectorServer/src/programFpgaNios.c
|
||||||
../slsDetectorServer/src/communication_virtual.c
|
../slsDetectorServer/src/communication_virtual.c
|
||||||
|
../slsDetectorServer/src/sharedMemory.c
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -6,13 +6,13 @@ support_lib = ../../slsSupportLib/include/
|
|||||||
CROSS = nios2-buildroot-linux-gnu-
|
CROSS = nios2-buildroot-linux-gnu-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
CFLAGS += -Wall -std=gnu99 -DGOTTHARD2D -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
CFLAGS += -Wall -std=gnu99 -DGOTTHARD2D -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm -lrt -pthread
|
||||||
PROGS = gotthard2DetectorServer
|
PROGS = gotthard2DetectorServer
|
||||||
DESTDIR ?= bin
|
DESTDIR ?= bin
|
||||||
INSTMODE = 0777
|
INSTMODE = 0777
|
||||||
|
|
||||||
SRCS = slsDetectorFunctionList.c
|
SRCS = slsDetectorFunctionList.c
|
||||||
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)nios.c $(main_src)common.c $(main_src)DAC6571.c $(main_src)LTC2620_Driver.c $(main_src)ALTERA_PLL_CYCLONE10.c $(main_src)ASIC_Driver.c $(main_src)/programFpgaNios.c
|
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)nios.c $(main_src)common.c $(main_src)DAC6571.c $(main_src)LTC2620_Driver.c $(main_src)ALTERA_PLL_CYCLONE10.c $(main_src)ASIC_Driver.c $(main_src)/programFpgaNios.c $(main_src)/sharedMemory.c
|
||||||
|
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ add_executable(gotthardDetectorServer_virtual
|
|||||||
../slsDetectorServer/src/commonServerFunctions.c
|
../slsDetectorServer/src/commonServerFunctions.c
|
||||||
../slsDetectorServer/src/communication_funcs_UDP.c
|
../slsDetectorServer/src/communication_funcs_UDP.c
|
||||||
../slsDetectorServer/src/communication_virtual.c
|
../slsDetectorServer/src/communication_virtual.c
|
||||||
|
../slsDetectorServer/src/sharedMemory.c
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -6,13 +6,13 @@ support_lib = ../../slsSupportLib/include/
|
|||||||
CROSS = bfin-uclinux-
|
CROSS = bfin-uclinux-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
CFLAGS += -Wall -std=gnu99 -DGOTTHARDD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir)#-DVERBOSEI #-DVERBOSE
|
CFLAGS += -Wall -std=gnu99 -DGOTTHARDD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir)#-DVERBOSEI #-DVERBOSE
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm -lrt -pthread
|
||||||
PROGS = gotthardDetectorServer
|
PROGS = gotthardDetectorServer
|
||||||
DESTDIR ?= bin
|
DESTDIR ?= bin
|
||||||
INSTMODE = 0777
|
INSTMODE = 0777
|
||||||
|
|
||||||
SRCS = slsDetectorFunctionList.c
|
SRCS = slsDetectorFunctionList.c
|
||||||
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)AD9252.c $(main_src)AD9257.c $(main_src)LTC2620.c $(main_src)common.c $(main_src)commonServerFunctions.c
|
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)AD9252.c $(main_src)AD9257.c $(main_src)LTC2620.c $(main_src)common.c $(main_src)commonServerFunctions.c $(main_src)/sharedMemory.c
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
all: clean $(PROGS)
|
all: clean $(PROGS)
|
||||||
|
@ -13,6 +13,7 @@ add_executable(jungfrauDetectorServer_virtual
|
|||||||
../slsDetectorServer/src/programFpgaBlackfin.c
|
../slsDetectorServer/src/programFpgaBlackfin.c
|
||||||
../slsDetectorServer/src/communication_funcs_UDP.c
|
../slsDetectorServer/src/communication_funcs_UDP.c
|
||||||
../slsDetectorServer/src/communication_virtual.c
|
../slsDetectorServer/src/communication_virtual.c
|
||||||
|
../slsDetectorServer/src/sharedMemory.c
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(jungfrauDetectorServer_virtual
|
target_include_directories(jungfrauDetectorServer_virtual
|
||||||
|
@ -6,13 +6,13 @@ support_lib = ../../slsSupportLib/include/
|
|||||||
CROSS = bfin-uclinux-
|
CROSS = bfin-uclinux-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
CFLAGS += -Wall -std=gnu99 -DJUNGFRAUD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir)#-DVERBOSEI #-DVERBOSE
|
CFLAGS += -Wall -std=gnu99 -DJUNGFRAUD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir)#-DVERBOSEI #-DVERBOSE
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm -lrt -pthread
|
||||||
PROGS = jungfrauDetectorServer
|
PROGS = jungfrauDetectorServer
|
||||||
DESTDIR ?= bin
|
DESTDIR ?= bin
|
||||||
INSTMODE = 0777
|
INSTMODE = 0777
|
||||||
|
|
||||||
SRCS = slsDetectorFunctionList.c
|
SRCS = slsDetectorFunctionList.c
|
||||||
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)common.c $(main_src)commonServerFunctions.c $(main_src)AD9257.c $(main_src)ALTERA_PLL.c $(main_src)LTC2620.c $(main_src)MAX1932.c $(main_src)programFpgaBlackfin.c
|
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)common.c $(main_src)commonServerFunctions.c $(main_src)AD9257.c $(main_src)ALTERA_PLL.c $(main_src)LTC2620.c $(main_src)MAX1932.c $(main_src)programFpgaBlackfin.c $(main_src)/sharedMemory.c
|
||||||
|
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ add_executable(moenchDetectorServer_virtual
|
|||||||
../slsDetectorServer/src/programFpgaBlackfin.c
|
../slsDetectorServer/src/programFpgaBlackfin.c
|
||||||
../slsDetectorServer/src/readDefaultPattern.c
|
../slsDetectorServer/src/readDefaultPattern.c
|
||||||
../slsDetectorServer/src/communication_virtual.c
|
../slsDetectorServer/src/communication_virtual.c
|
||||||
|
../slsDetectorServer/src/sharedMemory.c
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -6,13 +6,13 @@ support_lib = ../../slsSupportLib/include/
|
|||||||
CROSS = bfin-uclinux-
|
CROSS = bfin-uclinux-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
CFLAGS += -Wall -std=gnu99 -DMOENCHD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir)#-DVERBOSEI #-DVERBOSE
|
CFLAGS += -Wall -std=gnu99 -DMOENCHD -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir)#-DVERBOSEI #-DVERBOSE
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm -lrt -pthread
|
||||||
PROGS = moenchDetectorServer
|
PROGS = moenchDetectorServer
|
||||||
DESTDIR ?= bin
|
DESTDIR ?= bin
|
||||||
INSTMODE = 0777
|
INSTMODE = 0777
|
||||||
|
|
||||||
SRCS = slsDetectorFunctionList.c
|
SRCS = slsDetectorFunctionList.c
|
||||||
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)common.c $(main_src)commonServerFunctions.c $(main_src)communication_funcs_UDP.c $(main_src)UDPPacketHeaderGenerator.c $(main_src)AD9257.c $(main_src)ALTERA_PLL.c $(main_src)LTC2620.c $(main_src)MAX1932.c $(main_src)programFpgaBlackfin.c $(main_src)readDefaultPattern.c
|
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)blackfin.c $(main_src)common.c $(main_src)commonServerFunctions.c $(main_src)communication_funcs_UDP.c $(main_src)UDPPacketHeaderGenerator.c $(main_src)AD9257.c $(main_src)ALTERA_PLL.c $(main_src)LTC2620.c $(main_src)MAX1932.c $(main_src)programFpgaBlackfin.c $(main_src)readDefaultPattern.c $(main_src)/sharedMemory.c
|
||||||
|
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ add_executable(mythen3DetectorServer_virtual
|
|||||||
../slsDetectorServer/src/LTC2620_Driver.c
|
../slsDetectorServer/src/LTC2620_Driver.c
|
||||||
../slsDetectorServer/src/ALTERA_PLL_CYCLONE10.c
|
../slsDetectorServer/src/ALTERA_PLL_CYCLONE10.c
|
||||||
../slsDetectorServer/src/programFpgaNios.c
|
../slsDetectorServer/src/programFpgaNios.c
|
||||||
../slsDetectorServer/src/communication_virtual.c
|
../slsDetectorServer/src/sharedMemory.c
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -6,13 +6,13 @@ support_lib = ../../slsSupportLib/include/
|
|||||||
CROSS = nios2-buildroot-linux-gnu-
|
CROSS = nios2-buildroot-linux-gnu-
|
||||||
CC = $(CROSS)gcc
|
CC = $(CROSS)gcc
|
||||||
CFLAGS += -Wall -std=gnu99 -DMYTHEN3D -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
CFLAGS += -Wall -std=gnu99 -DMYTHEN3D -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm -lrt -pthread
|
||||||
PROGS = mythen3DetectorServer
|
PROGS = mythen3DetectorServer
|
||||||
DESTDIR ?= bin
|
DESTDIR ?= bin
|
||||||
INSTMODE = 0777
|
INSTMODE = 0777
|
||||||
|
|
||||||
SRCS = slsDetectorFunctionList.c
|
SRCS = slsDetectorFunctionList.c
|
||||||
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)nios.c $(main_src)DAC6571.c $(main_src)common.c $(main_src)LTC2620_Driver.c $(main_src)ALTERA_PLL_CYCLONE10.c $(main_src)/programFpgaNios.c
|
SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(main_src)communication_funcs.c $(main_src)nios.c $(main_src)DAC6571.c $(main_src)common.c $(main_src)LTC2620_Driver.c $(main_src)ALTERA_PLL_CYCLONE10.c $(main_src)/programFpgaNios.c $(main_src)/sharedMemory.c
|
||||||
|
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
#include "RegisterDefs.h"
|
#include "RegisterDefs.h"
|
||||||
#include "clogger.h"
|
#include "clogger.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "sharedMemory.h"
|
||||||
#include "versionAPI.h"
|
#include "versionAPI.h"
|
||||||
#ifdef VIRTUAL
|
#ifdef VIRTUAL
|
||||||
#include "communication_funcs_UDP.h"
|
#include "communication_funcs_UDP.h"
|
||||||
#include "communication_virtual.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
@ -32,6 +32,7 @@ extern void getIpAddressinString(char *cip, uint32_t ip);
|
|||||||
int initError = OK;
|
int initError = OK;
|
||||||
int initCheckDone = 0;
|
int initCheckDone = 0;
|
||||||
char initErrorMessage[MAX_STR_LENGTH];
|
char initErrorMessage[MAX_STR_LENGTH];
|
||||||
|
sharedMem *thisMem;
|
||||||
|
|
||||||
#ifdef VIRTUAL
|
#ifdef VIRTUAL
|
||||||
pthread_t pthread_virtual_tid;
|
pthread_t pthread_virtual_tid;
|
||||||
@ -333,7 +334,9 @@ void initStopServer() {
|
|||||||
#ifdef VIRTUAL
|
#ifdef VIRTUAL
|
||||||
virtual_stop = 0;
|
virtual_stop = 0;
|
||||||
if (!isControlServer) {
|
if (!isControlServer) {
|
||||||
ComVirtual_setStop(virtual_stop);
|
lockSharedMemory(thisMem);
|
||||||
|
thisMem->stop = virtual_stop;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -390,7 +393,9 @@ void setupDetector() {
|
|||||||
#ifdef VIRTUAL
|
#ifdef VIRTUAL
|
||||||
virtual_status = 0;
|
virtual_status = 0;
|
||||||
if (isControlServer) {
|
if (isControlServer) {
|
||||||
ComVirtual_setStatus(virtual_status);
|
lockSharedMemory(thisMem);
|
||||||
|
thisMem->status = virtual_status;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1980,21 +1985,28 @@ int startStateMachine() {
|
|||||||
}
|
}
|
||||||
LOG(logINFOBLUE, ("Starting State Machine\n"));
|
LOG(logINFOBLUE, ("Starting State Machine\n"));
|
||||||
// set status to running
|
// set status to running
|
||||||
virtual_status = 1;
|
|
||||||
if (isControlServer) {
|
if (isControlServer) {
|
||||||
ComVirtual_setStatus(virtual_status);
|
lockSharedMemory(thisMem);
|
||||||
virtual_stop = ComVirtual_getStop();
|
virtual_stop = thisMem->stop;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
if (virtual_stop != 0) {
|
if (virtual_stop != 0) {
|
||||||
LOG(logERROR, ("Cant start acquisition. "
|
LOG(logERROR, ("Cant start acquisition. "
|
||||||
"Stop server has not updated stop status to 0\n"));
|
"Stop server has not updated stop status to 0\n"));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual_status = 1;
|
||||||
|
lockSharedMemory(thisMem);
|
||||||
|
thisMem->status = virtual_status;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
if (pthread_create(&pthread_virtual_tid, NULL, &start_timer, NULL)) {
|
if (pthread_create(&pthread_virtual_tid, NULL, &start_timer, NULL)) {
|
||||||
LOG(logERROR, ("Could not start Virtual acquisition thread\n"));
|
LOG(logERROR, ("Could not start Virtual acquisition thread\n"));
|
||||||
virtual_status = 0;
|
virtual_status = 0;
|
||||||
if (isControlServer) {
|
if (isControlServer) {
|
||||||
ComVirtual_setStatus(virtual_status);
|
lockSharedMemory(thisMem);
|
||||||
|
thisMem->status = virtual_status;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
@ -2038,7 +2050,9 @@ void *start_timer(void *arg) {
|
|||||||
for (int frameNr = 0; frameNr != numFrames; ++frameNr) {
|
for (int frameNr = 0; frameNr != numFrames; ++frameNr) {
|
||||||
|
|
||||||
// update the virtual stop from stop server
|
// update the virtual stop from stop server
|
||||||
virtual_stop = ComVirtual_getStop();
|
lockSharedMemory(thisMem);
|
||||||
|
virtual_stop = thisMem->stop;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
// check if virtual_stop is high
|
// check if virtual_stop is high
|
||||||
if (virtual_stop == 1) {
|
if (virtual_stop == 1) {
|
||||||
break;
|
break;
|
||||||
@ -2089,7 +2103,9 @@ void *start_timer(void *arg) {
|
|||||||
|
|
||||||
virtual_status = 0;
|
virtual_status = 0;
|
||||||
if (isControlServer) {
|
if (isControlServer) {
|
||||||
ComVirtual_setStatus(virtual_status);
|
lockSharedMemory(thisMem);
|
||||||
|
thisMem->status = virtual_status;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
LOG(logINFOBLUE, ("Finished Acquiring\n"));
|
LOG(logINFOBLUE, ("Finished Acquiring\n"));
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -2101,14 +2117,20 @@ int stopStateMachine() {
|
|||||||
#ifdef VIRTUAL
|
#ifdef VIRTUAL
|
||||||
if (!isControlServer) {
|
if (!isControlServer) {
|
||||||
virtual_stop = 1;
|
virtual_stop = 1;
|
||||||
ComVirtual_setStop(virtual_stop);
|
lockSharedMemory(thisMem);
|
||||||
|
thisMem->stop = virtual_stop;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
// read till status is idle
|
// read till status is idle
|
||||||
int tempStatus = 1;
|
int tempStatus = 1;
|
||||||
while (tempStatus == 1) {
|
while (tempStatus == 1) {
|
||||||
tempStatus = ComVirtual_getStatus();
|
lockSharedMemory(thisMem);
|
||||||
|
tempStatus = thisMem->status;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
virtual_stop = 0;
|
virtual_stop = 0;
|
||||||
ComVirtual_setStop(virtual_stop);
|
lockSharedMemory(thisMem);
|
||||||
|
thisMem->stop = virtual_stop;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
LOG(logINFO, ("Stopped State Machine\n"));
|
LOG(logINFO, ("Stopped State Machine\n"));
|
||||||
}
|
}
|
||||||
return OK;
|
return OK;
|
||||||
@ -2122,7 +2144,9 @@ int stopStateMachine() {
|
|||||||
enum runStatus getRunStatus() {
|
enum runStatus getRunStatus() {
|
||||||
#ifdef VIRTUAL
|
#ifdef VIRTUAL
|
||||||
if (!isControlServer) {
|
if (!isControlServer) {
|
||||||
virtual_status = ComVirtual_getStatus();
|
lockSharedMemory(thisMem);
|
||||||
|
virtual_status = thisMem->status;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
if (virtual_status == 0) {
|
if (virtual_status == 0) {
|
||||||
LOG(logINFOBLUE, ("Status: IDLE\n"));
|
LOG(logINFOBLUE, ("Status: IDLE\n"));
|
||||||
@ -2201,7 +2225,9 @@ void readFrame(int *ret, char *mess) {
|
|||||||
u_int32_t runBusy() {
|
u_int32_t runBusy() {
|
||||||
#ifdef VIRTUAL
|
#ifdef VIRTUAL
|
||||||
if (!isControlServer) {
|
if (!isControlServer) {
|
||||||
virtual_status = ComVirtual_getStatus();
|
lockSharedMemory(thisMem);
|
||||||
|
virtual_status = thisMem->status;
|
||||||
|
unlockSharedMemory(thisMem);
|
||||||
}
|
}
|
||||||
return virtual_status;
|
return virtual_status;
|
||||||
#endif
|
#endif
|
||||||
|
@ -3,13 +3,11 @@
|
|||||||
|
|
||||||
#include "clogger.h"
|
#include "clogger.h"
|
||||||
#include "communication_funcs.h"
|
#include "communication_funcs.h"
|
||||||
|
#include "sharedMemory.h"
|
||||||
#include "slsDetectorServer_defs.h"
|
#include "slsDetectorServer_defs.h"
|
||||||
#include "slsDetectorServer_funcs.h"
|
#include "slsDetectorServer_funcs.h"
|
||||||
#include "sls_detector_defs.h"
|
#include "sls_detector_defs.h"
|
||||||
#include "versionAPI.h"
|
#include "versionAPI.h"
|
||||||
#ifdef VIRTUAL
|
|
||||||
#include "communication_virtual.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -28,6 +26,7 @@ extern int checkModuleFlag;
|
|||||||
#ifdef GOTTHARDD
|
#ifdef GOTTHARDD
|
||||||
extern int phaseShift;
|
extern int phaseShift;
|
||||||
#endif
|
#endif
|
||||||
|
extern sharedMem *thisMem;
|
||||||
|
|
||||||
void error(char *msg) { perror(msg); }
|
void error(char *msg) { perror(msg); }
|
||||||
|
|
||||||
@ -100,6 +99,10 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
// control server
|
// control server
|
||||||
if (isControlServer) {
|
if (isControlServer) {
|
||||||
|
LOG(logINFOBLUE, ("Control Server [%d]\n", portno));
|
||||||
|
if (!createSharedMemory(&thisMem, portno)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
#ifdef STOP_SERVER
|
#ifdef STOP_SERVER
|
||||||
// start stop server process
|
// start stop server process
|
||||||
char cmd[MAX_STR_LENGTH];
|
char cmd[MAX_STR_LENGTH];
|
||||||
@ -121,21 +124,14 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
LOG(logDEBUG1, ("Command to start stop server:%s\n", cmd));
|
LOG(logDEBUG1, ("Command to start stop server:%s\n", cmd));
|
||||||
system(cmd);
|
system(cmd);
|
||||||
LOG(logINFOBLUE, ("Control Server [%d]\n", portno));
|
|
||||||
#ifdef VIRTUAL
|
|
||||||
// creating files for virtual servers to communicate with each other
|
|
||||||
if (!ComVirtual_createFiles(portno)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
// stop server
|
// stop server
|
||||||
else {
|
else {
|
||||||
LOG(logINFOBLUE, ("Stop Server [%d]\n", portno));
|
LOG(logINFOBLUE, ("Stop Server [%d]\n", portno));
|
||||||
#ifdef VIRTUAL
|
if (!openSharedMemory(&thisMem, portno - 1)) {
|
||||||
ComVirtual_setFileNames(portno - 1);
|
return -1;
|
||||||
#endif
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
init_detector();
|
init_detector();
|
||||||
@ -164,6 +160,17 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
exitServer(sockfd);
|
exitServer(sockfd);
|
||||||
|
|
||||||
|
// detach shared memory
|
||||||
|
if (!detachSharedMemory(&thisMem)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
// remove shared memory (control server)
|
||||||
|
if (isControlServer) {
|
||||||
|
if (!removeSharedMemory()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (retval == REBOOT) {
|
if (retval == REBOOT) {
|
||||||
LOG(logINFORED, ("Rebooting!\n"));
|
LOG(logINFORED, ("Rebooting!\n"));
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
Reference in New Issue
Block a user