From 70ea4b48c3cde4d7bf8af0f01d31cf23dd9e0bfd Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 3 Oct 2018 11:15:39 +0200 Subject: [PATCH] client: removed slsDetectorutils and postprocessing. yet to compile, yet to add detpos index for every multi sls detector command and call from command interface, removed multiple threading, yet to interface with eriks single template for multiple threading --- Makefile | 2 +- slsDetectorSoftware/CMakeLists.txt | 9 +- slsDetectorSoftware/Makefile | 8 +- slsDetectorSoftware/doxy.config | 4 +- slsDetectorSoftware/include/detectorData.h | 1 - .../include/slsDetectorUsers.h | 1 - .../include/slsReceiverUsers.h | 1 - .../multiSlsDetector/multiSlsDetector.cpp | 195 +- .../multiSlsDetector/multiSlsDetector.h | 114 +- .../multiSlsDetectorCommand.h | 67 +- .../mythenDetectorServer/.target-makefrag | 1 - .../mythenDetectorServer/Makefile | 46 - .../mythenDetectorServer/Makefile.dum | 40 - .../mythenDetectorServer/Makefile.picasso | 49 - .../mythenDetectorServer/Makefile.virtual | 18 - .../mythenDetectorServer/ansi.h | 1 - .../mythenDetectorServer/firmware_funcs.c | 1765 ---------- .../mythenDetectorServer/firmware_funcs.h | 153 - .../mythenDetectorServer/gitInfo.txt | 9 - .../mythenDetectorServer/gitInfoMythen.h | 6 - .../mythenDetectorServer/gitInfoMythenTmp.h | 6 - .../mythenDetectorServer/mcb_funcs.c | 2716 ---------------- .../mythenDetectorServer/mcb_funcs.h | 157 - .../mythenDetectorServer/mythenDetectorServer | Bin 390567 -> 0 bytes .../mythenDetectorServerv2.0.3 | Bin 384078 -> 0 bytes .../mythenDetectorServer/mythenVirtualServer | Bin 103905 -> 0 bytes .../mythenDetectorServer/picasso_defs.h | 42 - .../mythenDetectorServer/registers.h | 184 -- .../mythenDetectorServer/server.c | 91 - .../mythenDetectorServer/server_defs.h | 43 - .../mythenDetectorServer/server_funcs.c | 2857 ----------------- .../mythenDetectorServer/server_funcs.h | 79 - .../mythenDetectorServer/sharedmemory.c | 46 - .../mythenDetectorServer/sharedmemory.h | 52 - .../mythenDetectorServer/sls_receiver_defs.h | 1 - .../mythenDetectorServer/sls_receiver_funcs.h | 1 - .../mythenDetectorServer/stop_server.c | 41 - .../mythenDetectorServer/trimming_funcs.c | 789 ----- .../mythenDetectorServer/trimming_funcs.h | 17 - .../mythenDetectorServer/updateGitVersion.sh | 31 - .../detectorData.h | 0 .../slsDetector/slsDetector.cpp | 4 - slsDetectorSoftware/slsDetector/slsDetector.h | 10 +- .../slsDetector/slsDetectorBase.h | 5 - .../slsDetector/slsDetectorCommand.cpp | 314 +- .../slsDetector/slsDetectorCommand.h | 207 +- .../slsDetector/slsDetectorUtils.cpp | 29 - .../slsDetector/slsDetectorUtils.h | 85 - .../slsDetectorAnalysis/postProcessing.cpp | 175 - .../slsDetectorAnalysis/postProcessing.h | 102 - .../slsDetectorServer/communication_funcs.c | 1 - .../slsDetectorServer/communication_funcs.h | 1 - .../slsDetectorServer/sls_detector_defs.h | 1 - .../slsDetectorServer/sls_detector_funcs.h | 1 - .../eigerDetectorServer/9mhvserial_bf.c | 0 .../eigerDetectorServer/Beb.c | 0 .../eigerDetectorServer/Beb.h | 0 .../eigerDetectorServer/Feb.c | 0 .../eigerDetectorServer/Feb.h | 0 .../eigerDetectorServer/FebControl.c | 0 .../eigerDetectorServer/FebControl.h | 0 .../eigerDetectorServer/FebInterface.c | 0 .../eigerDetectorServer/FebInterface.h | 0 .../eigerDetectorServer/FebRegisterDefs.h | 0 .../eigerDetectorServer/HardwareIO.c | 0 .../eigerDetectorServer/HardwareIO.h | 0 .../HardwareMMappingDefs.h | 0 .../eigerDetectorServer/LocalLinkInterface.c | 0 .../eigerDetectorServer/LocalLinkInterface.h | 0 .../eigerDetectorServer/Makefile | 0 .../eigerDetectorServer/Makefile.virtual | 0 .../eigerDetectorServer/ansi.h | 0 .../bin/eigerDetectorServer_developer | Bin .../bin/eigerDetectorServer_virtualMaster | Bin .../bin/eigerDetectorServer_virtualSlave | Bin .../bin/hv9m_blackfin_serverv3.0.0.1 | Bin .../eigerDetectorServer/communication_funcs.c | 0 .../eigerDetectorServer/communication_funcs.h | 0 .../eigerDetectorServer/gitInfo.txt | 0 .../eigerDetectorServer/gitInfoEiger.h | 0 .../eigerDetectorServer/gitInfoEigerTmp.h | 0 .../eigerDetectorServer/renameServer.sh | 0 .../slsDetectorFunctionList.c | 0 .../slsDetectorFunctionList.h | 0 .../eigerDetectorServer/slsDetectorServer.c | 0 .../slsDetectorServer_defs.h | 0 .../slsDetectorServer_funcs.c | 0 .../slsDetectorServer_funcs.h | 0 .../eigerDetectorServer/sls_detector_defs.h | 0 .../eigerDetectorServer/sls_detector_funcs.h | 0 .../eigerDetectorServer/sls_receiver_defs.h | 0 .../eigerDetectorServer/sls_receiver_funcs.h | 0 .../eigerDetectorServer/updateAPIVersion.sh | 0 .../eigerDetectorServer/updateGitVersion.sh | 0 .../eigerDetectorServer/versionAPI.h | 0 .../eigerDetectorServer/xfs_types.h | 0 .../eigerDetectorServer/xparameters.h | 0 .../gotthardDetectorServer/.target-makefrag | 0 .../gotthardDetectorServer/AD9257.h | 0 .../gotthardDetectorServer/Makefile | 0 .../gotthardDetectorServer/Makefile.propix | 0 .../gotthardDetectorServer/Makefile.virtual | 0 .../gotthardDetectorServer/ansi.h | 0 .../commonServerFunctions.h | 0 .../communication_funcs.c | 0 .../communication_funcs.h | 0 .../gotthardDetectorServer/config.txt | 0 .../gotthardDetectorServer/firmware_funcs.c | 0 .../gotthardDetectorServer/firmware_funcs.h | 0 .../gotthardDetectorServer/gitInfo.txt | 0 .../gotthardDetectorServer/gitInfoGotthard.h | 0 .../gitInfoGotthardTmp.h | 0 .../gotthardDetectorServer_developer | Bin .../gotthardDetectorServer_virtual | Bin .../gotthardDetectorServerv4.0.0.3 | Bin .../gotthardDetectorServer/mcb_funcs.c | 0 .../gotthardDetectorServer/mcb_funcs.h | 0 .../gotthardDetectorServer/registers_g.h | 0 .../gotthardDetectorServer/server.c | 0 .../gotthardDetectorServer/server_defs.h | 0 .../gotthardDetectorServer/server_funcs.c | 0 .../gotthardDetectorServer/server_funcs.h | 0 .../sls_detector_defs.h | 0 .../sls_detector_funcs.h | 0 .../sls_receiver_defs.h | 0 .../sls_receiver_funcs.h | 0 .../gotthardDetectorServer/stop_server.c | 0 .../updateAPIVersion.sh | 0 .../updateGitVersion.sh | 0 .../gotthardDetectorServer/versionAPI.h | 0 .../jctbDetectorServer/AD9257.h | 0 .../jctbDetectorServer/Makefile | 0 .../jctbDetectorServer/ansi.h | 0 .../jctbDetectorServer/bf_init.sh | 0 .../jctbDetectorServer/blackfin.c | 0 .../jctbDetectorServer/blackfin.h | 0 .../commonServerFunctions.h | 0 .../jctbDetectorServer/communication_funcs.c | 0 .../jctbDetectorServer/communication_funcs.h | 0 .../jctbDetectorServer/convert_pof_to_raw.c | 0 .../jctbDetectorServer/firmware_funcs.c | 0 .../jctbDetectorServer/firmware_funcs.h | 0 .../jctbDetectorServer/get_server.sh | 0 .../jctbDetectorServer/gitInfo.txt | 0 .../jctbDetectorServer/gitInfoMoench.h | 0 .../jctbDetectorServer/gitInfoMoenchTmp.h | 0 .../jctbDetectorServer_developer | Bin .../jctbDetectorServer/mcb_funcs.c | 0 .../jctbDetectorServer/mcb_funcs.h | 0 .../jctbDetectorServer/program_fpga.sh | 0 .../jctbDetectorServer/registers_m.h | 0 .../jctbDetectorServer/server.c | 0 .../jctbDetectorServer/server_defs.h | 0 .../jctbDetectorServer/server_funcs.c | 0 .../jctbDetectorServer/server_funcs.h | 0 .../jctbDetectorServer/sharedmemory.c | 0 .../jctbDetectorServer/sharedmemory.h | 0 .../jctbDetectorServer/slow_adc.c | 0 .../jctbDetectorServer/slow_adc.h | 0 .../jctbDetectorServer/sls_detector_defs.h | 0 .../jctbDetectorServer/sls_detector_funcs.h | 0 .../jctbDetectorServer/sls_receiver_defs.h | 0 .../jctbDetectorServer/sls_receiver_funcs.h | 0 .../jctbDetectorServer/stop_server.c | 0 .../jctbDetectorServer/updateGitVersion.sh | 0 .../jungfrauDetectorServer/AD9257.h | 0 .../jungfrauDetectorServer/Makefile | 0 .../jungfrauDetectorServer/Makefile.virtual | 0 .../jungfrauDetectorServer/RegisterDefs.h | 0 .../jungfrauDetectorServer/ansi.h | 0 .../bin/jungfrauDetectorServer_developer | Bin .../bin/jungfrauDetectorServer_virtual | Bin .../jungfrauDetectorServer/blackfin.h | 0 .../commonServerFunctions.h | 0 .../communication_funcs.c | 0 .../communication_funcs.h | 0 .../jungfrauDetectorServer/gitInfo.txt | 0 .../jungfrauDetectorServer/gitInfoJungfrau.h | 0 .../gitInfoJungfrauTmp.h | 0 .../jungfrauDetectorServer/programfpga.h | 0 .../slsDetectorFunctionList.c | 0 .../slsDetectorFunctionList.h | 0 .../slsDetectorServer.c | 0 .../slsDetectorServer_defs.h | 0 .../slsDetectorServer_funcs.c | 0 .../slsDetectorServer_funcs.h | 0 .../sls_detector_defs.h | 0 .../sls_detector_funcs.h | 0 .../sls_receiver_defs.h | 0 .../sls_receiver_funcs.h | 0 .../updateAPIVersion.sh | 0 .../updateGitVersion.sh | 0 .../jungfrauDetectorServer/versionAPI.h | 0 .../moenchDetectorServer/.target-makefrag | 0 .../moenchDetectorServer/Makefile | 0 .../moenchDetectorServer/Makefile.virtual | 0 .../moenchDetectorServer/ansi.h | 0 .../communication_funcs.c | 0 .../communication_funcs.h | 0 .../moenchDetectorServer/firmware_funcs.c | 0 .../moenchDetectorServer/firmware_funcs.h | 0 .../moenchDetectorServer/gitInfo.txt | 0 .../moenchDetectorServer/gitInfoMoench.h | 0 .../moenchDetectorServer/gitInfoMoenchTmp.h | 0 .../moenchDetectorServer/mcb_funcs.c | 0 .../moenchDetectorServer/mcb_funcs.h | 0 .../moenchDetectorServer/moenchVirtualServer | Bin .../moenchDetectorServer/registers_m.h | 0 .../moenchDetectorServer/server.c | 0 .../moenchDetectorServer/server_defs.h | 0 .../moenchDetectorServer/server_funcs.c | 0 .../moenchDetectorServer/server_funcs.h | 0 .../moenchDetectorServer/sharedmemory.c | 0 .../moenchDetectorServer/sharedmemory.h | 0 .../moenchDetectorServer/sls_detector_defs.h | 0 .../moenchDetectorServer/sls_detector_funcs.h | 0 .../moenchDetectorServer/sls_receiver_defs.h | 0 .../moenchDetectorServer/sls_receiver_funcs.h | 0 .../moenchDetectorServer/stop_server.c | 0 .../moenchDetectorServer/trimming_funcs.c | 0 .../moenchDetectorServer/trimming_funcs.h | 0 .../moenchDetectorServer/updateGitVersion.sh | 0 .../mythen3DetectorServer/AD9257.h | 0 .../mythen3DetectorServer/Makefile | 0 .../mythen3DetectorServer/Makefile.virtual | 0 .../mythen3DetectorServer/RegisterDefs.h | 0 .../mythen3DetectorServer/ansi.h | 0 .../mythen3DetectorServer/blackfin.h | 0 .../commonServerFunctions.h | 0 .../communication_funcs.c | 0 .../communication_funcs.h | 0 .../mythen3DetectorServer/gitInfo.txt | 0 .../mythen3DetectorServer/gitInfoMythen3.h | 0 .../mythen3DetectorServer/gitInfoMythen3Tmp.h | 0 .../mythen3DetectorServer/mythen3Server | Bin .../mythen3DetectorServer/mythen3Server.gdb | Bin .../mythen3DetectorServer/programfpga.h | 0 .../slsDetectorFunctionList.c | 0 .../slsDetectorFunctionList.h | 0 .../mythen3DetectorServer/slsDetectorServer.c | 0 .../slsDetectorServer_defs.h | 0 .../slsDetectorServer_funcs.c | 0 .../slsDetectorServer_funcs.h | 0 .../mythen3DetectorServer/sls_detector_defs.h | 0 .../sls_detector_funcs.h | 0 .../mythen3DetectorServer/sls_receiver_defs.h | 0 .../sls_receiver_funcs.h | 0 .../mythen3DetectorServer/updateGitVersion.sh | 0 .../slsDetectorServer/AD9257.h | 0 .../slsDetectorServer/Makefile | 0 .../slsDetectorServer/blackfin.h | 0 .../slsDetectorServer/commonServerFunctions.h | 0 .../slsDetectorServer}/communication_funcs.c | 0 .../slsDetectorServer}/communication_funcs.h | 0 .../slsDetectorServer/programfpga.h | 0 .../slsDetectorFunctionList.c | 0 .../slsDetectorFunctionList.h | 0 .../slsDetectorServer/slsDetectorServer.c | 0 .../slsDetectorServer_defs.h | 0 .../slsDetectorServer_funcs.c | 0 .../slsDetectorServer_funcs.h | 0 .../slsDetector_stopServer.c | 0 .../slsDetectorServer}/sls_detector_defs.h | 0 .../slsDetectorServer}/sls_detector_funcs.h | 0 slsDetectorSoftware/threadFiles/CondVar.cpp | 17 - slsDetectorSoftware/threadFiles/CondVar.h | 23 - slsDetectorSoftware/threadFiles/Global.h | 6 - slsDetectorSoftware/threadFiles/Makefile | 21 - slsDetectorSoftware/threadFiles/Multi.cpp | 197 -- slsDetectorSoftware/threadFiles/Multi.h | 35 - slsDetectorSoftware/threadFiles/Mutex.cpp | 26 - slsDetectorSoftware/threadFiles/Mutex.h | 27 - slsDetectorSoftware/threadFiles/Single.cpp | 37 - slsDetectorSoftware/threadFiles/Single.h | 24 - slsDetectorSoftware/threadFiles/Task.h | 221 -- .../threadFiles/ThreadPool.cpp | 191 -- slsDetectorSoftware/threadFiles/ThreadPool.h | 51 - .../threadFiles/bin/examplethreadpool_test | Bin 237980 -> 0 bytes .../threadFiles/threadpool_test.cpp | 61 - 279 files changed, 578 insertions(+), 10937 deletions(-) delete mode 120000 slsDetectorSoftware/include/detectorData.h delete mode 120000 slsDetectorSoftware/include/slsDetectorUsers.h delete mode 120000 slsDetectorSoftware/include/slsReceiverUsers.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/.target-makefrag delete mode 100755 slsDetectorSoftware/mythenDetectorServer/Makefile delete mode 100644 slsDetectorSoftware/mythenDetectorServer/Makefile.dum delete mode 100644 slsDetectorSoftware/mythenDetectorServer/Makefile.picasso delete mode 100755 slsDetectorSoftware/mythenDetectorServer/Makefile.virtual delete mode 120000 slsDetectorSoftware/mythenDetectorServer/ansi.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/firmware_funcs.c delete mode 100755 slsDetectorSoftware/mythenDetectorServer/firmware_funcs.h delete mode 100644 slsDetectorSoftware/mythenDetectorServer/gitInfo.txt delete mode 100644 slsDetectorSoftware/mythenDetectorServer/gitInfoMythen.h delete mode 100644 slsDetectorSoftware/mythenDetectorServer/gitInfoMythenTmp.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c delete mode 100755 slsDetectorSoftware/mythenDetectorServer/mcb_funcs.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/mythenDetectorServer delete mode 100755 slsDetectorSoftware/mythenDetectorServer/mythenDetectorServerv2.0.3 delete mode 100755 slsDetectorSoftware/mythenDetectorServer/mythenVirtualServer delete mode 100755 slsDetectorSoftware/mythenDetectorServer/picasso_defs.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/registers.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/server.c delete mode 100755 slsDetectorSoftware/mythenDetectorServer/server_defs.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/server_funcs.c delete mode 100755 slsDetectorSoftware/mythenDetectorServer/server_funcs.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/sharedmemory.c delete mode 100755 slsDetectorSoftware/mythenDetectorServer/sharedmemory.h delete mode 120000 slsDetectorSoftware/mythenDetectorServer/sls_receiver_defs.h delete mode 120000 slsDetectorSoftware/mythenDetectorServer/sls_receiver_funcs.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/stop_server.c delete mode 100755 slsDetectorSoftware/mythenDetectorServer/trimming_funcs.c delete mode 100755 slsDetectorSoftware/mythenDetectorServer/trimming_funcs.h delete mode 100755 slsDetectorSoftware/mythenDetectorServer/updateGitVersion.sh rename slsDetectorSoftware/{slsDetectorAnalysis => slsDetector}/detectorData.h (100%) delete mode 100644 slsDetectorSoftware/slsDetector/slsDetectorUtils.cpp delete mode 100644 slsDetectorSoftware/slsDetector/slsDetectorUtils.h delete mode 100644 slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp delete mode 100644 slsDetectorSoftware/slsDetectorAnalysis/postProcessing.h delete mode 120000 slsDetectorSoftware/slsDetectorServer/communication_funcs.c delete mode 120000 slsDetectorSoftware/slsDetectorServer/communication_funcs.h delete mode 120000 slsDetectorSoftware/slsDetectorServer/sls_detector_defs.h delete mode 120000 slsDetectorSoftware/slsDetectorServer/sls_detector_funcs.h rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/9mhvserial_bf.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/Beb.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/Beb.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/Feb.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/Feb.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/FebControl.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/FebControl.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/FebInterface.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/FebInterface.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/FebRegisterDefs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/HardwareIO.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/HardwareIO.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/HardwareMMappingDefs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/LocalLinkInterface.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/LocalLinkInterface.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/Makefile (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/Makefile.virtual (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/ansi.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/bin/eigerDetectorServer_developer (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/bin/eigerDetectorServer_virtualMaster (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/bin/eigerDetectorServer_virtualSlave (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/bin/hv9m_blackfin_serverv3.0.0.1 (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/communication_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/communication_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/gitInfo.txt (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/gitInfoEiger.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/gitInfoEigerTmp.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/renameServer.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/slsDetectorFunctionList.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/slsDetectorFunctionList.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/slsDetectorServer.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/slsDetectorServer_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/slsDetectorServer_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/slsDetectorServer_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/sls_detector_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/sls_detector_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/sls_receiver_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/sls_receiver_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/updateAPIVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/updateGitVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/versionAPI.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/xfs_types.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/eigerDetectorServer/xparameters.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/.target-makefrag (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/AD9257.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/Makefile (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/Makefile.propix (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/Makefile.virtual (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/ansi.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/commonServerFunctions.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/communication_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/communication_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/config.txt (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/firmware_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/firmware_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/gitInfo.txt (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/gitInfoGotthard.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/gitInfoGotthardTmp.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/gotthardDetectorServer_developer (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/gotthardDetectorServer_virtual (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/gotthardDetectorServerv4.0.0.3 (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/mcb_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/mcb_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/registers_g.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/server.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/server_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/server_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/server_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/sls_detector_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/sls_detector_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/sls_receiver_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/sls_receiver_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/stop_server.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/updateAPIVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/updateGitVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/gotthardDetectorServer/versionAPI.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/AD9257.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/Makefile (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/ansi.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/bf_init.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/blackfin.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/blackfin.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/commonServerFunctions.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/communication_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/communication_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/convert_pof_to_raw.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/firmware_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/firmware_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/get_server.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/gitInfo.txt (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/gitInfoMoench.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/gitInfoMoenchTmp.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/jctbDetectorServer_developer (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/mcb_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/mcb_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/program_fpga.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/registers_m.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/server.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/server_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/server_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/server_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/sharedmemory.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/sharedmemory.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/slow_adc.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/slow_adc.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/sls_detector_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/sls_detector_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/sls_receiver_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/sls_receiver_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/stop_server.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jctbDetectorServer/updateGitVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/AD9257.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/Makefile (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/Makefile.virtual (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/RegisterDefs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/ansi.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/bin/jungfrauDetectorServer_virtual (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/blackfin.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/commonServerFunctions.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/communication_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/communication_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/gitInfo.txt (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/gitInfoJungfrau.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/gitInfoJungfrauTmp.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/programfpga.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/slsDetectorFunctionList.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/slsDetectorFunctionList.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/slsDetectorServer.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/slsDetectorServer_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/slsDetectorServer_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/slsDetectorServer_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/sls_detector_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/sls_detector_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/sls_receiver_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/sls_receiver_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/updateAPIVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/updateGitVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/jungfrauDetectorServer/versionAPI.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/.target-makefrag (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/Makefile (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/Makefile.virtual (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/ansi.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/communication_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/communication_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/firmware_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/firmware_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/gitInfo.txt (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/gitInfoMoench.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/gitInfoMoenchTmp.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/mcb_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/mcb_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/moenchVirtualServer (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/registers_m.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/server.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/server_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/server_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/server_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/sharedmemory.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/sharedmemory.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/sls_detector_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/sls_detector_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/sls_receiver_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/sls_receiver_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/stop_server.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/trimming_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/trimming_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/moenchDetectorServer/updateGitVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/AD9257.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/Makefile (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/Makefile.virtual (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/RegisterDefs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/ansi.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/blackfin.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/commonServerFunctions.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/communication_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/communication_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/gitInfo.txt (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/gitInfoMythen3.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/gitInfoMythen3Tmp.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/mythen3Server (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/mythen3Server.gdb (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/programfpga.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/slsDetectorFunctionList.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/slsDetectorFunctionList.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/slsDetectorServer.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/slsDetectorServer_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/slsDetectorServer_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/slsDetectorServer_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/sls_detector_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/sls_detector_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/sls_receiver_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/sls_receiver_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/mythen3DetectorServer/updateGitVersion.sh (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/AD9257.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/Makefile (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/blackfin.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/commonServerFunctions.h (100%) rename slsDetectorSoftware/{mythenDetectorServer => slsDetectorServers/slsDetectorServer}/communication_funcs.c (100%) rename slsDetectorSoftware/{mythenDetectorServer => slsDetectorServers/slsDetectorServer}/communication_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/programfpga.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/slsDetectorFunctionList.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/slsDetectorFunctionList.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/slsDetectorServer.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/slsDetectorServer_defs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/slsDetectorServer_funcs.c (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/slsDetectorServer_funcs.h (100%) rename slsDetectorSoftware/{ => slsDetectorServers}/slsDetectorServer/slsDetector_stopServer.c (100%) rename slsDetectorSoftware/{mythenDetectorServer => slsDetectorServers/slsDetectorServer}/sls_detector_defs.h (100%) rename slsDetectorSoftware/{mythenDetectorServer => slsDetectorServers/slsDetectorServer}/sls_detector_funcs.h (100%) delete mode 100644 slsDetectorSoftware/threadFiles/CondVar.cpp delete mode 100644 slsDetectorSoftware/threadFiles/CondVar.h delete mode 100644 slsDetectorSoftware/threadFiles/Global.h delete mode 100644 slsDetectorSoftware/threadFiles/Makefile delete mode 100644 slsDetectorSoftware/threadFiles/Multi.cpp delete mode 100644 slsDetectorSoftware/threadFiles/Multi.h delete mode 100644 slsDetectorSoftware/threadFiles/Mutex.cpp delete mode 100644 slsDetectorSoftware/threadFiles/Mutex.h delete mode 100644 slsDetectorSoftware/threadFiles/Single.cpp delete mode 100644 slsDetectorSoftware/threadFiles/Single.h delete mode 100644 slsDetectorSoftware/threadFiles/Task.h delete mode 100644 slsDetectorSoftware/threadFiles/ThreadPool.cpp delete mode 100644 slsDetectorSoftware/threadFiles/ThreadPool.h delete mode 100755 slsDetectorSoftware/threadFiles/bin/examplethreadpool_test delete mode 100644 slsDetectorSoftware/threadFiles/threadpool_test.cpp diff --git a/Makefile b/Makefile index c78f2b53a..773fa5282 100755 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ MANAPIDIR = $(MANDIR)/manual-api TABSPACE := "\t" -INCLUDES=-I. -I$(WD)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(LIBRARYDIR)/sharedMemory -I$(ASM) +INCLUDES=-I. -I$(WD)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(LIBRARYDIR)/sharedMemory -I$(ASM) INCLUDESRXR += -I. -I$(LIBRARYRXRDIR)/include -I$(WD)/commonFiles -I$(CALIBDIR) -I$(ASM) #LIBFLAGRXR += diff --git a/slsDetectorSoftware/CMakeLists.txt b/slsDetectorSoftware/CMakeLists.txt index 5b7ddbafa..9fb82c08b 100644 --- a/slsDetectorSoftware/CMakeLists.txt +++ b/slsDetectorSoftware/CMakeLists.txt @@ -2,10 +2,8 @@ set(SOURCES multiSlsDetector/multiSlsDetector.cpp sharedMemory/SharedMemory.cpp slsDetector/slsDetectorUsers.cpp - slsDetector/slsDetectorUtils.cpp slsDetector/slsDetectorCommand.cpp slsDetector/slsDetector.cpp - slsDetectorAnalysis/postProcessing.cpp slsReceiverInterface/receiverInterface.cpp threadFiles/CondVar.cpp threadFiles/Mutex.cpp @@ -21,9 +19,6 @@ include_directories( multiSlsDetector sharedMemory slsDetector -slsDetectorUtils -slsDetectorCommand -slsDetectorAnalysis slsReceiverInterface threadFiles ) @@ -65,12 +60,10 @@ set(PUBLICHEADERS ../commonFiles/sls_receiver_exceptions.h ../commonFiles/utilties.h sharedMemory/SharedMemory.h - slsDetector/slsDetectorUtils.h slsDetector/slsDetector.h slsDetector/slsDetectorBase.h slsDetector/slsDetectorUsers.h - slsDetectorAnalysis/postProcessing.h - slsDetectorAnalysis/detectorData.h + slsDetector/detectorData.h multiSlsDetector/multiSlsDetector.h slsReceiverInterface/receiverInterface.h ) diff --git a/slsDetectorSoftware/Makefile b/slsDetectorSoftware/Makefile index a9525ceb0..b8ac5ffb7 100644 --- a/slsDetectorSoftware/Makefile +++ b/slsDetectorSoftware/Makefile @@ -9,15 +9,15 @@ CFLAGS= -g -DC_ONLY -fPIC DFLAGS= -g -DDACS_INT -INCLUDES?= -I../commonFiles -IslsDetector -I../slsReceiverSoftware/MySocketTCP -ImultiSlsDetector -IslsDetectorUtils -IslsDetectorCommand -IslsDetectorAnalysis -IslsReceiverInterface -I../slsReceiverSoftware/include -IthreadFiles -IsharedMemory -I$(ASM) +INCLUDES?= -I../commonFiles -IslsDetector -I../slsReceiverSoftware/MySocketTCP -ImultiSlsDetector -IslsReceiverInterface -I../slsReceiverSoftware/include -IthreadFiles -IsharedMemory -I$(ASM) #EPICSFLAGS=-D EPICS -I/usr/local/epics/base/include/ -I /usr/local/epics/base/include/os/Linux/ -L /usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -Wl,-R/usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -lca -lCom LIBZMQDIR = ../commonFiles LIBZMQ = -L$(LIBZMQDIR) -Wl,-rpath=$(LIBZMQDIR) -lzmq -SRC_CLNT= slsDetector/slsDetectorUtils.cpp slsDetector/slsDetectorCommand.cpp slsDetectorAnalysis/postProcessing.cpp slsDetector/slsDetector.cpp multiSlsDetector/multiSlsDetector.cpp slsReceiverInterface/receiverInterface.cpp slsDetector/slsDetectorUsers.cpp threadFiles/CondVar.cpp threadFiles/Mutex.cpp threadFiles/ThreadPool.cpp sharedMemory/SharedMemory.cpp ../commonFiles/utilities.cpp#../slsReceiverSoftware/MySocketTCP/MySocketTCP.cpp -DEPSINCLUDES = ../commonFiles/sls_receiver_defs.h ../commonFiles/sls_receiver_funcs.h ../commonFiles/ansi.h ../commonFiles/sls_detector_defs.h ../commonFiles/sls_detector_funcs.h ../commonFiles/error_defs.h slsDetector/slsDetectorBase.h slsDetectorAnalysis/detectorData.h threadFiles/Global.h threadFiles/Task.h sharedMemory/SharedMemory.h ../commonFiles/sls_receiver_exceptions.h ../commonFiles/versionAPI.h ../commonFiles/utilities.h +SRC_CLNT= slsDetector/slsDetectorCommand.cpp slsDetector/slsDetector.cpp multiSlsDetector/multiSlsDetector.cpp slsReceiverInterface/receiverInterface.cpp slsDetector/slsDetectorUsers.cpp threadFiles/CondVar.cpp threadFiles/Mutex.cpp threadFiles/ThreadPool.cpp sharedMemory/SharedMemory.cpp ../commonFiles/utilities.cpp#../slsReceiverSoftware/MySocketTCP/MySocketTCP.cpp +DEPSINCLUDES = ../commonFiles/sls_receiver_defs.h ../commonFiles/sls_receiver_funcs.h ../commonFiles/ansi.h ../commonFiles/sls_detector_defs.h ../commonFiles/sls_detector_funcs.h ../commonFiles/error_defs.h slsDetector/slsDetectorBase.h slsDetector/detectorData.h threadFiles/Global.h threadFiles/Task.h sharedMemory/SharedMemory.h ../commonFiles/sls_receiver_exceptions.h ../commonFiles/versionAPI.h ../commonFiles/utilities.h @@ -77,6 +77,6 @@ install: package install_inc: $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) - cp -P slsDetector/slsDetectorUsers.h slsDetectorAnalysis/detectorData.h $(DESTDIR) + cp -P slsDetector/slsDetectorUsers.h slsDetector/detectorData.h $(DESTDIR) diff --git a/slsDetectorSoftware/doxy.config b/slsDetectorSoftware/doxy.config index 259566611..ce0c700f7 100644 --- a/slsDetectorSoftware/doxy.config +++ b/slsDetectorSoftware/doxy.config @@ -99,9 +99,7 @@ INPUT = ../commonfiles/communication_funcs.h \ slsDetector/slsDetectorCommand.h \ slsDetector/slsDetector.h \ slsDetector/slsDetectorUsers.h \ - slsDetector/slsDetectorUtils.h \ - slsDetectorAnalysis/detectorData.h \ - slsDetectorAnalysis/postProcessing.h \ + slsDetector/detectorData.h \ slsReceiverInterface/receiverInterface.h \ threadFiles/CondVar.h \ threadFiles/Global.h \ diff --git a/slsDetectorSoftware/include/detectorData.h b/slsDetectorSoftware/include/detectorData.h deleted file mode 120000 index 44205ed04..000000000 --- a/slsDetectorSoftware/include/detectorData.h +++ /dev/null @@ -1 +0,0 @@ -../slsDetectorAnalysis/detectorData.h \ No newline at end of file diff --git a/slsDetectorSoftware/include/slsDetectorUsers.h b/slsDetectorSoftware/include/slsDetectorUsers.h deleted file mode 120000 index 51e196881..000000000 --- a/slsDetectorSoftware/include/slsDetectorUsers.h +++ /dev/null @@ -1 +0,0 @@ -../slsDetector/slsDetectorUsers.h \ No newline at end of file diff --git a/slsDetectorSoftware/include/slsReceiverUsers.h b/slsDetectorSoftware/include/slsReceiverUsers.h deleted file mode 120000 index c8727f200..000000000 --- a/slsDetectorSoftware/include/slsReceiverUsers.h +++ /dev/null @@ -1 +0,0 @@ -../../slsReceiverSoftware/include/slsReceiverUsers.h \ No newline at end of file diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index e034ca869..3b1254a2c 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -7,6 +7,7 @@ #include "multiSlsDetectorClient.h" #include "multiSlsDetectorCommand.h" #include "utilities.h" +#include "detectorData.h" #include #include @@ -27,14 +28,30 @@ multiSlsDetector::multiSlsDetector(int id, bool verify, bool update) threadpool(0), totalProgress(0), progressIndex(0), - acquisition_finished(NULL), - measurement_finished(NULL), - acqFinished_p(NULL), - measFinished_p(NULL), + threadedProcessing(1), + jointhread(0), + acquiringDone(0), + fdata(0), + thisData(0), + acquisition_finished(0), + acqFinished_p(0), + measurement_finished(0), + measFinished_p(0), progress_call(0), - pProgressCallArg(0) + pProgressCallArg(0), + dataReady(0), + pCallbackArg(0) { + pthread_mutex_t mp1 = PTHREAD_MUTEX_INITIALIZER; + mp=mp1; + pthread_mutex_init(&mp, NULL); + mg=mp1; + pthread_mutex_init(&mg, NULL); + ms=mp1; + pthread_mutex_init(&ms, NULL); + setupMultiDetector(verify, update); + } @@ -60,10 +77,6 @@ multiSlsDetector::~multiSlsDetector() { } -bool multiSlsDetector::isMultiSlsDetectorClass() { - return true; -} - void multiSlsDetector::setupMultiDetector(bool verify, bool update) { if (initSharedMemory(verify)) // shared memory just created, so initialize the structure @@ -4175,6 +4188,17 @@ void multiSlsDetector::registerProgressCallback(int( *func)(double,void*), void } +void multiSlsDetector::registerDataCallback(int( *userCallback)(detectorData*, int, int, void*), + void *pArg) { + dataReady = userCallback; + pCallbackArg = pArg; + if (setReceiverOnline() == slsDetectorDefs::ONLINE_FLAG) { + enableDataStreamingToClient(1); + enableDataStreamingFromReceiver(1); + } +} + + int multiSlsDetector::setTotalProgress() { int nf=1, nc=1, ns=1, nm=1; @@ -4227,7 +4251,7 @@ void multiSlsDetector::incrementProgress() { cout << "\r" << flush; #endif -}; +} void multiSlsDetector::setCurrentProgress(int i){ @@ -4282,8 +4306,8 @@ int multiSlsDetector::acquire(){ } // start processing thread - if (*threadedProcessing) - startThread(); + if (threadedProcessing) + startProcessingThread(); //resets frames caught in receiver @@ -4320,7 +4344,7 @@ int multiSlsDetector::acquire(){ // detector start startAndReadAll(); - if (*threadedProcessing==0){ + if (threadedProcessing==0){ processData(); } @@ -4333,7 +4357,7 @@ int multiSlsDetector::acquire(){ pthread_mutex_unlock(&mg); } else { pthread_mutex_unlock(&mg); - if (*threadedProcessing && dataReady) + if (threadedProcessing && dataReady) sem_wait(&sem_endRTAcquisition); // waits for receiver's external process to be done sending data to gui } } @@ -4357,7 +4381,7 @@ int multiSlsDetector::acquire(){ // waiting for the data processing thread to finish! - if (*threadedProcessing) { + if (threadedProcessing) { setJoinThread(1); //let processing thread continue and checkjointhread @@ -4388,3 +4412,144 @@ int multiSlsDetector::acquire(){ } + + +int multiSlsDetector::setThreadedProcessing(int enable=-1) { + if (enable>=0) + threadedProcessing=enable; + return threadedProcessing; +} + + +void multiSlsDetector::startProcessingThread() { + + setTotalProgress(); +#ifdef VERBOSE + std::cout << "start thread stuff" << std::endl; +#endif + + pthread_attr_t tattr; + int ret; + sched_param param, mparam; + int policy= SCHED_OTHER; + + // set the priority; others are unchanged + //newprio = 30; + mparam.sched_priority =1; + param.sched_priority =1; + + /* Initialize and set thread detached attribute */ + pthread_attr_init(&tattr); + pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_JOINABLE); + + ret = pthread_setschedparam(pthread_self(), policy, &mparam); + + + ret = pthread_create(&dataProcessingThread, &tattr,startProcessData, (void*)this); + + if (ret) + printf("ret %d\n", ret); + + pthread_attr_destroy(&tattr); + + // scheduling parameters of target thread + ret = pthread_setschedparam(dataProcessingThread, policy, ¶m); +} + + +void* multiSlsDetector::startProcessData(void *n) { + postProcessing *myDet=(postProcessing*)n; + myDet->processData(); + pthread_exit(NULL); +} + + +void* multiSlsDetector::processData() { + if(setReceiverOnline()==OFFLINE_FLAG){ + return 0; + } //receiver + else{ + //cprintf(RED,"In post processing threads\n"); + + if(dataReady) { + readFrameFromReceiver(); + } + //only update progress + else{ + int caught = -1; + char c; + int ifp; + while(true){ + + // set only in startThread + if (*threadedProcessing==0) + setTotalProgress(); + + // to exit acquire by typing q + ifp=kbhit(); + if (ifp!=0){ + c=fgetc(stdin); + if (c=='q') { + std::cout<<"Caught the command to stop acquisition"< #include @@ -23,7 +23,7 @@ class ZmqSocket; #define SHORT_STRING_LENGTH 50 #define DATE_LENGTH 30 -class multiSlsDetector : public postProcessing { +class multiSlsDetector : public slsDetectorBase { private: @@ -142,12 +142,6 @@ public: */ virtual ~multiSlsDetector(); - /** - * returns true. Used when reference is slsDetectorUtils and to determine - * if command can be implemented as slsDetector/multiSlsDetector object/ - */ - bool isMultiSlsDetectorClass(); - /** * Creates/open shared memory, initializes detector structure and members * Called by constructor/ set hostname / read config file @@ -1450,6 +1444,17 @@ public: */ void registerProgressCallback(int( *func)(double,void*), void *pArg); + /** + * register calbback for accessing detector final data, + * also enables data streaming in client and receiver + * @param userCallback function for plotting/analyzing the data. + * Its arguments are + * the data structure d and the frame number f, + * s is for subframe number for eiger for 32 bit mode + * @param pArg argument + */ + void registerDataCallback(int( *userCallback)(detectorData*, int, int, void*), void *pArg); + /** * Performs a complete acquisition * resets frames caught in receiver, starts receiver, starts detector, @@ -1459,6 +1464,12 @@ public: */ int acquire(); + /** + * Set/get if the data processing thread si enabled + * @param enable 0 no data processing thread, 1 separate thread, -1 get + */ + int setThreadedProcessing(int enable=-1); + private: /** * Initialize (open/create) shared memory for the sharedMultiDetector structure @@ -1528,6 +1539,39 @@ private: */ void setCurrentProgress(int i=0); + /** + * Start data processing thread + */ + void startProcessingThread(); + + /** + * Static function to call processing thread + */ + static void* startProcessData(void *n); + + /** + * Combines data from all readouts and gives it to the gui + * or just gives progress of acquisition by polling receivers + */ + void* processData(); + + /** + * Check if processing thread is ready to join main thread + * @returns true if ready, else false + */ + int checkJoinThread(); + + /** + * Main thread sets if the processing thread should join it + * @param v true if it should join, else false + */ + void setJoinThread(int v); + + /** + * Listen to key event to stop acquiring + * when using acquire command + */ + int kbhit(void); /** Multi detector Id */ @@ -1552,20 +1596,54 @@ private: ThreadPool* threadpool; - int totalProgress; - int progressIndex; - - int (*acquisition_finished)(double,int,void*); - int (*measurement_finished)(int,int,void*); - void *acqFinished_p, *measFinished_p; - int (*progress_call)(double,void*); - void *pProgressCallArg; - /** semaphore to let postprocessing thread continue for next scan/measurement */ sem_t sem_newRTAcquisition; /** semaphore to let main thread know it got all the dummy packets (also from ext. process) */ sem_t sem_endRTAcquisition; + + int totalProgress; + int progressIndex; + /** mutex to synchronize main and data processing threads */ + pthread_mutex_t mp; + + /** mutex to synchronizedata processing and plotting threads */ + pthread_mutex_t mg; + + /** mutex to synchronize slsdetector threads */ + pthread_mutex_t ms; + + int threadedProcessing; + + /** sets when the acquisition is finished */ + int jointhread; + + /** set when detector finishes acquiring */ + int acquiringDone; + + /** the data processing thread */ + pthread_t dataProcessingThread; + + double *fdata; + detectorData *thisData; + + int (*acquisition_finished)(double,int,void*); + void *acqFinished_p; + + int (*measurement_finished)(int,int,void*); + void *measFinished_p; + + int (*progress_call)(double,void*); + void *pProgressCallArg; + + int (*dataReady)(detectorData*,int, int, void*); + void *pCallbackArg; + + + + + + }; diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetectorCommand.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetectorCommand.h index f30d807f8..7e95d2728 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetectorCommand.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetectorCommand.h @@ -14,54 +14,43 @@ class multiSlsDetectorCommand : public slsDetectorCommand { - public: +public: - multiSlsDetectorCommand(multiSlsDetector *det) : slsDetectorCommand(det) {myDet=det;}; + multiSlsDetectorCommand(multiSlsDetector *det) : slsDetectorCommand(det) {myDet=det;}; - /* /\** */ -/* executes a set of string arguments according to a given format. It is used to read/write configuration file, dump and retrieve detector settings and for the command line interface command parsing */ -/* \param narg number of arguments */ -/* \param args array of string arguments */ -/* \param action can be PUT_ACTION or GET_ACTION (from text client even READOUT_ACTION for acquisition) */ -/* \returns answer string */ -/* *\/ */ + /* /\** */ + /* executes a set of string arguments according to a given format. It is used to read/write configuration file, dump and retrieve detector settings and for the command line interface command parsing */ + /* \param narg number of arguments */ + /* \param args array of string arguments */ + /* \param action can be PUT_ACTION or GET_ACTION (from text client even READOUT_ACTION for acquisition) */ + /* \returns answer string */ + /* *\/ */ - std::string executeLine(int narg, char *args[], int action, int id=-1) { \ - std::string s; \ - if (id>=0) { - slsDetector *d=myDet->getSlsDetector(id); \ - if (d) { \ - slsDetectorCommand *cmd=new slsDetectorCommand(d); \ - s=cmd->executeLine(narg, args, action); \ - if(d->getErrorMask()) \ - myDet->setErrorMask((myDet->getErrorMask())|(1</dev/null - \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile.dum b/slsDetectorSoftware/mythenDetectorServer/Makefile.dum deleted file mode 100644 index 4656a39bf..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile.dum +++ /dev/null @@ -1,40 +0,0 @@ -# $Id: Makefile,v 1.1.1.1 2006/02/04 03:35:01 freza Exp $ -# first compile -# make cris-axis-linux-gnu - -AXIS_USABLE_LIBS = UCLIBC GLIBC -include $(AXIS_TOP_DIR)/tools/build/Rules.axis - -PROGS= dummy - -INSTDIR= $(prefix)/bin -INSTMODE= 0777 - -SRCS= dummy_main.c server_funcs.c communication_funcs.c firmware_funcs.c mcb_funcs.c trimming_funcs.c sharedmemory.c -OBJS= $(SRCS:%.c=%.o) - -CFLAGS+= -Wall -DC_ONLY -DVERBOSE -#-Werror - -LDLIBS+= -lm - -all: versioning $(PROGS) - -boot: $(OBJS) - -$(PROGS): $(OBJS) - echo $(OBJS) - $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ - -install: $(PROGS) - $(INSTALL) -d $(INSTDIR) - $(INSTALL) -m $(INSTMODE) $(PROGS) $(INSTDIR) - -clean: - rm -rf $(PROGS) *.o - -depend: - makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null - -versioning: - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile.picasso b/slsDetectorSoftware/mythenDetectorServer/Makefile.picasso deleted file mode 100644 index 48d204135..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile.picasso +++ /dev/null @@ -1,49 +0,0 @@ -# $Id: Makefile,v 1.1.1.1 2006/02/04 03:35:01 freza Exp $ -# first compile -# make cris-axis-linux-gnu - -AXIS_USABLE_LIBS = UCLIBC GLIBC -include $(AXIS_TOP_DIR)/tools/build/Rules.axis - -PROGS= mythenDetectorServer -PICASSO= picassoDetectorServer -PICASSOFLAGS= -DPICASSOD - -INSTDIR= $(prefix)/bin -INSTMODE= 0777 - -SRCS= server.c server_funcs.c communication_funcs.c firmware_funcs.c mcb_funcs.c trimming_funcs.c sharedmemory.c -OBJS= $(SRCS:%.c=%.o) - -CFLAGS+= -Wall -DC_ONLY -DMCB_FUNCS -DVERBOSE -DVERYVERBOSE -DPICASSOD -#-Werror - -LDLIBS+= -lm - -picasso: $(PICASSO) -mythen: versioning $(PROGS) -all: versioning $(PROGS) $(PICASSO) - -boot: $(OBJS) - -$(PROGS): $(OBJS) - echo $(OBJS) - $(CC) $(LDFLAGS) $^ $(LDLIBS) $(CFLAGS) -o $@ - -$(PICASSO): $(OBJS) - echo $(OBJS) - $(CC) $(LDFLAGS) $^ $(LDLIBS) $(CFLAGS) $(PICASSOFLAGS) -o $@ - - -install: $(PROGS) - $(INSTALL) -d $(INSTDIR) - $(INSTALL) -m $(INSTMODE) $(PROGS) $(INSTDIR) - -clean: - rm -rf $(PROGS) $(PICASSO) *.o - -depend: - makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null - -versioning: - @echo `tput setaf 6; ./updateGitVersion.sh; tput sgr0;` \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/Makefile.virtual b/slsDetectorSoftware/mythenDetectorServer/Makefile.virtual deleted file mode 100755 index f3cb34b21..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/Makefile.virtual +++ /dev/null @@ -1,18 +0,0 @@ -DESTDIR?= ./ -PROGS= $(DESTDIR)/mythenVirtualServer - -SRCS= server.c server_funcs.c communication_funcs.c firmware_funcs.c mcb_funcs.c trimming_funcs.c sharedmemory.c - -OBJS= $(SRCS:%.c=%.o) - -CFLAGS+= -Wall -DC_ONLY -DMCB_FUNCS -DDACS_INT $(VFLAGS) -DVIRTUAL -DVERBOSE - -LDLIBS+= -lm -mythenVirtualServer : clean $(PROGS) - -$(PROGS): $(SRCS) - gcc $(LDFLAGS) $(SRCS) $(LDLIBS) $(CFLAGS) -o $@ - -clean: - rm -f *.o $(PROGS) - diff --git a/slsDetectorSoftware/mythenDetectorServer/ansi.h b/slsDetectorSoftware/mythenDetectorServer/ansi.h deleted file mode 120000 index a122db0ad..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/ansi.h +++ /dev/null @@ -1 +0,0 @@ -../../slsReceiverSoftware/include/ansi.h \ No newline at end of file diff --git a/slsDetectorSoftware/mythenDetectorServer/firmware_funcs.c b/slsDetectorSoftware/mythenDetectorServer/firmware_funcs.c deleted file mode 100755 index 6e90105cb..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/firmware_funcs.c +++ /dev/null @@ -1,1765 +0,0 @@ -#ifndef PICASSOD -#include "server_defs.h" -#else -#include "picasso_defs.h" -#endif - -#include "firmware_funcs.h" -#include "mcb_funcs.h" -#include "registers.h" - -#ifdef SHAREDMEMORY -#include "sharedmemory.h" -#endif - -#include -#include -#include - -#include -//#define VERBOSE - -//for memory mapping -u_int64_t CSP0BASE; - -FILE *debugfp, *datafp; - -int fr; -int wait_time; -int *fifocntrl; -int *values; -int *statusreg; -const int nModY=1; -int nModBoard; -int nModX=NMAXMOD; -int dynamicRange=32; -int dataBytes=NMAXMOD*NCHIP*NCHAN*4; -int storeInRAM=0; -int *ram_values=NULL; -char *now_ptr=NULL; -int ram_size=0; - -int64_t totalTime=1; -u_int32_t progressMask=0; - - - -int ififostart, ififostop, ififostep, ififo; - -int masterMode=NO_MASTER, syncMode=NO_SYNCHRONIZATION, timingMode=AUTO_TIMING; - -enum externalSignalFlag signals[4]={GATE_IN_ACTIVE_HIGH, TRIGGER_IN_RISING_EDGE, SIGNAL_OFF, SIGNAL_OFF}; - - -#ifdef MCB_FUNCS -extern const int nChans; -extern const int nChips; -extern const int nDacs; -extern const int nAdcs; -#endif -#ifndef MCB_FUNCS - -const int nChans=NCHAN; -const int nChips=NCHIP; -const int nDacs=NDAC; -const int nAdcs=NADC; -#endif - -//int mybyte; -//int mysize=dataBytes/8; - -int mapCSP0(void) { - printf("Mapping memory\n"); -#ifndef VIRTUAL - int fd; - fd = open("/dev/mem", O_RDWR | O_SYNC, 0); - if (fd == -1) { - printf("\nCan't find /dev/mem!\n"); - return FAIL; - } - printf("/dev/mem opened\n"); - CSP0BASE = (u_int32_t)mmap(0, MEM_SIZE, PROT_READ|PROT_WRITE, MAP_FILE|MAP_SHARED, fd, CSP0); - if (CSP0BASE == (u_int32_t)MAP_FAILED) { - printf("\nCan't map memmory area!!\n"); - return FAIL; - } - printf("CSP0 mapped\n"); - -#endif -#ifdef VIRTUAL - CSP0BASE = malloc(MEM_SIZE); - printf("memory allocated\n"); -#endif -#ifdef SHAREDMEMORY - if ( (res=inism(SMSV))<0) { - printf("error attaching shared memory! %i",res); - return FAIL; - } -#endif - printf("CSPOBASE=from %08x to %x\n",CSP0BASE,CSP0BASE+MEM_SIZE); - - values=(u_int32_t*)(CSP0BASE+FIFO_DATA_REG_OFF); - printf("values=%08x\n",values); - fifocntrl=(u_int32_t*)(CSP0BASE+FIFO_CNTRL_REG_OFF); - printf("fifcntrl=%08x\n",fifocntrl); - statusreg=(u_int32_t*)(CSP0BASE+STATUS_REG); - printf("statusreg=%08x\n",statusreg); - - return OK; -} - - -u_int32_t bus_w(u_int32_t offset, u_int32_t data) { - u_int32_t *ptr1; - - - ptr1=(u_int32_t*)(CSP0BASE+offset); - *ptr1=data; - - return OK; -} - - -u_int32_t bus_r(u_int32_t offset) { - u_int32_t *ptr1; - - ptr1=(u_int32_t*)(CSP0BASE+offset); - return *ptr1; -} - -// direct pattern output -u_int32_t putout(char *s, int modnum) { - int i; - u_int32_t pat; - int addr; - - if (strlen(s)<16) { - fprintf(stdout," *** putout error: incorrect pattern length ***\n"); - fprintf(stdout," %s \n",s); - return FAIL; - } - - pat=0; - for (i=0;i<16;i++) { - if (s[i]=='1') pat=pat+(1<>CLK_DIVIDER_OFFSET); -} - -u_int32_t getClockDivider() { - u_int32_t clk_div; - clk_div=((bus_r(SPEED_REG)&CLK_DIVIDER_MASK)>>CLK_DIVIDER_OFFSET); - return clk_div; -} - -u_int32_t setSetLength(int d) { - u_int32_t c; - c=bus_r(SPEED_REG); - bus_w(SPEED_REG,(d<>SET_LENGTH_OFFSET); -} - -u_int32_t getSetLength() { - u_int32_t clk_div; - clk_div=((bus_r(SPEED_REG)& SET_LENGTH_MASK)>>SET_LENGTH_OFFSET); - return clk_div; -} - - -u_int32_t setWaitStates(int d1) { - u_int32_t c; - int d=d1-2; - //int d=d1-3; - char cmd[100]; - if (d1<=0xf) { - sprintf(cmd,"bus -a 0xb0000000 -w 0x%x0008",d1); - c=bus_r(SPEED_REG); - bus_w(SPEED_REG,(d<>WAIT_STATES_OFFSET)+2; -} - -u_int32_t getWaitStates() { - u_int32_t clk_div; - clk_div=((bus_r(SPEED_REG)& WAIT_STATES_MASK)>>WAIT_STATES_OFFSET); - return clk_div+2; -} - - -u_int32_t setTotClockDivider(int d) { - u_int32_t c; - c=bus_r(SPEED_REG); - bus_w(SPEED_REG,(d<>TOTCLK_DIVIDER_OFFSET); -} - -u_int32_t getTotClockDivider() { - u_int32_t clk_div; - clk_div=((bus_r(SPEED_REG)&TOTCLK_DIVIDER_MASK)>>TOTCLK_DIVIDER_OFFSET); - return clk_div; -} - - -u_int32_t setTotDutyCycle(int d) { - u_int32_t c; - c=bus_r(SPEED_REG); - bus_w(SPEED_REG,(d<>TOTCLK_DUTYCYCLE_OFFSET); -} - -u_int32_t getTotDutyCycle() { - u_int32_t clk_div; - clk_div=((bus_r(SPEED_REG)&TOTCLK_DUTYCYCLE_MASK)>>TOTCLK_DUTYCYCLE_OFFSET); - return clk_div; -} - - -u_int32_t setExtSignal(int d, enum externalSignalFlag mode) { - - - // int modes[]={EXT_SIG_OFF, EXT_GATE_IN_ACTIVEHIGH, EXT_GATE_IN_ACTIVELOW,EXT_TRIG_IN_RISING,EXT_TRIG_IN_FALLING,EXT_RO_TRIG_IN_RISING, EXT_RO_TRIG_IN_FALLING,EXT_GATE_OUT_ACTIVEHIGH, EXT_GATE_OUT_ACTIVELOW, EXT_TRIG_OUT_RISING, EXT_TRIG_OUT_FALLING, EXT_RO_TRIG_OUT_RISING, EXT_RO_TRIG_OUT_FALLING}; - - u_int32_t c; - // int off=d*SIGNAL_OFFSET; - c=bus_r(EXT_SIGNAL_REG); - - - - if (d>=0 && d<4) { - signals[d]=mode; -#ifdef VERBOSE - printf("settings signal variable number %d to value %04x\n", d, signals[d]); -#endif - - // if output signal, set it! - - switch (mode) { - case GATE_IN_ACTIVE_HIGH: - case GATE_IN_ACTIVE_LOW: - if (timingMode==GATE_FIX_NUMBER || timingMode==GATE_WITH_START_TRIGGER) - setFPGASignal(d,mode); - else - setFPGASignal(d,SIGNAL_OFF); - break; - case TRIGGER_IN_RISING_EDGE: - case TRIGGER_IN_FALLING_EDGE: - if (timingMode==TRIGGER_EXPOSURE || timingMode==GATE_WITH_START_TRIGGER) - setFPGASignal(d,mode); - else - setFPGASignal(d,SIGNAL_OFF); - break; - case RO_TRIGGER_IN_RISING_EDGE: - case RO_TRIGGER_IN_FALLING_EDGE: - if (timingMode==TRIGGER_READOUT) - setFPGASignal(d,mode); - else - setFPGASignal(d,SIGNAL_OFF); - break; - case MASTER_SLAVE_SYNCHRONIZATION: - setSynchronization(syncMode); - break; - default: - setFPGASignal(d,mode); - } - - setTiming(GET_EXTERNAL_COMMUNICATION_MODE); - } - - return getExtSignal(d); -} - -u_int32_t setFPGASignal(int d, enum externalSignalFlag mode) { - - - int modes[]={SIGNAL_OFF, GATE_IN_ACTIVE_HIGH, GATE_IN_ACTIVE_LOW,TRIGGER_IN_RISING_EDGE, TRIGGER_IN_FALLING_EDGE,RO_TRIGGER_IN_RISING_EDGE, RO_TRIGGER_IN_FALLING_EDGE, GATE_OUT_ACTIVE_HIGH, GATE_OUT_ACTIVE_LOW, TRIGGER_OUT_RISING_EDGE, TRIGGER_OUT_FALLING_EDGE, RO_TRIGGER_OUT_RISING_EDGE,RO_TRIGGER_OUT_FALLING_EDGE}; - - // int modes[]={EXT_SIG_OFF, EXT_GATE_IN_ACTIVEHIGH, EXT_GATE_IN_ACTIVELOW,EXT_TRIG_IN_RISING,EXT_TRIG_IN_FALLING,EXT_RO_TRIG_IN_RISING, EXT_RO_TRIG_IN_FALLING,EXT_GATE_OUT_ACTIVEHIGH, EXT_GATE_OUT_ACTIVELOW, EXT_TRIG_OUT_RISING, EXT_TRIG_OUT_FALLING, EXT_RO_TRIG_OUT_RISING, EXT_RO_TRIG_OUT_FALLING}; - - u_int32_t c; - int off=d*SIGNAL_OFFSET; - c=bus_r(EXT_SIGNAL_REG); - - - if (mode<=RO_TRIGGER_OUT_FALLING_EDGE && mode>=0) { -#ifdef VERBOSE - printf("writing signal register number %d mode %04x\n",d, modes[mode]); -#endif - bus_w(EXT_SIGNAL_REG,((modes[mode])<>off); */ - -/* if (mode=0 && d<4) { -#ifdef VERBOSE - printf("gettings signal variable number %d value %04x\n", d, signals[d]); -#endif - return signals[d]; - } else - return -1; - -} - - -int getFPGASignal(int d) { - - int modes[]={SIGNAL_OFF, GATE_IN_ACTIVE_HIGH, GATE_IN_ACTIVE_LOW,TRIGGER_IN_RISING_EDGE, TRIGGER_IN_FALLING_EDGE,RO_TRIGGER_IN_RISING_EDGE, RO_TRIGGER_IN_FALLING_EDGE, GATE_OUT_ACTIVE_HIGH, GATE_OUT_ACTIVE_LOW, TRIGGER_OUT_RISING_EDGE, TRIGGER_OUT_FALLING_EDGE, RO_TRIGGER_OUT_RISING_EDGE,RO_TRIGGER_OUT_FALLING_EDGE}; - - int off=d*SIGNAL_OFFSET; - int mode=((bus_r(EXT_SIGNAL_REG)&(SIGNAL_MASK<>off); - - if (mode<=RO_TRIGGER_OUT_FALLING_EDGE) { - if (modes[mode]!=SIGNAL_OFF && signals[d]!=MASTER_SLAVE_SYNCHRONIZATION) - signals[d]=modes[mode]; -#ifdef VERBOSE - printf("gettings signal register number %d value %04x\n", d, modes[mode]); -#endif - return modes[mode]; - } else - return -1; - -} - - -/* -enum externalCommunicationMode{ - GET_EXTERNAL_COMMUNICATION_MODE, - AUTO, - TRIGGER_EXPOSURE_SERIES, - TRIGGER_EXPOSURE_BURST, - TRIGGER_READOUT, - TRIGGER_COINCIDENCE_WITH_INTERNAL_ENABLE, - GATE_FIX_NUMBER, - GATE_FIX_DURATION, - GATE_WITH_START_TRIGGER, - GATE_COINCIDENCE_WITH_INTERNAL_ENABLE -}; -*/ - - -int setTiming(int ti) { - - - int ret=GET_EXTERNAL_COMMUNICATION_MODE; - - int g=-1, t=-1, rot=-1; - - int i; - printf("*********************************Setting timing mode %d!\n", ti); - switch (ti) { - case AUTO_TIMING: - timingMode=ti; - // disable all gates/triggers in except if used for master/slave synchronization - for (i=0; i<4; i++) { - if (getFPGASignal(i)>0 && getFPGASignal(i)=0 && t>=0 && rot<0) { - ret=GATE_WITH_START_TRIGGER; - } else if (g<0 && t>=0 && rot<0) { - ret=TRIGGER_EXPOSURE; - } else if (g>=0 && t<0 && rot<0) { - ret=GATE_FIX_NUMBER; - } else if (g<0 && t<0 && rot>0) { - ret=TRIGGER_READOUT; - } else if (g<0 && t<0 && rot<0) { - ret=AUTO_TIMING; - } - - // timingMode=ret; - - return ret; - -} - - - - -int setConfigurationRegister(int d) { -#ifdef VERBOSE - printf("Setting configuration register to %x",d); -#endif - if (d>=0) { - bus_w(CONFIG_REG,d); - } -#ifdef VERBOSE - printf("configuration register is %x", bus_r(CONFIG_REG)); -#endif - return bus_r(CONFIG_REG); -} - -int setToT(int d) { - // int ret=0; - int reg; -#ifdef VERBOSE - printf("Setting ToT to %d\n",d); -#endif - reg=bus_r(CONFIG_REG); -#ifdef VERBOSE - printf("Before: ToT is %x\n", reg); -#endif - if (d>0) { - bus_w(CONFIG_REG,reg|TOT_ENABLE_BIT); - } else if (d==0) { - bus_w(CONFIG_REG,reg&(~TOT_ENABLE_BIT)); - } - reg=bus_r(CONFIG_REG); -#ifdef VERBOSE - printf("ToT is %x\n", reg); -#endif - if (reg&TOT_ENABLE_BIT) - return 1; - else - return 0; -} - -int setContinousReadOut(int d) { - // int ret=0; - int reg; -#ifdef VERBOSE - printf("Setting Continous readout to %d\n",d); -#endif - reg=bus_r(CONFIG_REG); -#ifdef VERBOSE - printf("Before: Continous readout is %x\n", reg); -#endif - if (d>0) { - bus_w(CONFIG_REG,reg|CONT_RO_ENABLE_BIT); - } else if (d==0) { - bus_w(CONFIG_REG,reg&(~CONT_RO_ENABLE_BIT)); - } - reg=bus_r(CONFIG_REG); -#ifdef VERBOSE - printf("Continous readout is %x\n", reg); -#endif - if (reg&CONT_RO_ENABLE_BIT) - return 1; - else - return 0; -} - - -u_int64_t getMcsNumber() { - - FILE *fp=NULL; - u_int64_t res; - char line[150]; - int a[6]; - - int n=0, i; - //u_int64_t a0,a1,a2,a3,a4,a5,n=0; - fp=fopen("/etc/conf.d/mac","r"); - if (fp==NULL) { - printf("could not ope MAC file\n");; - return -1; - } - while (fgets(line,150,fp)) { - //MAC="00:40:8C:CD:00:00" - printf(line); - if (strstr(line,"MAC=")) - n=sscanf(line,"MAC=\"%x:%x:%x:%x:%x:%x\"",a+5,a+4,a+3,a+2,a+1,a); - } - fclose(fp); - if (n!=6){ - printf("could not scan MAC address\n");; - return -1; - } - res=0; - for (i=0; i=(FPGA_VERSION_VAL&0x00ffffff)) { - printf("FPGA version ok!! %06x\n",val); - } else { - printf("FPGA version too old! %06x\n",val); - return FAIL; - } - //dummy register - val=0xF0F0F0F0; - bus_w(DUMMY_REG, val); - val=bus_r(DUMMY_REG); - if (val==0xF0F0F0F0) { - printf("FPGA dummy register ok!! %x\n",val); - } else { - printf("FPGA dummy register wrong!! %x instead of 0xF0F0F0F0 \n",val); - result=FAIL; - // return FAIL; - } - //dummy register - val=0x0F0F0F0F; - bus_w(DUMMY_REG, val); - val=bus_r(DUMMY_REG); - if (val==0x0F0F0F0F) { - printf("FPGA dummy register ok!! %x\n",val); - } else { - printf("FPGA dummy register wrong!! %x instead of 0x0F0F0F0F \n",val); - result=FAIL; - // return FAIL; - } - // } - return result; -} - - -// for fpga test -u_int32_t testRAM(void) { - int result=OK; - int i=0; - allocateRAM(); - // while(i<100000) { - memcpy(ram_values, values, dataBytes); - printf ("%d: copied fifo %x to memory %x size %d\n",i++, values, ram_values, dataBytes); - // } - return result; -} - -int getNModBoard() { - int nmodboard; - u_int32_t val; - val=bus_r(FPGA_VERSION_REG)&0xff000000; - - // printf("version register %08x\n",val); - nmodboard=val >> 24; - #ifdef VERY_VERBOSE - printf("The board hosts %d modules\n",nmodboard); - #endif - nModBoard=nmodboard; - //getNModBoard()=nmodboard; - return nmodboard; -} - -int setNMod(int n) { - - // int fifo; - // int ifsta, ifsto, ifste; - int imod; - int rval; - int reg; - int nf=0; - int shiftfifo=SHIFTFIFO; - int ntot=getNModBoard(); - if (getProbes()==0) { - switch (dynamicRange) { - case 16: - shiftfifo=SHIFTFIFO-1; - break; - case 8: - shiftfifo=SHIFTFIFO-2; - break; - case 4: - shiftfifo=SHIFTFIFO-3; - break; - case 1: - shiftfifo=SHIFTFIFO-5; - break; - default: - shiftfifo=SHIFTFIFO; - } - } else - shiftfifo=SHIFTFIFO; - - - //#ifdef VERBOSE - printf("SetNMod called arg %d -- dr %d shiftfifo %d\n",n,dynamicRange,shiftfifo); - //#endif - if (n>=0 && n<=ntot) { - nModX=n; - - /*d isable the fifos relative to the unused modules */ - for (ififo=0; ififo>FIFO_NM_OFF, (reg&FIFO_NC_MASK)>>FIFO_NC_OFF, FIFO_COUNTR_REG_OFF+(ififo<>FIFO_NM_OFF, (reg&FIFO_NC_MASK)>>FIFO_NC_OFF, FIFO_COUNTR_REG_OFF+(ififo<> 32; - vMSB=v64&(0xffffffff); - bus_w(aMSB,vMSB); - } - return get64BitReg(aLSB, aMSB); - -} - -int64_t get64BitReg(int aLSB, int aMSB){ - int64_t v64; - u_int32_t vLSB,vMSB; - vMSB=bus_r(aMSB); - vLSB=bus_r(aLSB); - v64=vMSB; - v64=(v64<<32) | vLSB; -#ifdef VERBOSE - printf("MSB %08x LSB %08x, %016llx\n", vMSB, vLSB, v64); -#endif - - return v64; -} - -int64_t setFrames(int64_t value){ - return set64BitReg(value, SET_FRAMES_LSB_REG, SET_FRAMES_MSB_REG); -} - -int64_t getFrames(){ - return get64BitReg(GET_FRAMES_LSB_REG, GET_FRAMES_MSB_REG); -} - -int64_t setExposureTime(int64_t value){ - /* time is in ns */ - if (value!=-1) - value*=(1E-9*CLK_FREQ); - - if (masterMode==IS_SLAVE && syncMode==MASTER_GATES) - setGates(1); - - return set64BitReg(value,SET_EXPTIME_LSB_REG, SET_EXPTIME_MSB_REG)/(1E-9*CLK_FREQ); -} - -int64_t getExposureTime(){ - return get64BitReg(GET_EXPTIME_LSB_REG, GET_EXPTIME_MSB_REG)/(1E-9*CLK_FREQ); -} - -int64_t setGates(int64_t value){ - return set64BitReg(value, SET_GATES_LSB_REG, SET_GATES_MSB_REG); -} - -int64_t getGates(){ - return get64BitReg(GET_GATES_LSB_REG, GET_GATES_MSB_REG); -} - -int64_t setPeriod(int64_t value){ - /* time is in ns */ - if (value!=-1) { - value*=(1E-9*CLK_FREQ); - } - - - - return set64BitReg(value,SET_PERIOD_LSB_REG, SET_PERIOD_MSB_REG)/(1E-9*CLK_FREQ); -} - -int64_t getPeriod(){ - return get64BitReg(GET_PERIOD_LSB_REG, GET_PERIOD_MSB_REG)/(1E-9*CLK_FREQ); -} - -int64_t setDelay(int64_t value){ - /* time is in ns */ - if (value!=-1) { - value*=(1E-9*CLK_FREQ); - } - return set64BitReg(value,SET_DELAY_LSB_REG, SET_DELAY_MSB_REG)/(1E-9*CLK_FREQ); -} - -int64_t getDelay(){ - return get64BitReg(GET_DELAY_LSB_REG, GET_DELAY_MSB_REG)/(1E-9*CLK_FREQ); -} - -int64_t setTrains(int64_t value){ - return set64BitReg(value, SET_TRAINS_LSB_REG, SET_TRAINS_MSB_REG); -} - -int64_t getTrains(){ - return get64BitReg(GET_TRAINS_LSB_REG, GET_TRAINS_MSB_REG); -} - - -int64_t setProbes(int64_t value){ - int ow; - int nm=setNMod(-1); - switch (getDynamicRange()) { - case 32: - ow=1; - break; - case 16: - ow=2; - break; - case 8: - ow=3; - break; - case 4: - ow=4; - break; - case 1: - ow=5; - break; - default: - ow=1; - } - if (value>=0) { - setCSregister(ALLMOD); - initChipWithProbes(0, ow,value, ALLMOD); - putout("0000000000000000",ALLMOD); - setNMod(nm); - getDynamicRange(); // needed to change dataBytes - } - return getProbes(); -} - - -int64_t setProgress() { - - //????? eventually call after setting the registers - return 100; -} - - -int64_t getProgress() { - - - //should be done in firmware!!!! - return 0; - -} - - -int64_t getActualTime(){ - return get64BitReg(GET_ACTUAL_TIME_LSB_REG, GET_ACTUAL_TIME_MSB_REG)/(1E-9*CLK_FREQ); -} - -int64_t getMeasurementTime(){ - int64_t v=get64BitReg(GET_MEASUREMENT_TIME_LSB_REG, GET_MEASUREMENT_TIME_MSB_REG); - int64_t mask=0x8000000000000000; - - if (v & mask ) { -#ifdef VERBOSE - printf("no measurement time left\n"); -#endif - return -1E+9; - } else - return v/(1E-9*CLK_FREQ); -} - - - -int64_t getProbes(){ - u_int32_t shiftin=bus_r(GET_SHIFT_IN_REG); - u_int32_t np=(shiftin >>PROBES_OFF) & PROBES_MASK; -#ifdef VERYVERBOSE - printf("%08x ",shiftin); - printf("probes==%01x\n",np); -#endif - - return np; - -} - - -int setDACRegister(int idac, int val, int imod) { - u_int32_t addr, reg, mask; - int off; -#ifdef VERBOSE - printf("Settings dac %d module %d register to %d\n",idac,imod,val); -#endif - if ((idac%2)==0) { - addr=MOD_DACS1_REG; - } else { - addr=MOD_DACS2_REG; - } - off=(idac%3)*10; - mask=~((0x3ff)<=0 && val>off)&0x3ff; -#ifdef VERBOSE - printf("Dac %d module %d register is %d\n",idac,imod,val); -#endif - return val; -} - - - - -u_int32_t runBusy(void) { - return bus_r(STATUS_REG)&RUN_BUSY_BIT; -} - -u_int32_t dataPresent(void) { - return bus_r(LOOK_AT_ME_REG); -} - -u_int32_t runState(void) { - int s=bus_r(STATUS_REG); -#ifdef SHAREDMEMORY - if (s&RUN_BUSY_BIT) - write_status_sm("Running"); - else - write_status_sm("Stopped"); - - write_istatus_sm(s); - -#endif -#ifdef VERBOSE - printf("status %08x\n",s); -#endif - return s; -} - - -// State Machine - -u_int32_t startStateMachine(){ -#ifdef VERBOSE - printf("Starting State Machine\n"); -#endif - fifoReset(); - now_ptr=(char*)ram_values; -#ifdef SHAREDMEMORY - write_stop_sm(0); - write_status_sm("Started"); -#endif -#ifdef MCB_FUNCS - setCSregister(ALLMOD); - clearSSregister(ALLMOD); -#endif - putout("0000000000000000",ALLMOD); - bus_w(CONTROL_REG, START_ACQ_BIT | START_EXPOSURE_BIT); - return OK; -} - - - - -u_int32_t stopStateMachine(){ - -#ifdef VERBOSE - printf("Stopping State Machine\n"); -#endif -#ifdef SHAREDMEMORY - write_stop_sm(1); - write_status_sm("Stopped"); -#endif - bus_w(CONTROL_REG, STOP_ACQ_BIT); - usleep(500); - if (!runBusy()) - return OK; - else - return FAIL; -} - - -u_int32_t startReadOut(){ - u_int32_t status; -#ifdef VERBOSE - printf("Starting State Machine Readout\n"); -#endif - status=bus_r(STATUS_REG)&RUN_BUSY_BIT; -#ifdef DEBUG - printf("State machine status is %08x\n",bus_r(STATUS_REG)); -#endif - bus_w(CONTROL_REG, START_ACQ_BIT |START_READOUT_BIT); // start readout - return OK; -} - - -// fifo routines - -u_int32_t fifoReset(void) { -#ifdef DEBUG - printf("resetting fifo\n"); -#endif - bus_w(FIFO_CNTRL_REG_OFF+(ALLFIFO<128) - printf("chip %d ch %d %d\n",ichip/128, ichip%128, (fifoReadCounter(ichip/128)&FIFO_COUNTER_MASK)); -#endif - } - //#endif - */ - - - -#ifdef VERYVERBOSE - printf("Copying to ptr %x %d\n",now_ptr, dataBytes); - printf("after readout %08x %08x\n", runState(), bus_r(LOOK_AT_ME_REG)); - for (ichip=0; ichip0) { - now_ptr+=dataBytes; - } - return ram_values; -} - - - -u_int32_t* decode_data(int *datain) -{ - u_int32_t *dataout; - // const char one=1; - const int bytesize=8; - char *ptr=(char*)datain; - //int nbits=dynamicRange; - int ipos=0, ichan=0;; - //int nch, boff=0; - int ibyte;//, ibit; - char iptr; - -#ifdef VERBOSE - printf("Decoding data for DR %d\n",dynamicRange); -#endif - dataout=malloc(nChans*nChips*nModX*4); - ichan=0; - switch (dynamicRange) { - case 1: - for (ibyte=0; ibyte>(ipos))&0x1; - ichan++; - } - } - break; - case 4: - for (ibyte=0; ibyte>(ipos*4))&0xf; - ichan++; - } - } - break; - case 8: - for (ichan=0; ichan0) { - nm=setNMod(-1); - if (dr==1) { - dynamicRange=1; - ow=5; - } else if (dr<=4) { - dynamicRange=4; - ow=4; - } else if (dr<=8) { - dynamicRange=8; - ow=3; - } else if (dr<=16) { - dynamicRange=16; - ow=2; - } else { - dynamicRange=32; - ow=0; //or 1? - } - setCSregister(ALLMOD); - initChipWithProbes(0, ow,np, ALLMOD); - putout("0000000000000000",ALLMOD); - setNMod(nm); - } - - - return getDynamicRange(); -} - - - - - - -int getDynamicRange() { - int dr; - u_int32_t shiftin=bus_r(GET_SHIFT_IN_REG); - u_int32_t outmux=(shiftin >> OUTMUX_OFF) & OUTMUX_MASK; - u_int32_t probes=(shiftin >> PROBES_OFF) & PROBES_MASK; -#ifdef VERYVERBOSE - printf("%08x ",shiftin); - printf("outmux=%02x probes=%d\n",outmux,probes); -#endif - - switch (outmux) { - case 2: - dr=16; - break; - case 4: - dr=8; - break; - case 8: - dr=4; - break; - case 16: - dr=1; - break; - default: - dr=32; - } - dynamicRange=dr; - if (probes==0) { - dataBytes=nModX*nModY*NCHIP*NCHAN*dynamicRange/8; - } else { - dataBytes=nModX*nModY*NCHIP*NCHAN*4;/// - } -#ifdef VERBOSE - printf("Number of data bytes %d - probes %d dr %d\n", dataBytes, probes, dr); -#endif - if (allocateRAM()==OK) { - ; - } else - printf("ram not allocated\n"); - - return dynamicRange; - -} - -int testBus() { - u_int32_t j; - u_int64_t i, n, nt; - //char cmd[100]; - u_int32_t val=0x0; - int ifail=OK; - // printf("%s\n",cmd); - // system(cmd); - i=0; - - n=1000000; - nt=n/100; - printf("testing bus %d times\n",n); - while (i0) - storeInRAM=1; - else - storeInRAM=0; - return allocateRAM(); -} - - -int allocateRAM() { - size_t size; - u_int32_t nt, nf; - nt=setTrains(-1); - nf=setFrames(-1); - if (nt==0) nt=1; - if (nf==0) nf=1; - // ret=clearRAM(); - if (storeInRAM) { - size=dataBytes*nf*nt; - if (size -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -int mapCSP0(void); -u_int32_t bus_w(u_int32_t offset, u_int32_t data); -u_int32_t bus_r(u_int32_t offset); - - -u_int32_t putout(char *s, int modnum); -u_int32_t readin(int modnum); -u_int32_t setClockDivider(int d); -u_int32_t getClockDivider(); -u_int32_t setSetLength(int d); -u_int32_t getSetLength(); -u_int32_t setWaitStates(int d); -u_int32_t getWaitStates(); -u_int32_t setTotClockDivider(int d); -u_int32_t getTotClockDivider(); -u_int32_t setTotDutyCycle(int d); -u_int32_t getTotDutyCycle(); - -u_int32_t setExtSignal(int d, enum externalSignalFlag mode); -int getExtSignal(int d); - -u_int32_t setFPGASignal(int d, enum externalSignalFlag mode); -int getFPGASignal(int d); - -int setTiming(int t); - - - - - - -int setConfigurationRegister(int d); -int setToT(int d); -int setContinousReadOut(int d); - -int setDACRegister(int idac, int val, int imod); - - -u_int64_t getMcsNumber(); -u_int32_t getMcsVersion(); -u_int32_t testFifos(void); -u_int32_t testFpga(void); -u_int32_t testRAM(void); -int testBus(void); -int64_t set64BitReg(int64_t value, int aLSB, int aMSB); -int64_t get64BitReg(int aLSB, int aMSB); - -int64_t setFrames(int64_t value); -int64_t getFrames(); - -int64_t setExposureTime(int64_t value); -int64_t getExposureTime(); - -int64_t setGates(int64_t value); -int64_t getGates(); - -int64_t setDelay(int64_t value); -int64_t getDelay(); - -int64_t setPeriod(int64_t value); -int64_t getPeriod(); - -int64_t setTrains(int64_t value); -int64_t getTrains(); - -int64_t setProbes(int64_t value); -int64_t getProbes(); - -int64_t getProgress(); -int64_t setProgress(); - -int64_t getActualTime(); -int64_t getMeasurementTime(); - -u_int32_t runBusy(void); -u_int32_t runState(void); -u_int32_t dataPresent(void); - - -u_int32_t startStateMachine(); -u_int32_t stopStateMachine(); -u_int32_t startReadOut(); -u_int32_t fifoReset(void); -u_int32_t fifoReadCounter(int fifonum); -u_int32_t fifoReadStatus(); - - -u_int32_t fifo_full(void); - - - -u_int32_t* fifo_read_event(); -u_int32_t* decode_data(int* datain); -//u_int32_t move_data(u_int64_t* datain, u_int64_t* dataout); -int setDynamicRange(int dr); -int getDynamicRange(); -int getNModBoard(); -int setNMod(int n); -int setStoreInRAM(int b); -int allocateRAM(); -int clearRAM(); - - -int setMaster(int f); -int setSynchronization(int s); - - -/* - -u_int32_t setNBits(u_int32_t); -u_int32_t getNBits(); -*/ - -/* -//move to mcb_funcs? - -int readOutChan(int *val); -u_int32_t getModuleNumber(int modnum); -int testShiftIn(int imod); -int testShiftOut(int imod); -int testShiftStSel(int imod); -int testDataInOut(int num, int imod); -int testExtPulse(int imod); -int testExtPulseMux(int imod, int ow); -int testDataInOutMux(int imod, int ow, int num); -int testOutMux(int imod); -int testFpgaMux(int imod); -int calibration_sensor(int num, int *values, int *dacs) ; -int calibration_chip(int num, int *values, int *dacs); -*/ - - -#endif diff --git a/slsDetectorSoftware/mythenDetectorServer/gitInfo.txt b/slsDetectorSoftware/mythenDetectorServer/gitInfo.txt deleted file mode 100644 index ac5d755fc..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/gitInfo.txt +++ /dev/null @@ -1,9 +0,0 @@ -Path: slsDetectorsPackage/slsDetectorSoftware/mythenDetectorServer -URL: -Repository Root: -Repsitory UUID: -Revision: 0 -Branch: -Last Changed Author: _ -Last Changed Rev: 0 -Last Changed Date: 2018-01-30 10:42:45.000000000 +0100 ./Makefile diff --git a/slsDetectorSoftware/mythenDetectorServer/gitInfoMythen.h b/slsDetectorSoftware/mythenDetectorServer/gitInfoMythen.h deleted file mode 100644 index 5fefed3fd..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/gitInfoMythen.h +++ /dev/null @@ -1,6 +0,0 @@ -#define GITURL "URL:" -#define GITREPUUID "UUID:" -#define GITAUTH "_" -#define GITREV 0x0 -#define GITDATE 0x20180130 -#define GITBRANCH "Branch:" diff --git a/slsDetectorSoftware/mythenDetectorServer/gitInfoMythenTmp.h b/slsDetectorSoftware/mythenDetectorServer/gitInfoMythenTmp.h deleted file mode 100644 index dfd9bb246..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/gitInfoMythenTmp.h +++ /dev/null @@ -1,6 +0,0 @@ -#define GITURL "" -#define GITREPUUID "" -#define GITAUTH "" -#define GITREV "" -#define GITDATE "" -#define GITBRANCH "" diff --git a/slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c b/slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c deleted file mode 100755 index 70a995cd0..000000000 --- a/slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c +++ /dev/null @@ -1,2716 +0,0 @@ -#ifdef MCB_FUNCS - -#include -#include -#include -#include -#include -#include "registers.h" - -#ifndef PICASSOD -#include "server_defs.h" -#else -#include "picasso_defs.h" -#endif -#include "firmware_funcs.h" -#include "mcb_funcs.h" - -/* global variables */ -#undef DEBUG -#undef DEBUGOUT - -extern int nModX; -extern int nModBoard; -extern int dataBytes; -extern int dynamicRange; -const int nChans=NCHAN; -const int nChips=NCHIP; -const int nDacs=NDAC; -const int nAdcs=NADC; -const enum detectorType myDetectorType=MYTHEN; -enum detectorSettings thisSettings; - -int sChan, sChip, sMod, sDac, sAdc; -const int allSelected=-2; -const int noneSelected=-1; - - -sls_detector_module *detectorModules=NULL; -int *detectorChips=NULL; -int *detectorChans=NULL; -dacs_t *detectorDacs=NULL; -dacs_t *detectorAdcs=NULL; -//int numberOfProbes; - - - - - - - - -int initDetector() { - int imod; - // sls_detector_module *myModule; - int n=getNModBoard(); - nModX=n; - //#ifdef VERBOSE - printf("Board is for %d modules\n",n); - //#endif - detectorModules=malloc(n*sizeof(sls_detector_module)); - detectorChips=malloc(n*NCHIP*sizeof(int)); - - detectorChans=malloc(n*NCHIP*NCHAN*sizeof(int)); - detectorDacs=malloc(n*NDAC*sizeof(dacs_t)); - detectorAdcs=malloc(n*NADC*sizeof(dacs_t)); - //#ifdef VERBOSE - printf("modules from 0x%x to 0x%x\n",detectorModules, detectorModules+n); - printf("chips from 0x%x to 0x%x\n",detectorChips, detectorChips+n*NCHIP); - printf("chans from 0x%x to 0x%x\n",detectorChans, detectorChans+n*NCHIP*NCHAN); - printf("dacs from 0x%x to 0x%x\n",detectorDacs, detectorDacs+n*NDAC); - printf("adcs from 0x%x to 0x%x\n",detectorAdcs, detectorAdcs+n*NADC); - //#endif - for (imod=0; imoddacs=detectorDacs+imod*NDAC; - (detectorModules+imod)->adcs=detectorAdcs+imod*NADC; - (detectorModules+imod)->chipregs=detectorChips+imod*NCHIP; - (detectorModules+imod)->chanregs=detectorChans+imod*NCHIP*NCHAN; - (detectorModules+imod)->ndac=NDAC; - (detectorModules+imod)->nadc=NADC; - (detectorModules+imod)->nchip=NCHIP; - (detectorModules+imod)->nchan=NCHIP*NCHAN; - (detectorModules+imod)->module=imod; - (detectorModules+imod)->gain=0; - (detectorModules+imod)->offset=0; - (detectorModules+imod)->reg=0; - /* initialize registers, dacs, retrieve sn, adc values etc */ - } - printf("modules done\n"); - thisSettings=UNINITIALIZED; - sChan=noneSelected; - sChip=noneSelected; - sMod=noneSelected; - sDac=noneSelected; - sAdc=noneSelected; - setCSregister(ALLMOD); - setSSregister(ALLMOD); - counterClear(ALLMOD); - clearSSregister(ALLMOD); - putout("0000000000000000",ALLMOD); - - printf("dr\n"); - /* initialize dynamic range etc. */ - dynamicRange=getDynamicRange(); - printf("nmod\n"); - nModX=setNMod(-1); - printf("done\n"); - - - - - - //dataBytes=nModX*NCHIP*NCHAN*4; - // dynamicRange=32; - // initChip(0, 0,ALLMOD); - //nModX=n; - // - // allocateRAM(); - - - - - return OK; -} - - - - -int copyChannel(sls_detector_channel *destChan, sls_detector_channel *srcChan) { - destChan->chan=srcChan->chan; - destChan->chip=srcChan->chip; - destChan->module=srcChan->module; - destChan->reg=srcChan->reg; - return OK; -} - - -int copyChip(sls_detector_chip *destChip, sls_detector_chip *srcChip) { - - int ichan; - int ret=OK; - if ((srcChip->nchan)>(destChip->nchan)) { - printf("Number of channels of source is larger than number of channels of destination\n"); - return FAIL; - } - - destChip->nchan=srcChip->nchan; - destChip->reg=srcChip->reg; - destChip->chip=srcChip->chip; - destChip->module=srcChip->module; - for (ichan=0; ichan<(srcChip->nchan); ichan++) { - *((destChip->chanregs)+ichan)=*((srcChip->chanregs)+ichan); - } - return ret; -} - - -int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod) { - - int ichip, idac, ichan, iadc; - - int ret=OK; - -#ifdef VERBOSE - printf("Copying module %x to module %x\n",srcMod,destMod); -#endif - - if (srcMod->module>=0) { -#ifdef VERBOSE - printf("Copying module number %d to module number %d\n",srcMod->module,destMod->module); -#endif - destMod->module=srcMod->module; - } - if (srcMod->serialnumber>=0){ -/* #ifdef VERBOSE */ -/* printf("Copying module serial number %x to module serial number %x\n",srcMod->serialnumber,destMod->serialnumber); */ -/* #endif */ - destMod->serialnumber=srcMod->serialnumber; - } - if ((srcMod->nchip)>(destMod->nchip)) { - printf("Number of chip of source is larger than number of chips of destination\n"); - return FAIL; - } - if ((srcMod->nchan)>(destMod->nchan)) { - printf("Number of channels of source is larger than number of channels of destination\n"); - return FAIL; - } - if ((srcMod->ndac)>(destMod->ndac)) { - printf("Number of dacs of source is larger than number of dacs of destination\n"); - return FAIL; - } - if ((srcMod->nadc)>(destMod->nadc)) { - printf("Number of dacs of source is larger than number of dacs of destination\n"); - return FAIL; - } - -#ifdef VERBOSE - printf("DACs: src %d, dest %d\n",srcMod->ndac,destMod->ndac); - printf("ADCs: src %d, dest %d\n",srcMod->nadc,destMod->nadc); - printf("Chips: src %d, dest %d\n",srcMod->nchip,destMod->nchip); - printf("Chans: src %d, dest %d\n",srcMod->nchan,destMod->nchan); - -#endif - - - - destMod->ndac=srcMod->ndac; - destMod->nadc=srcMod->nadc; - destMod->nchip=srcMod->nchip; - destMod->nchan=srcMod->nchan; - if (srcMod->reg>=0) - destMod->reg=srcMod->reg; -#ifdef VERBOSE - printf("Copying register %x (%x)\n",destMod->reg,srcMod->reg ); -#endif - if (srcMod->gain>=0) - destMod->gain=srcMod->gain; - if (srcMod->offset>=0) - destMod->offset=srcMod->offset; - - // printf("copying gain and offset %f %f to %f %f\n",srcMod->gain,srcMod->offset,destMod->gain,destMod->offset); - - for (ichip=0; ichip<(srcMod->nchip); ichip++) { - if (*((srcMod->chipregs)+ichip)>=0) - *((destMod->chipregs)+ichip)=*((srcMod->chipregs)+ichip); - } - for (ichan=0; ichan<(srcMod->nchan); ichan++) { - if (*((srcMod->chanregs)+ichan)>=0) - *((destMod->chanregs)+ichan)=*((srcMod->chanregs)+ichan); - } - for (idac=0; idac<(srcMod->ndac); idac++) { - if (*((srcMod->dacs)+idac)>=0) - *((destMod->dacs)+idac)=*((srcMod->dacs)+idac); - } - for (iadc=0; iadc<(srcMod->nadc); iadc++) { - if (*((srcMod->adcs)+iadc)>=0) - *((destMod->adcs)+iadc)=*((srcMod->adcs)+iadc); - } - return ret; -} - - - -/* Register commands */ - - -int clearDACSregister(int imod) { - putout("0000000001000000",imod); - putout("0000000101000000",imod); - putout("0000000101000000",imod); - putout("0000000001000000",imod); -#ifdef DEBUG - fprintf(stdout, "Clearing DAC shiftregister\n"); -#endif - /* - sChan=noneSelected; - sChip=noneSelected; - sMod=noneSelected; - sDac=noneSelected; - sAdc=noneSelected; - */ - sDac=0; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return OK; -} - -int nextDAC(int imod) { - putout("0000000001000000",imod); - putout("0000000001001000",imod); - putout("0000000001000000",imod); -#ifdef DEBUG - fprintf(stdout, "Next DAC\n"); -#endif - sDac++; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return OK; -} - - -int clearCSregister(int imod) { - - putout("0000000001000000",imod); - putout("0000100001000000",imod); - putout("0000100001000000",imod); - putout("0000000001000000",imod); -#ifdef DEBUG - fprintf(stdout, "Clearing CS shiftregister\n"); -#endif - /* - sChan=noneSelected; - sMod=noneSelected; - sDac=noneSelected; - sAdc=noneSelected; - */ - sChip=noneSelected; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - //putout("0000000000000000",imod); - return 0; -} - -int setCSregister(int imod){ - - putout("0000000001000000",imod); - putout("0001000001000000",imod); - putout("0001000001000000",imod); - putout("0000000001000000",imod); -#ifdef DEBUG - fprintf(stdout, "Setting CS shiftregister\n"); -#endif - putout("0000000000000000",imod); - sChip=allSelected; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return 0; -} - -int nextChip(int imod){ - - putout("0000000001000000",imod); - putout("0010000001000000",imod); - putout("0000000001000000",imod); -#ifdef DEBUG - fprintf(stdout, "Next Chip\n"); -#endif - sChip++; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return 0; -} - -int firstChip(int imod){ - - putout("0100000001000000",imod); - putout("0110000001000000",imod); - putout("0100000001000000",imod); -#ifdef DEBUG - fprintf(stdout, "First Chip\n"); -#endif - sChip=0; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return 0; -} - -int clearSSregister(int imod){ - int i; - putout("0000011000000000",imod); - for (i=0; i<10; i++) - putout("0000111000000000",imod); - putout("0000011000000000",imod); -#ifdef DEBUG - fprintf(stdout,"Clearing SS shiftregister\n"); -#endif - putout("0000000000000000",imod); - sChan=noneSelected; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return 0; -} - -int setSSregister(int imod){ - int i; - putout("0000011000000000",imod); - for (i=0; i<10; i++) - putout("0001011000000000",imod); - putout("0000011000000000",imod); -#ifdef DEBUG - fprintf(stdout,"Setting SS shiftregister\n"); -#endif - putout("0000000000000000",imod); - sChan=allSelected; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return 0; -} - -int nextStrip(int imod){ - putout("0000011000000000",imod); - putout("0010011000000000",imod); - putout("0000011000000000",imod); -#ifdef DEBUG - fprintf(stdout,"|-"); -#endif - sChan++; - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - return 0; -} - -int selChannel(const int strip,int imod) { - int istrip; - clearSSregister(imod); - nextStrip(imod); - for (istrip=0; istrip=0 && imoddacs[idac]=v; - detectorDacs[ireg+NDAC*imod]=v; - //#ifdef VERBOSE -#ifdef VERBOSE - printf("module=%d index=%d, val=%d addr=%x\n",imod, idac, v, detectorDacs+idac+NDAC*imod); -#endif - - setDACRegister(ireg,v,imod); - - /* - - reg=bus_r(MOD_DACS1_REG+(imod<dacs[idac]=v; - - - - reg=bus_r(MOD_DACS1_REG+(imod<=0) { - initDAC(cs, addr,val, imod); - /*#ifdef VERBOSE - iv=detectorDacs[ind+imod*NDAC]; - printf("module=%d index=%d, cs=%d, addr=%d, dacu=%d, set to %d",imod, ind,cs,addr,val,iv); -#endif - */ - //return val; - } - if (imod>=0 && imodgain,(detectorModules+imod)->offset); -#endif - if ((detectorModules+imod)->gain>0) - myg=(detectorModules+imod)->gain; - else { - if (thisSettings>=0 && thisSettings<3) - myg=g[thisSettings]; - // else - //myg=-1; - } - - if ((detectorModules+imod)->offset>0) - myo=(detectorModules+imod)->offset; - else { - if (thisSettings>=0 && thisSettings<3) - myo=o[thisSettings]; - // else - //myo=-1; - } - - if (myg>0 && myo>0) { - //ethr=(myo-detectorDacs[VTHRESH+imod*NDAC])*1000/myg; - - ethr=(myo-setDACRegister(VTHRESH,-1,imod))*1000/myg; - // else - // ethr=-1; - - } -#ifdef VERBOSE -#ifdef DACS_INT - printf("module=%d gain=%f, offset=%f, dacu=%d\n",imod, myg, myo,setDACRegister(VTHRESH,-1,imod)); -#else - printf("module=%d gain=%f, offset=%f, dacu=%f\n",imod, myg, myo,setDACRegister(VTHRESH,-1,imod)); -#endif - printf("Threshold energy of module %d is %d eV\n", imod, ethr); -#endif - - if (imod==0) - ret=ethr; - else { - if (ethr>(ret+100) || ethr<(ret-100)) - return FAIL; - } - } - } - return ret; -} - -int setThresholdEnergy(int ethr) { - float g[3]=DEFAULTGAIN; - float o[3]=DEFAULTOFFSET; - float myg=-1, myo=-1; - int dacu; - int imod; - int ret=ethr; - - setSettings(GET_SETTINGS); - if (thisSettings>=0 || thisSettings<3){ - myg=g[thisSettings]; - myo=o[thisSettings]; - } - for (imod=0; imodgain>0) - myg=(detectorModules+imod)->gain; - else - if (thisSettings>=0 && thisSettings<3) - myg=g[thisSettings]; - else - myg=-1; - if ((detectorModules+imod)->offset>0) - myo=(detectorModules+imod)->offset; - else - if (thisSettings>=0 && thisSettings<3) - myo=o[thisSettings]; - else - myo=-1; - } else { - if (thisSettings>=0 && thisSettings<3) - myo=o[thisSettings]; - else - myo=-1; - if (thisSettings>=0 && thisSettings<3) - myg=g[thisSettings]; - else - myg=-1; - } - if (myg>0 && myo>0) { - dacu=myo-myg*((float)ethr)/1000.; -#ifdef VERBOSE - printf("module %d (%x): gain %f, off %f, energy %d eV, dac %d\n",imod,(detectorModules+imod),(detectorModules+imod)->gain,(detectorModules+imod)->offset, ethr,dacu); -#endif - } else { - dacu=ethr; -#ifdef VERBOSE - printf("could not set threshold energy for module %d, settings %d (offset is %f; gain is %f)\n",imod,thisSettings,myo,myg); -#endif - } - initDACbyIndexDACU(VTHRESH, dacu, imod); - } - return ret; -} - - - -dacs_t getDACbyIndexDACU(int ind, int imod) { - /* - if (detectorDacs) { - if (imodndac) - return (detectorDacs[ind+imod*NDAC]); - } - return FAIL; - */ - return setDACRegister(ind, -1, imod); -} - - - -int initDAC(int dac_cs, int dac_addr, int value, int imod) { - int i; -#ifdef VERBOSE - printf("Programming dac %d %d with value %d\n", dac_cs, dac_addr, value); -#endif - clearDACSregister(imod); - /*if (dac_cs>0) {*/ - for (i=0; i0) {*/ - for (i=0; i=0) { -#ifdef VERBOSE - fprintf(stdout, "voltage %d\n", *(v+i)); -#endif - program_one_dac(iaddr, *(v+i),imod); - } - nextDAC(imod); - } - } - clearDACSregister(imod); - for (ichip=0; ichip<3; ichip++) { - set_one_dac(imod); - nextDAC(imod); - } - - return 0; -} - - - - -int setSettings(int i) { - int imod, isett, is; - int rgpr[]=RGPRVALS; - int rgsh1[]=RGSH1VALS; - int rgsh2[]=RGSH2VALS; - int irgpr, irgsh1, irgsh2; - - int v[NDAC]; - int ind; - for (ind=0; ind>(NTRIMBITS))&1; - int ae=(reg>>(NTRIMBITS+1))&1; - int coe=(reg>>(NTRIMBITS+2))&1; - int ocoe=(reg>>(NTRIMBITS+3))&1; - int counts=(reg>>(NTRIMBITS+4)); -#ifdef VERBOSE - printf("Initializing channel %d chip %d module %d reg %x\n",myChan.chan,myChan.chip,myChan.module, reg); - printf("trim %d, cae %d, ae %d, coe %d, ocoe %d, counts %d\n",ft, cae, ae, coe, ocoe, counts); -#endif - - if (myChan.chip<0) - setCSregister(myChan.module); - else - selChip(myChan.chip,myChan.module); - - if (myChan.chan<0) - setSSregister(myChan.module); - else - selChannel(myChan.chan,myChan.module); - - initChannel(ft,cae,ae, coe, ocoe, counts,myChan.module); - - setDynamicRange(dynamicRange); - - setCSregister(ALLMOD); - clearSSregister(ALLMOD); - putout("0000000000000000",ALLMOD); - - return myChan.reg; - -} - -int getChannelbyNumber(sls_detector_channel* myChan) { - int imod, ichip, ichan; - imod=myChan->module; - ichip=myChan->chip; - ichan=myChan->chan; - - if (detectorChans) { - if (imod=0) { - if (ichip<(detectorModules+imod)->nchip && ichan<(detectorModules+imod)->nchan/(detectorModules+imod)->nchip) - myChan->reg=detectorChans[imod*NCHAN*NCHIP+ichip*NCHAN+ichan]; - return OK; - } - } - return FAIL; - -} - -int getTrimbit(int imod, int ichip, int ichan) { - if (detectorChans) { - if (imod=0) - if (ichip<(detectorModules+imod)->nchip && ichan<(detectorModules+imod)->nchan/(detectorModules+imod)->nchip) - return (detectorChans[imod*NCHAN*NCHIP+ichip*NCHAN+ichan] & TRIM_DR); - } //else - return -1; - - -} - -int initChannel(int ft,int cae, int ae, int coe, int ocoe, int counts, int imod){ - - int ibit, bit, i, im, ichip, ichan; - int chanmi, chanma, chipmi, chipma, modmi, modma; - - - - sMod=imod; - // printf("initializing module %d\n",sMod); - if (imod==ALLMOD) { - sMod=allSelected; - - // printf("initializing all modules\n"); - } - - if (sChan==allSelected) { - // printf("initializing all channels ft=%d coe=%d\n",ft,coe); - chanmi=0; - chanma=NCHAN; - } else if (sChan==noneSelected || sChan>NCHAN || sChan<0) { - // printf("initializing no channels ft=%d coe=%d\n",ft,coe); - chanmi=0; - chanma=-1; - } else { - // printf("initializing channel %d ft=%d coe=%d\n",sChan, ft,coe); - chanmi=sChan; - chanma=sChan+1; - } - - if (sChip==allSelected) { - // printf("initializing all chips\n"); - chipmi=0; - chipma=NCHIP; - } else if (sChip==noneSelected || sChip>NCHIP || sChip<0) { - // printf("initializing no chips\n"); - chipmi=0; - chipma=-1; - } else { - // printf("initializing chip %d\n",sChip); - chipmi=sChip; - chipma=sChip+1; - } - - - if (sMod==allSelected) { - modmi=0; - modma=nModX;//getNModBoard(); - } else if (sMod==noneSelected || sMod>nModX || sMod<0) {//(sMod==noneSelected || sMod>getNModBoard() || sMod<0) { - modmi=0; - modma=-1; - return 1; - } else { - modmi=sMod; - modma=sMod+1; - } - - if (detectorChans) { - for (im=modmi; im63 || ft<0) { - fprintf(stdout,"Fine Threshold is %d while should be between 0 and 63!",ft); - return 1; - } - /*cal_enable*/ - if (cae) { - putout("0100000000000000",imod); - putout("0110000000000000",imod); - } else { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - } - /*n_an_enable*/ - if (ae) { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - putout("0000000000000000",imod); - } else { - putout("0100000000000000",imod); - putout("0110000000000000",imod); - putout("0100000000000000",imod); - } - /*trb5*/ - ibit=5; - bit=ft & (1<>1; - int nchan, ichan; - int ft, cae, ae, coe, ocoe, counts, chanreg; - - - - nchan=myChip.nchan; - if (ichip<0) - setCSregister(imod); - else - selChip(ichip,imod); - - clearSSregister(imod); - for (ichan=0; ichan>(NTRIMBITS+1))&1; - ae=(chanreg>>(NTRIMBITS+2))&1; - coe=((chanreg)>>(NTRIMBITS+3))&1; - ocoe=((chanreg)>>(NTRIMBITS+4))&1; - counts=((chanreg)>>(NTRIMBITS+5)); - nextStrip(imod); - initChannel(ft,cae,ae, coe, ocoe, counts,imod); - } - initChip(obe,ow,imod); - return myChip.reg; - -} - -int getChipbyNumber(sls_detector_chip* myChip){ - int imod, ichip; - imod=myChip->module; - ichip=myChip->chip; - - if (detectorChips) { - if (imodnchip) { - myChip->reg=detectorChips[ichip+imod*NCHIP]; - myChip->nchan=NCHAN; - myChip->chanregs=detectorChans+imod*NCHAN*NCHIP+ichip*NCHIP; - return OK; - } - } - return FAIL; - -} - - - -int initChip(int obe, int ow,int imod){ - int i; - int im, ichip; - int chipmi, chipma, modmi, modma; - /* switch (ow) { - case 0:; - case 1: - setDynamicRange(32); - break; - case 2: - setDynamicRange(16); - break; - case 3: - setDynamicRange(8); - break; - case 4: - setDynamicRange(4); - break; - case 5: - setDynamicRange(1); - break; - default: - setDynamicRange(32); - break; - } - */ - -#ifdef DEBUGOUT - printf("Initializing chip\n"); -#endif - putout("0000000000000000",imod); -#ifdef DEBUGOUT - printf("Output mode= %d\n", ow); -#endif - - /* clearing shift in register */ - for (i=0; i<10; i++) - putout("0000100000000000",imod); - putout("0000000000000000",imod); - - if (ow>0) { - putout("0100000000000000",imod); - putout("0110000000000000",imod); - putout("0100000000000000",imod); - for (i=0; i<(OUTMUX_OFFSET-1); i++) { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - putout("0000000000000000",imod); - } - if (ow>1) { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - putout("0000000000000000",imod); - } - if (ow>2) { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - putout("0000000000000000",imod); - } - if (ow>3) { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - putout("0000000000000000",imod); - } - if (ow>4) { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - putout("0000000000000000",imod); - } - } -#ifdef DEBUGOUT - printf("Output buffer enable= %d\n", obe); -#endif - if (obe) { - putout("0100000000000000",imod); - putout("0110000000000000",imod); - putout("0100000000000000",imod); - } else { - putout("0000000000000000",imod); - putout("0010000000000000",imod); - putout("0000000000000000",imod); - } - /*}*/ - putout("0000000000000000",imod); - - - - - - sMod=imod; - if (imod==ALLMOD) - sMod=allSelected; - - - if (sChip==allSelected) { - chipmi=0; - chipma=NCHIP; - } else if (sChip==noneSelected || sChip>NCHIP || sChip<0) { - chipmi=0; - chipma=-1; - } else { - chipmi=sChip; - chipma=sChip+1; - } - - - if (sMod==allSelected) { - modmi=0; - modma=nModX;//getNModBoard(); - } else if (sMod==noneSelected || sMod>nModX || sMod<0) {//(sMod==noneSelected || sMod>getNModBoard() || sMod<0) { - modmi=0; - modma=-1; - } else { - modmi=sMod; - modma=sMod+1; - } - - if (detectorChips) { - for (im=modmi; imNCHIP || sChip<0) { - chipmi=0; - chipma=-1; - } else { - chipmi=sChip; - chipma=sChip+1; - } - - - if (sMod==allSelected) { - modmi=0; - modma=nModX;//getNModBoard(); - } else if (sMod==noneSelected || sMod>nModX || sMod<0) {//(sMod==noneSelected || sMod>getNModBoard() || sMod<0) { - modmi=0; - modma=-1; - } else { - modmi=sMod; - modma=sMod+1; - } - - if (detectorChips) { - for (im=modmi; imnModX || sMod<0) {//(sMod==noneSelected || sMod>getNModBoard() || sMod<0) { - modmi=0; - modma=-1; - } else { - modmi=sMod; - modma=sMod+1; - } - - if (detectorModules) { - for (im=modmi; imreg)=cm; -#ifdef VERBOSE - printf("imod=%d reg=%d (%x)\n",im,(detectorModules+im)->reg,(detectorModules+im)); -#endif - } - } - return 0; -} - -int initModulebyNumber(sls_detector_module myMod) { - - - int ichip, nchip, ichan, nchan; - int im, modmi,modma; - int ft, cae, ae, coe, ocoe, counts, chanreg; - int imod; - int obe; - int ow; - int v[NDAC]; - - - nchip=myMod.nchip; - nchan=(myMod.nchan)/nchip; - - imod=myMod.module; - sMod=imod; - - if (sMod==ALLMOD) - sMod=allSelected; - - if (sMod==allSelected) { - modmi=0; - modma=nModX;//getNModBoard(); - } else if (sMod==noneSelected || sMod>nModX || sMod<0) {// (sMod==noneSelected || sMod>getNModBoard() || sMod<0) { - modmi=0; - modma=-1; - } else { - modmi=sMod; - modma=sMod+1; - } - - - /* - for (idac=0; idac>(NTRIMBITS+1))&1; - ae=(chanreg>>(NTRIMBITS+2))&1; - coe=((chanreg)>>(NTRIMBITS+3))&1; - ocoe=((chanreg)>>(NTRIMBITS+4))&1; - counts=((chanreg)>>(NTRIMBITS+5)); - nextStrip(imod); - initChannel(ft,cae,ae, coe, ocoe, counts,imod); - } - obe=((myMod.chipregs)[ichip])&1; - ow=1;//((myMod.chipregs)[ichip])>>1; - initChip(obe,ow,imod); - nextChip(imod); - } - - - initMCBregisters(myMod.reg,imod); - - if (detectorModules) { - for (im=modmi; immodule; -#ifdef VERBOSE - printf("Getting module %d\n",imod); -#endif - if (detectorModules) { - copyModule(myMod,detectorModules+imod); - ; - } else - return FAIL; - - return OK; -} - -/* To chips */ -int clearCounter(int imod){ - int i; -#ifdef DEBUG - printf("Clearing counter with contclear\n"); -#endif - putout("0000000000000000",imod); - for (i=0; i<10; i++) - putout("0000000000010000",imod); - putout("0000000000000000",imod); - - return 0; -} - -int clearOutReg(int imod){ - int i; -#ifdef DEBUG - printf("Clearing output register\n"); -#endif - putout("0000010000000000",imod); - for (i=0; i<10; i++) - putout("0000110000000000",imod); - putout("0000010000000000",imod); - return 0; -} -int setOutReg(int imod){ - int i; -#ifdef DEBUG - printf("Setting output register\n"); -#endif - putout("0000010000000000",imod); - for (i=0; i<10; i++) - putout("0001010000000000",imod); - putout("0000010000000000",imod); - return 0; -} - - -int extPulse(int ncal, int imod) { - int ical; -#ifdef DEBUG - printf("Giving a clock pulse to the counter\n"); -#endif - for (ical=0; ical0 && i%2==0) { - printf("Shift in: module %d chip %i bit %d read %d instead of %d \n",k,j,i,val & 1<< j, i%2); - result++; - } - if (i%2>0 && (val & 1<0 && (dum & (1<0) { - printf("Shift out: module %d chip %i bit %d read %d instead of %d \n",k,j,i,val & 1<< j, (dum &1<0 && i%2==0) { - printf("Shift stsel: module %d chip %i bit %d read %d instead of %d \n",k,j,i,val & 1<< j, i%2); - result++; - } - if (i%2>0 && (val & 1<> 1; - - - putout("0000000000000000",imod); - putout("0010000000000000",imod); //change mux setting - putout("0000000000000000",imod); - } - - printf("Test FpgaMux module %d : %d errors\n", imod,result); - if (result) - return 1; - else - return 0; -} - - - - - - - - - -int calibration_sensor(int num, int *v, int *dacs) { - int ich, ichip, imod; - int val[10]; - - - printf("calibrating sensor..."); - for (imod=0; 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 $?tfYMT(A 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

=S7D)x(TRUp3&|Tm?rNH}Iauj$^8Q^`I4|p%T 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

-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 diff --git a/slsDetectorSoftware/mythenDetectorServer/mythenDetectorServerv2.0.3 b/slsDetectorSoftware/mythenDetectorServer/mythenDetectorServerv2.0.3 deleted file mode 100755 index 62f811a894a206efbf124c5a150ce4414c32142b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384078 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

G#3}F5LdM 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≧Pv5} z3Qn!_q9=>^P+SL{TIZErD&jM6&FJKF6G%Jx$O$%P`Gb_`|pNvjE zuQTv@T>NlGC!dcf(a9$hOgG;6)1ajlaFfP_8(@I|xMI}g`{j=?)Y+A)~W2Y_!=qGK?jV~_*i zj=@AQ1`|34-(jGR!Gw;%&neL{mcXAK^Mvn``zaL$l1SmcJspnfd)Z;ZhO7>FTfO$*21lZW85@pIZb z!(;FZGzLduj&={_7(CsRhj5NRwsdg}p5}?lK=pcjgxqXLn)fg7Xp>;8)@#Of$Q^AT z5$}rYkUQF15%=P1?`RuA4!xs&iIO3Aw5ur5r^KKL*1XsZvTxt+B}RP*KN%3j&`Mtre|6?n(hWSlK{#GyL8_uWLHqYtPJ^03*c51V|dte2cb|VD(mH` za+Ex5CiP+Sei5^?C-q_TagcUsCiP+S1xj>iCiP*H=(HW0$>3o#sSleW^nN=ullrh( zLy10YCWD8~q&{qpXP^$vq&{pmLXy;n%_vEI*!(85s1KWe06BWl!{+Eg51XS0J#3EA zhfRKAbKRz+@Z;={OUOAT%c1#|LmlTM+i1f>^9wXIJJCPfb2(lLVV4YtC0n{UG{=Vv zRM8vVgs^^KiphAK7}nQ1-zjD9_q|dM3(p(!KDPj|YrUzs4!QfussoSXc*x!FMA1GN zS9|w6ALP)x-?fwsx%=Hi$$xeC`!NHD-2Gmme^Ty^P&O`RWg>NwJz-2upkoD`NkcB$+FFLNpt=?=ta2!;c4&^k-3Yxl4Xn1OLQg6R^dY1 zvbvPzQkTzOxKGJamM`nW-?nC5%VJlyEY-CvSL*7OeqGCASGM%lY(@N+@$Wy6R}lP< zdBx!)4|Tcf8q*U=Dtu|%kr2c?hakc;)m-QMIedGGyy>-yi|#%&EjB9?f~-s&l9eJ?F?2OcJF->hF>^y!v&8S(b=+F0OVp%ON1`G-_9~ zoJ7g$CO*X2)hriLqSL6Heluh>%N-2VY1FP}d6W{JM*n#=%S#N@X;fFUT>Ug8x|-!0 zE=kqZEY}`MQl`Atoiy{vX?6I$bd2A~$g)T^w#k@^AeDZ{~c1tX+>w;#geVrFHaraQo^m z-|XZh1t_lkzSg&&|*bsxxYbDabGh#BJ#USo=jWE#NB zBAJCDm!+3QGJ8u!aEjeWDfv{fuh6RQd(dcL|L-h!1#J z3Co8&tj}SM4!$38ea@vUqg|hKt`>O6`kXcYAA4T{7)NoX-K`qomL*HFBugV{G#bs} zOFbj`mPV3o4qGGn;IK9F8L&075%?U*7Xd8UTp=Laz$O6%A$Kq&A;*GA*xUg&*-bVH z5dK_C2st;&5|UlABq9Iz>UB@`ShnMXBw*Swt*Yv(>N?)5dR5=6dPw8*T!d$qe$H+g zyb;eV{hR|b_*y(I{ha&Yv_@V_KZo@CtdZB!&mnbvYvdiRpYtPn$s@0&pYuBk;gNT= zeoisQLTlt@{hT{<5yJX8cfEp?teZcohBY=w+YHw4z$}XWt~Pj(AvJq6MlpU3-Ptx_*(hz;3@wz9u;H2zWT)#rSxZ6 zMJ@g5svs2`z1vGb0Bt)^vc>q7cfg~0Nq?Jymm?^d39ckHm}}v^0l$p04#ktoI^%>+ zMU=`q`LeV=jD`i$#mYK`4rLunaYriaSc*GRS%(#OG(UaIITDew&TW*xrL1!!e=JK` zhqMc;JeT2_rL1$44Bmxjma@*fW$-Ybma@)6a9SggrL6Ns3Sk-0Qr3BjLRbbIt*rA~ zddVY^rK}^s{?IQ?}vQF{tDqe(p$gmX1WU?V|r5jYJh5ojlar)a&+0RPJ$( zM3zsEM10@^hr>w(w6%Bwa`36jQW~&*#WvWIwb8o^A1(K6z%y&3mo|*bJ=frwwbANp18pKi-T?0CV=@kHwE)nNIwezg^QV`Y!j5%a3O> zKk7JArkl)<#EaDHHb2&9@uTIF{1~+WP|1%m%ftNGkj0O-&*jIzqQrANew;Cr`0>}^ z$A{1})H^Oep3VH2NBlUS`BC<^gCFN*@uTIF{CKXDA8idg=Ew81_|f*c{CLXzNN1dK zwD-&+e*8uniml%RFS`6F&n%yndzOS4>f?zYul2~4Gxaw0x;;N$oS(2wz z1L8fY(URwjlzW!sNjgH729i8!Lo`P#nnRrR(SEeZ z_qmAFBGdJS>bmpwXph^wgAZO;0VHPg}l|5q%=DrRN7$32ulF8!X!DBG<; z(0h@``zfEz@PK?RWjk8)NoBkD>4ONC%69Liz+)-f(MqsVt^~7`?Pw)f>7kWima-jb znpS!qz|&H;Be2q9Q%l+IKPiOS)Ka$lErl?fj#joS1SePvL`&H&Kq1Vgqm}L2=q0l$ zE8E>U9U-i2ch@9x@&fTGDk5(k3xuAOvKzP>u2{0>SX=L|j50Y7X%^!*Aqfx0 z_sj67k@7vP=Tu-H^?nMlZq=xix=2;5i$r|tl^ZsdQWvS3b&-foy^>9RQWvS3b&-fo zy^>9Jfwab zA^}L&+~{Rq%mo8j zbE8-BqL+CwNH2MA^fE72AjHeOSU^tZ#Yd5?mwEB$a8@~ZvC6@VRSsUPW?sAjndrK2 z9sXFS9>0StCOrC*ofzVN0DS@UjLVB>DK9Pnt>_mKV|C@~|)(?n+I7FB8vyFM6wEb@;HkJ>5NE)JR_3DgLlec zI(cmIpyTAR#e*cmX7k|JDdc!ONa}{!JV=P{ae2^j^4Q`*(k8cfkPabRJos^BV)5W} zaGnAW^2uYLJb6suNRGC=jd(D!3pt`U=;!j_S;~V>t#uuAQ|fsUQ(TtTx>p8|!81#1 zy+H>1@wBwo=fi2uPL|gCB^1K5lclwuq7dec(OT<6^pZDNEUoq1DTG&UqqWu_qL(~7 zvDW&XB)qcL`dxRClV>N|8e*;Wk)3d!l-9bOovx__H$ZEBGHI>^ZyO~ zuV0M>;v+h_iT$ab`dbRtY2rcodR4)C+qrt&T8jHo%0|Dq@M5Hxjuc7!ib!2f92ulH zYl~YEG8ez`yD0v@P^hMrd>ip8?p63g=?nDfRi(eCKda0Bm;PK*MpUV;tWc>QY&7A?CBF_M5L4wq>~Q~3eTAG zB?vh{MN04;krk+AJJqrRb(D_rvWA^h!}0qm=AuD3y){T!neH9X#DydzYTg(ExOS^4 zg65rfR6rF+f2WMDRZHIUNy#veHY#g8RF-Nf8TzGUn7=~?6W7#A$5ZkhW=h^`S0n}3sgUV1K;{W|m=>GqOa$QwypaJ#OHF? zhP3}FxF5!^jJB$g%Ut}S_b*W{7gC&6#k32JT-MQ_OU7@aKWj=pj?A7x#NXgIp3c$a z94gjIXgn)G(n9>oZbhh8^8XM--eUa5-%E*CYNb!XL!TH=yJM6R|0c|V+hR^~=9Cjp zlB=9Jk{pGKA1l0y11k!hd}mYtgd<4dq<+e;-Of)sI6q1Kg^KzsrAXwU{z{UR_!~_9 zl_V)S11h{Sx<&oY1G;(til{yhm4){VYnb|(=VyNhN=H$8B8}PPit>VHMPUP}WqJ6Dfeh)5F=X+D01 zk^*w%zOBBp$V5;KzhX%YV`MM}ttXL!VsAjUk{Gf6eV#tMy7a&3&&8#3FkUn6diXjK zaXo&e=TPGxGPH4bA#@NS`zUlWLP5UcK7v3BxDLOv3hJz)1hS`3l+LnJW=7!&=OJVi z9a7bZuG`5`p+?~fMTcHGHkUOD(`mX2Sv_kMo_SQj2}WUBQq*{;ELo%Q6*71wo>`+X z$tyLUZFp+mt0X!sIG^aS^{tvVf?84^xmJ_WIIh)X*J`qBHCZ!O+5|I-sGcKZBt|D6-IU%n>TbRaM z6Vm51#^k}bm-7r5A&i>FAp63`halb?L+qPu5bR~_W1neslka-=H5xN1mmA5hLr!QW z?$xKm7zJ;^XQ!c%VPl>__YWGwSIfd`Mvw}0fPEgLihQ?oR)+C774MzwD=S<4e;SmlltmsP<)ig>vO(~dY;0!wJ(ZG~7% zicd_!B0@ZbBhSU+nE=);TFHlsAaWO_aUn>;?Q^yo%j|ppx8WvKKgOoMUgL#Acq3+0`|$qiN|1OrBGa3MjxGl_{AcP zP8u(MHWf>D@zy%*mWtowSte${jNAm#6vJ{wywHgChxh=#Ibhv24d651|dqscQUNMA*El4p6~#Qsv<4%pS0%^nQMa@RaayXK{1-ijDS9?Fr; zafWE$ur%*B89aoi<8Wwc{{1reU3i9+InEH9<0SL1mO0Ld!yIR5X$401`XA%%I8TVp zaXw2K+=wNR2=rmG6QcW!L>smk#bdNAq|9-KFkxt77A+$}Y>rcYkj-&Y)*%8DM6>)Lo8x>R zLW?|;=pCEm^pTUzah^lYi%@zoPdYzDiRX`}P&UUYL)jdsbSiV4q03M`ae>U2j`4~G zvQQUcRUzIYi$fPvh+gSb<~T#EsJxrxCzLtP5S!zabz^g! zvKDNPlWRfA_Q+5+$0V?)ik3h1eXYOx#C_mw6B^q|9-Kehv!EqQ51IQd_h|O`%k^$dDVM1(JNuo8zSB4h7IoQUx6L+hxoFQe7Gh&(Jd>L63dH#%NX$clGOnu}kqX%Aj@n>>~&2i2GDTUY^=X`RqInL|x z5jMv;Wjzk17kV*!>!Dv>h~?G!K#jD}FUWa;oMlP7v1Ea4M$%j?Sty&FG#pDhwYV?X&0Qyv5qN;vKTik%ZOw7k3EAVjX> z8Kl+5kc4WEX)@l0EXT|y(Uo$bG-KvaG)hxU)2%tCdAy7?gCdP5^U-6PC^M~K!Wd1P z5rHG`qsBLoGVfy)Lis$1MQh$eAH`fuC0U2qd7q-$mU1of$XT3TlAwFX*jc$BXhH;! zYyzat{RjlfygZ$8Oi%8lS@4dvyhiQ^0`TTr-h$kpL+Z*au)M{&b(od&##!F7-0xsB zIIqz1dUGGbmTF#+<@M$6^TAtec>}rgv1rdLvAp5jtER(SYI!H;{un}HUYX@JbC*tr zw_N8MH|D-fZ@oHKd1kJE4!l)Xjhb@rB5$?jZOz?Ah4krk9x*30KleM374iZ)NhUd= z3v%zF`qt?r$>f9<<{CkGgZj^;w>|g$XyUwy`peRr$bCOWZqREWWafkx=axb=%A2J# z2)jJDioCNe?~2^UR(PANVywyiBb6$y|DVk2GIUHe^7c|O-VWV2Pu`crL~KfH;)_^f z>*5d=IXU7o(u&jaS-Cdcig`XSL)gfn5{*Vr()Ut9~F{lntFF`+ylS}>tMC?0`G z@DY(eP18OqqLVc3V_NkiNZ={{tS){!1M`zs@F)0RSqkKK{4(RQVn{t*w0}l|O%%HY z<5#mN<1y#}@c1m0g*tnKrUdOeXtQCB-SkwNSDqL{D_}sa8b#M+^j4IsM3g0328Jg$Mi1;I< zHA?(?71{g7UkXFi+*c5u@p`m;+GO$M)(|pdU`NE?ua!*F=}Z1io3xV262;N-Y175X zt-TYm^sg<)Fg7#+o`}MRA_^Od)IqKi zLCPzlu%U>;h9Zm&ZKaR#A*hJLh9U|ZiZC|xPKw9aP()!vk;$M{#)cw{4apBOHbhxR z6gCuLY>0MJi##cM$Jo$Haxyk_J~;h9U|ZiZC`L>&DoStOa93Tnnt=#2y*S*pLimY)Cp88=3*JKBBOph{A><3LA;h9Zm&$;5qVBgTdz3LAC@ljB8;USCv|k1g zHWXoOh~S+f&s}(yehLq{5R&*#8F_7Nh~XU?8zYPjF}(9lO7_!CGIBYwp$KC`FC)0f zL)cJ+u^|JC*&+|Eog?R?B8&}17#kvHj3Cg$h9U|ZiZC`rEymc;WX6UjjlzZ|S=i7v ze5dqgJoFAwhXWgW8H1BH$-;)-L9rgnjwP`nj%8s(k5Q~=C>G5uoELd*Z0KST(j*HT z`Z>k@LsncZ!q|`>Z83$hp<*np2^;z?QchuPh=U@G4MnLX7#nILCu2jBof#XFJi*wI z3i_j15WZQP@y~u^~BHD{LsDu%QTJLozdk4Mh|-6j9hvL}5b_#)du(F)O05 zp@_nUB8(0F2Ss3P$b(*vFg8?0PR52B$*HiRh{A>@S=i7_?28n6;&_%`hzC<2xytB) zS6%osHNx0XnzCbT=o)e|HuOcbC1XSN3LA}uDR?HJ;F*Ae zX95bI2{1e(E34p{fP!ZN3Z4llcqX9WnSg?40t%i9D0n8I;F$o!GqP?B&&XOZJj1n+ z@Qe&)ct(aYJR_Y9&peE_4=8vhpx~K+f@cB@&&awlJX4NcOonFy3Z4llcqX9WnE=Bx zGO>bZ0t%i9D0n8I;F*AeX95bI30m-s%uT^F0R_(l6g(4Pc;<_;taNlIFdh4KM(4L> z0Kqc>hG$-o0R+zk7@qkb89?w%fZ>^QBveB1On~8;3K>v?XXzX~9PkWzZFr_l#v;%n z!0^mc8L%AB(mp&m8M&PBOn~8;t7Ke)X95h*yj=zmJQGmxOn~7TVn*!Y+VD(3!7~Ad zXQ;&(o(VBL6C4H41TA>xclb`}ID$$34Y@ktnX8b87PR1*N&-{pl#e5pgl9OG1<%Z* zSaizA0nd=vhG(9_9(d4#XRf5UZ_SFU1sI-r4>}~w@XYNL0r1QK1u;CsK>>zm9-^^< z;hE2nli?Z3&J52;o?v)J@(;r^k|!9R`2)2j!!wdS7@oPALK&XvBPYW%d&$Z0%s-Kn z;hFo$$?(hoIT@aLfSe4^e1V({&-|L449`$=2dEdzw+ggNfZ>@!axy%#ft(D_RFae7 znTyED@XTs*DtIQ~nTE{d(VYOpGm>!>JQHAeMpBQ0X95h*$kAHCGXVw91Q?!?nJIWC zpx~K+f@cB>o(V8K(+2b9_D;>LXVfJ@D#T{D}k@p7|fjj^P;%R25)&W&uJOo|&lNnSg?40t%i9 zFgzohQNc3-1Mh75BSNxEF5i=Xm63KTQypbJMMw_WS2uEC(ZMZVf9YK^N#d z81_B61*EBdBNSS~xl@f8b}@46IfiC@!+_7U;u|@LmmB>7nih&x#;Zt?8{>BcMh(Sm zU|+G(N#AK?4frwxDok4LG=AqbR#438tPAZk9;0_NIA%c0Cm|5Fvpi$ytZYGUtMLfs z6#s+#re?ekQ$%jd&+v|P)(a0qB_87=#T`SZWIeg(8y}-$oyQ+TFkJ%Z&0S`^jHtOw ztzhFGRNTdKTr9`Ma$GFO#d4akW9y#t!L;O_^TFinp7U|B91#M5VYpZhR!HtOZo-T6 zneI6s7t48%aIu`T63eM2L`HvlIUaWldC-S+UTMDs2Yq15@-87Gbk*Uc&xmvfcWU}Q zVjCq}rsdQAjp50sJsx8W14AJOhHgTPBF`>785jyPF!XL2Jd9^V0z+X2h8~u|AHXxL zfT1u0L*GKE1q@Ae07GF0hUgZfah@;(LqDMm6fhK4z)+ZhA<8SPfT6GghQbUC&BOMj z1q_81Fcen6P?&+CjTDd1?SvID6rPOj3O=_JW?)Eukbxn}I;?=9FatvmA+*Rdlio2f zG=-cD43(0Tfg$N+V8~CQ3=GLo28N_l0YhO1hGf197z!(3D9pf+%#48{`C$fzWM&E& z3M*hJtbn1g0*1m*QoWbU$|_(etbn1g0*1m07z!(3D6D{?umXm{3K$A2U?|MMkgOX6 zL$VeO3~?>6FC_NJPzHu%C<8;%$-oe8K!+7D6js1cSOG&}28Lwa7#Qlo{weQ0g%vOq zR=`kL0YhO1hGb#|422ai6js1cSOG&}1q_81Ff`EuhGcFE7z!(3D6D{?FatwH5>Fvu zC_Ei~WON2(00Bc`28O1|00M@>3=Ewo0|*!jGcdGF1`se5W?(2K1Fpcc^g28ozz}(D zVCZHUi{O$l14DPq0NTeceHaf;MlL5X6lP%P2^p7wp)dnO&&mJ-hQbOM3NtW7%os-P ztaCeI1q_857@`(qU}zEpLlZ{{O;-a+Lx%K!wMJ*D_|(hz|hUWWWov<3M*hJ%)ron6oG*u0uI9r z4E>Uv3=9!`6IQ@bSOG&5Envt4{G-S-7SGaJJec~(RYniIir~+bFaty9QFaUrEg>fZ zL$~333=BVuj3w*7Ib+795Lhfq_1xPbsfj$cjfcbG(zM!GonGT`Pp)Sf-sbCr$QSrZ?)#}2 zB|4QeCj@J(oaeZYA+|?E^g{W*PL{}1p`R1_3;q=qkvU}%lzDm#9Y@d$olfU@a^gXZ4ulT%rxFhkK|{t(waO+~zmoY&_gwDv3HWTWl1yUAUuQ!CXzOzyZ&{Sh$X)(1a@ z=(=8a0DrW8JaV)TEJhFO|9S_Ez`bB-ze0<?Ovo1X1hwoc9qO_w9vBHu9De~Oe0n@+mSF= z$!vEUIhpOAgtOYgcGV8Ht9G!RkJ)a!WV@Qh#CA7Jwu=Iq_vqjICuk~TZA+cvvfWw4 zcISgW^gj{Xy-i4Fp&q852J2y4=O!T|tSZ5_j^$om+JH12_)*jw@GDydk2ZmVZh?0= z6J)a-aguWq^wK0q8Eci28>^Tb728!xZmec*RBY#y+*r-r_&%gB_YkR9GdF$;PKz6> znH$L(nZ=FO%#F`d2yK#`#{Z$0%#GE|jbn)6m>a7VH&!z@hUq0wg4N88g$Su; zZu}GSs%CDag;6zgn!Xu3a_#H^e{u=-8B;_-|nYW9qoAla{+*>3~lS9rScoFLiH z%j|cJ3?>W5m6H9u%zk&s;Qe@dnf*Qhr^S9=X1_-$geOBUv){i`2(zD8v7eXO@2B*V z+0V=D_Xi4L_VX(C^D_HQ07F>p=VkW$3!;0O{eDeOW+qF>{sPrzbXg& zRWtkTk?iMNPVD!rWWNM8p8n)JG0@>!&j-;l4`Ds@5JG>C{U$x92Qd#&%jQ%F@muh! zCdT5WE^a_zj`%+kp2Zl-M0^n;xndKZ=ZGeRkI_7Xh`&RozS@)f{TNbQEyHLzbWY!v z0VuEKQ1^d8#;F)1#>+1x@YKa*JafcNcnWa=MbO5a!s^k$BJKpMN8^O6M`+^_9hSY8 zt4HIg)uS=fbF9^4K30#OQL9HRiGP6t8CX)-t4H!@tsd`1$BAmWLLR-6G(6)EfmZZ# zV#QDDl$bi3I^7mYKOrMnE6Gohe3^5|$4kk7mP^THyp(*HdR0#{i#{SfT@z?Rd?$X7 zA=A&|SN>smvM=RZ3~L>JvyPr`FqfeOZmE z^)@P+=99c#!@T_^gj9McvQP3ho14%3t_&uwbQ(I&|E&zBMWvs4I|tNn@wT6NyNp6E z3()$~&%8a6LYTMxinsmD+vn3u=50Uob{B;(Z~GN*`M^#k|&>&1=oI zyw>EECq&ZYtToA~c)5p+if64ghh*?JJhRrCbaQvPhg7buwI)fC*=x~T8NV`;ShWchbQ`>PWP-psB=1%bS2-s~T6f+?8E3CM6$@sqI~5CN ztvf%4^yQv=@wC>RpNBJh-T5sFVa~MHoi9+x@z$L>h(CMXSxO;1IgVa;HquMyy7SHm zLU`SIR~0##GoPR$^5poxaGun)?1E}iaPccy9X5t*~q6b>C((a)tltwLQMk)eGO+Am>SIOAlPE{)-g(`9674W~%j z9L_n!=5UJn4co&RZ@nrGeihlgfFB#g3FsfBZ>@pS>+ucZd=^oPJRiX`%ODQfyeaa0 z8P6<(IKPs?-@|jXK^)Q$KfXbniFlhah*J$uL>;UdZ4ig@I-xu9 zZ>gQoAddVXAFQFQM;pZXDME`pSI|2?SaT^k`Cv^4Ir(6XbbbgMX=46z3gv?}GL#S2 zNT)hjV;RJe`Kp68qYdK7%=lo9{4gJ^k(sH3H79EjM^;uHtoa)o#F2I5gEg`ie6WUV zf&EvpM~3pj8X3w5YowD8)-;!*CHtsRrG={#8pM%xW$-I4SDT@HJ_KU=(vex5a*jR;5&Gh{t6FHMlR>U8p|NgpJiN! zL7YMyDLI}&9Ad@@HbjqW5QkdqBn{&1#CJ*$;-Oy%>Tn#ap))HPgE%7;>*4HJ@?Z_e zvJTdKkz#$HVqJ~2oELfRgEieCq)FDnn%_{|SF_^U264h@3(Fu*xn&UNWu&wW;&6~< z5N8Ip1Rt!KOU@AJqdX+pnGe=Tp5TKul7IMMjpPYFSo2om2|idO*@KY3^4K^E<%2c9 zqI~&aO%8?f!5S|)`Cv_moP4n6Ws1uOYho122Wu`MCm*cYMovChL(LrtpqAdX}l;51tK5i*l&8N`v)qYl263LD2z;<+EPB~8h!Y?uAFP>8PIa*67zT03 z6i$(6KAxpy`i7~GTxImYtJU~p8^qa7+3~@e{p93>HBX`~Pt72XY(~L_{Ta}b3B7M-$J4sZNUmch-%)WY0H0! zgEbIUT!aWc?IJ`jLgXSuE<)rYL@q+)B1A4iSEt{QG3^0X&21y0jo)m-ZM! zEmSA$xGpWo*QI?IZ^wCpd|lc%Ckn#$u>(YYiy0jpjsudHb zU?0*#b%N@;v>?ttX<~XGcBq4VUE0MIk5QeVx-Knd@|3kWn2O%BYTXDpV(USsrq~ zK<2AZouIldEy&lU$;=qlksoGMM`or_ouIldEvT+b3##kVf=^Ptm&?j3R41seOAD&& z(t;^!%hj~c9aPt)1=V$FL3LePP+gZ6RM({i`MNY&H%4`2Eg03|S^#kodt@l1Ix>_| z9qD9Lhc0#sDpV(^u1gE5>(YXJU7D;LqdIh}5TiOlbzNGp1U;ME`WU_(RM({ie~M1d zT__VPR3}Jl%-mIUVkfAsOAD&&(t_%`w4k~!Eo@zvCUaA$PEcK!7F5@z1^K$P|C41U zR3|tcEpBv8Ni7>lZ90HHcTzAnv_0fg!VZ$MWWE7>3pp*lgnF3n*OXA2@b zP#yBxsLp`Qhp>(yUzc{h3?PFzrGyA^GIBXlogiPA_Hh}PP@N!Om-a;&K-Z-O&qqbZ zG=Gkqd|etbV-SHBsuNV#r3LxAG-@$Mbs~IST6olTX<_TSw5f!yTtMgw-4^CRbv}+f zw6Jwu+C>!WitJbt)!|qcs-qAhh3XJsWTQIy=$x>H>b#e7`~>BgiHorYCM?FTcoxwn zerF<_w|R9mzk8>PVhoRHp&8 z4l=4E*@ICXy7w%|s1BLQ2{NklFgY33p_|i!jOx(UYC%SI$aqeWQ60KZEy$?OAIQn5 zPME&Ns17xEFn~5L-%6LL1sT<$+uMSS>d?h#K}L1xKD8jDI%I1m$fyoo@fB34PEcK! z7Ub*FB;zPlC&<^ON$OFkPH-LAvivi0v{tB2P+gZ6bkU` zx-Koq*QE^rv;!XM)#=&8P)kLRfw-klO~rK)uEfyf(q3Ms_W9i)^%yW zK^8@x-{V=DhxH3n6uHXifmcQNGbzZ|rI{e5Afq~S$jPYA)%XabI+NGqPK`n@rfEI+ zO9EofCqyjx3vyl{XGA(zTe3hlqe69pbhfsnLk{yKC6si^24hr5Hm*W-f^>SfWaS4? zDht&K(&^ojRgX}}WgrT}6I9owg?0Mi6sdEfrBR_AEw+kKoz@R&TEpdAH}^Jdy0mBO z=FMBTG_2d**Wb{S?(2`H`uYc=(_*t{HVkaumg-A4^lj-MShs0YRK6Y9x^+{3Z2HVu zb7nMb+|;+e2iI`1qoJpNht|HdD{$_z!1UNO{Eus&^znM}IVE_C!s^0EVJW7f}>peQ&b)ZRe>$Hy221Ga~j0pMpbKx8Vr@>Bx@}O|eC9g=! zM})DZh}&9#rXW9MQ&8df);RSo^cg;tDMis_B=jMN;t2?yR6t3`=b{8?zKQZrDZc<^ zP{D9Wtvpk1Q1dJqR$+zZQUveJOoVv_IjEYZkJpONsWu`;DF$o!{;>^1)mIHT&TfEX zGz&^w%#|LWX)}bCIJyAdQZ%lC-azH4Bg?F|w!9OZ{ZQ`ghYI;+j8X%@4td3GU zUI_6l(xiA{)uH5#z)SVDa+&C)he=LCm@Fw7C7*&&D+QopJHDpXtBmIr5cQhQ0Qy!G zQ`)g9#?dxtIbpY@M>-Iao9Qul&aqo~jFSTm)f?1tdD*Q$R`FcE;=}@*zs5NVfGQTs z@4~?hga%KO(Oyla4Nx$D zHr3WzwY8!iMKOvNj;5Jx(g>*zvnjf%k>#~%$np{eS_p6Ka_g0?Y|@HYc3Qpyni1)wR^I z6Z0{Ec7cntNi-jGR|%GHQ&emaq=Rtt)nHri2nIdd)NEQ~utl%YY~qd~;|%#WWapqb zqS5-imB%!dh{`_QreLCN81j@uxnzNvHsj55Qv7Tp;yHFAO>0t>W3q2{2GAFdIfZ9a zp*tW;!RY7#IeQHDXOF?P&f)s_1G3fI_9TAX0T~mwMQc`6$HWZ^cMuoe+vG{~?wI;d zI4E0$N)$0Qn~aY?C{tt_mNP^ibCd%_YL}xSrdjffBhW$jnl??vaLyJs^-F@csUH=@ zV0~=rSA;)D)tw2yi8x~v^~Y5QWaQg_tVHV+F<(Bd zDj6|`gUX$9N|xv`F`KOI$pCet>?d0vx4ibG053CygFlENG9+(0iiOBF$wzHUr1Zy@ zRv@dW3NwvPBO0AAH+|H)CAiP#jNm5mPMPA2} zYxIK4q9xhKlbp2VB=O1Fq)S4ygC0*?h|bqZDzYULnWOWojn3jI(zb`hKZgkZn3VkYl)2w6RRIjHmBxh z&tSBrX6>V$a3{cCx{sCAiEN!a0FE!va*J2-uE1C)_1m;&qjgiitUy&otzE##_j0Preb>djk*HJO6Z zOsmpCf5p+;S@U2Zd-R}L*BVT?YpsC{Gp^mWRN`=j)g}>V?`QUlcyVP-!`%CmsrRR# zDGk~Uax%Hw>vGfhAKL5a#Y{)r3@r&dWOsDf+0k~dgIKc|n!0upb@XJnqtO(vL-wX& zfOidOZV#XXZE1zaZzubQX{Ur`6k=r=0lO#YV#;M&W;%d8GEGX&5R=(4l~U4dAvc1j zArsTyb&1*=EhGkKXfAux&ZfCz%NE%Aa84pbb8@q8mQ8cB>p+3_iVvmc0mvP4Uau1k zNh5M^FPkt4s>n=5BsFI|5hhG~=#hjui3n5fX(+;kWNgu+O_=qHFtMFXgb8}&?ZB8# zm_&;i!lVskYaY|IX*OZna<2SxW+wu4cr;vOEJT)_kPr)qL_07_Szt>><1$h=icqM;EwyJ`q(lrASgc|KaLgWXYzeYN z^)2;&snu>M6M4&OGUE$CN$N!GP}JZL4=ELPPkC*DtTOWzDFD;3R;A=v$V@S-OYK3= zM+xj*DCa5%s2fuum&C8gjtW+*yx6xuw@P4^#NiCVoXqTbG?h$bvCug}ot=bmtQIFy zu%;KA6f8!Uq~L7v2{pP+1LaH=6*h+hnPyh6bka_hBARMm-ui5ksmYLx6o-jq{E8^K zt247+fCiVkOo|MV*>fk0N=FkJ)LWQ9NLT9wzvuU%$Nt;r2jRcG`Cy`FDiL~5Fq!msg zCE3jTW|=K{C~__w-4!ik(>z+aD_Y(#J&gs6yP`d-_P$O-()%m2hr6OZ6)gDmv=4e3 zv|!KC?uyo3V@demspsI*_EC!@cem#FVuw4Dxcdk0wz0$)32t<58!K4J1{->7rmda~WbCsS&Na@3Gr@{kyF0aSmWA`lh(HQ;ISK(J?*zNeX(uAH z$6sM@xOtt8Uuic!^-l)Ot3JB%eQx6)caPs{D+`!+8$UxwrzDQrH2VhGY0FlF{p)9G zZ4D9{H7y3uQbaCLqbITOIK_bEEmS%=MR;TJG`%Ud6+OnQ6gZ=;hHD%;XVkyUUKCFt z2ed_;132rsWe?%>O=#Mx??GdPK>ljGt7wltGrZK;!;8H~FL&;1?cwEbvnl^~?geKP z7pW#LwwoAzz-?Wk`m5CLAld#HoJTi16g5;kLURY3#Lh;qHFPGUE^J$cGz_rI~5 zUA11J)ezR;T4Xn7vDFn)(_p;n3T!cR4?uo#ko`$CyR&b-e>2i|6}kT|iriU4tF68d z&Y%&~R^PY0r>tyZOHZx>zq~Hxb#-jxRQlZ>O6*GatWUM6;%_6_z7F@T zvj$fi%eQ7xd%MW;Le{l6Z>aI1lx!b{!McM)G;9~y+U(fv^K z=IaM_LfGaYG!5}csgp+_R1uFjmHF*;Ud3oG$=0j0d&k{y)m}qQQ+LBvUeEa2AACC2 zW|++yufgP^h8%2V**sJ=nun^LdoVtmhiFqJGr}EvW6PE>Y8h4}Y@3K*LlJ{JYfD*I?c6Y<%O?vN%b27BIP^7s38r*>4 zydwEZARswfFFo}?7LL_$>KblM*ZQ{f4a9oj)MBxQ{yqJv-fjI2JGS)gCeO}>O?_K- z>~2`!H_+cOuxDFuf9&#;iQ3FDn(T5e!oBG z9P}?jX67MeTqfl0xY$2OTTajHLiP8iclM^43L19wryDkH?OC@;-eAtxnA3&kQQ3{r zjazn5A4ctJA59vkmEJ)wrRQN8i>nD186co-0qc-DL64ApMr!fj<1ehG$TL(@mV-*3*EGr`Dgrx6dH` z86=gxPJ`u^bvE7hZ|c7^-P_aKhq2&N3}x0>pB21e$Ce&Pc&c{*bhq{B=$T+gbTW;A zX{Be~K;PCampWdYDyKT;gHug<)ckO&$(_^4DUJ>>?r=N~!z-FcFublm=3qM`2I~*b zS>|{dNs|&M7^yKq;Ty-M)Ke}*W~w{YMkIcB%=4$3T+%I#H|tUpTaGhW zo^m^^OIyMQ&A>CqVZJTU+pcJtYHl;*M-nlgx!z1Y9($~_yEApTVgAw`@kKYJANA*W zFhRdmNYn8v$D58V9+9G177xDWta+*p$P<>522U&fKYq%02a+?I^Ici#^yvN!WF1#l zI(=E|wUw1#Gil~Tlk#7i(B(M1p=Zm$reja)CzT%NsI0kgbI4 z2IEKkiys_GB;~(&QzCJOzooIxrs}{#Gd?)jy`sbCU*y==>)TcW(6QTg-UNpnpA{4?O);DEh|> zqu*Te#Iw6H? zCEL}@C38eyl|X`)B`%gxq=7~7NlNQx`IMqJf1 zZEosZbI?Qq&G@1Os=Pwv8QTxbR$QgZx~F;iO4$o$G+_?MI@&r`ck~aV{)62IMBerl zYsFa9zXkzfOMS2bm2W%O95&<06gA@t<6lN%DB;dtk>8HW1!jP9T1-=BHJ>sXYh{#N zIjb(w5uaBTYl(LZx5T?MzgB9{-8JWmJvGzCo_cdys~FpC4xx1uowD4&KRg|u=uetv zbkXHvT)XIR4j^AJK}=>v+3{~wR#Y0)>rj;$#aF2E2X-PKQBa>E609Xcr_bkg9gYnq z4_w&IyGWao4Xs8zyth6*yePHfh?rX=7Ss~BL2~l9f!q~ z8nLQA9zSs1tVK_4Oo*#$Le_5&#cDz>iNmSjNcwOcI(dZ{x4mV_(@pVhwN3FvQdHH5 zE9=n`O9Rmh#qQ<^xEX}onv5q}6T7;NUR31i!%^pd{%g&)#7HWZI6Qnfk&Hh%n7n;4 zT20F8oJXOZ@|?&TAgb|*PCs|qI8ED-4WeCEt!Z#Q*9~yOB|M+ ze4ukR8mcGKkMVKZoZ9YTFzaAz3gsVcji#bBve=_XYvRFFO#avSczRx9IB5`o02wm#hpR`0~f_HL9r z(SqI!cPFB$czPokpTsbh(O?QvLioCl{;U_rgSUj`rN>RqwGxD!KSQ z)rtEoS)TGvhr7x;t?qYsq|abUa0W}IGe|1w{SCPzjY>-hVxVW+>9zWqECStKtkc}Z zlIy$UqHcf3)$UomA%4+9tZjq3DCtVg>x(~w#nxPi4mH!gK`+*BHD+V)qtX7<{v%EP zmRk}Dh}8GjUf3wcb&+fu?L5-50CHAG{P~er7rpqeD~>$BA!qaWBP~b$7d?{s@3Gjs zk(K!L-X4g78f)rmv1>crUX9Y^IX2v9H8ed65bf4<)PNb*$d*ST{_7Ip< zSKXRSd^Vm;d@k;f)8CIld{4#aP@eZLNhcT7CX$K!I&9a$#C=xSbbpS3l=iHY(k?n@ zl&ZjnzVzl@>(ae0I&ngUh%;A6aL4u29oJ6)bDrFe=$lsNKGVJAZ0YUv1oxBOjy|cb z?Az9JdJ-8gzAoQd6b0BMtv9b-oJjZ^8al8M*_|5P5Z%$8I(#sCUq^K?KAb$< z@l15M0U;ZrJ2@PiX7%B=_!?uwVBherbZ-)SOe;D!tf&gy=3jyBBQbt^+se-Fd#C#Q z<1f}7s1>EnYY&saF{y2+BmMY--5m++jilq^s&-Mh-Qg+dxvO(d3#MI6o!Hkwi4zHU zQqnWNJ&`z!oz_8!H=>|DZSsFN&TWXV+OT?Md@$aNCwR`ySg@!Gi3sO z1hT{6V4`I$HhEeRCvoq;yt>FtFPXb~Lko7O(tfi8@|&5AtrVqQ4RPA_UJ~yf>~F+o zS1Nf$|p1Ov3OCsJKf2!`t15NQ2i#E1( zrjv;dY}rMZ^ojZ!acTWfe6deICHv;)D0#KyRPNlWKTi9}+-mB~cn z3En;w{avC0G$Q?w+PXwl`+-A=$DdQsnljaf0VM|9Q;Uo*WeuMwN- zMcHiNr|!8<7?G_7~_W zJ!nxW+ubeoPVz>}b_xJ|Gw-{(f|o0Jor3KYpG7jx72W)qt@Kw#-#97+lM(qjDHd5P%4L`Q5<`f-VI*ZXPv z!W>@M=?AV2{JI99ZCmZ4X!?kV*N8+t{?4uui|Y|zPK)>pQJ|-OlHXrzHawmh*_cku zSu||@M)21^J(+GY<8e{Y+|-eXwj_s>ZK-%7+S<**W19i$#ah_cmh>Z1ZA-Tmi5zof zvhK8hp}(nRM-s84h;8{ex}9fBZz7RwYD0n;J7wB7iTy&Zs-b2T2N9WhTWyvzXA1!jhu^7;GYXaEXZRO$>_Z?P6&SReMRjn1N@rXzJ-8gte~0 znYyGs9bXohjlHUtj^~>a&tF>iZuCywx@d#ZI4Jj@2qn%56?f;%FTr-vV8@P* z&}@jWJpg%E?5w|CT=j@3?&)nwJl- z@2qVLdm%MVn>&(vzCS$_r+7o%aHNM?p3e!D1;y%m5vdWYo5keqZ4glwuky}q!6sQ# zTPo3kHj8)6@AdnA@n~B&N*h6~<^Z;j`xn+Om^ZiM$jD;v`AD@P9z9qM^l^%5#zkTK zAVg~tc3Mq-jRT;`Arrf9fqv8MB}ZL< zliz$#YsxfI#$D@0aeHc{6}x!p6^X%Q_h51^Rwno}?*xC^IOcqgV)@z*CqM<=paMXz z1z006nO$Dnx-niA^-qalu`=C^_qL#+67g&OJF5Lvb+xEMxVp;kuL@Pyid}n2{@c|B zuzwJO-vzOF>ToLYwMD|;Bi6TzFjP`%<`X3kfd{eM2TGX>(7pve`!_ExOW(Q+d;vK< z?T`8VvceC*5l9Vw8JyYDN((2_y=aW?BOy7G!XD@@DvGZ~W}h5PtEzPMo*=K*3pcc- zh(%lCmnY+^`s0a)4m9tGKNd@k_@?`#qM%C*K-#ZwGF#%agNbOzLNjrX&+PP>q$?6n zBtQ!oYY+olo_Hc;hcDhTe9RWwxfkRwc6NcshEig4yQsKzDE02mb+eY5zC?U~wV&^j-#y}zZc*G}JSr{B=JGTA*bcy2oB zYZ-(dfj>U$0+GKxCAPQAfuUWLG>>%9c#~{t?Tzo7Jtz279BmShcgv?pH;eII>G+P0 zWwr6aS8LOTNo&Xac2uERlwlEoKe_Wq8Vv7JkV4Xz~YlTZa4Ifx>DxO>@OCzi$1g&R-4VD5+B66 za&TK>dEkP8|48CU+Qb5PXFFOrkyw$8AE|l^_UGdr@tqqVNOUwMQc3V2Uiz`>nq7DC zyu|8wa^tKzsDs_&pS>LP8eg;fNHRHbZmV3HnPwd(ilH#{%B*%Zn0-?7|CfNm&vZ1{9PeGbUl(_??`Ge z-ZrZasvYt8s>#ERet+wiFkPV=^O0Bj+qLWcqOd1^B-z-x@o>j^L5xRWoq;5e{zTy` zm|4fQ4=1rA1YMl#?=`0n$LChX=AIWs^G6$6#10Jf?ZfewRs@PY_t#Rm`C>!-MS4?) zH?7BfGahf^u?xWUw`M273-Ri;U1GmpBmR7Cv$#QTKO*vbRyM_<)itV=sbiM11H4ny zlujmhA6%L=RWakDw@dhHL<&0q&8-+e#KP^O1qwpj#oXp2qOfb#%*7a2d;Lj&@=LYx z3l=PZ`p*OYsUVtU@>4)UX3fI{ZziL1L0Us}TikB?;wi(A7;p2(E^ZQ=wu_p*k9Mz` zIhS%mM*d{tgMmvHTp$XzC;Cw)na>=6AmC&y&XY*r`xJ(#x7JN+m^DXiM*5xyq=LvD z1}TUXj$WP)r295+?%T5Q?*~1o1+hH!da5GUS)z#IE{NR)@!xwve5R|$Gh0ye?tcb} zI90w^>+z#gp7P4_&8MgHDY zix_9rw_ztaooIzT77cvuo~S6_OB$>b>RTabVkKK=R7cGurf5t^{;ALnhWex5XTDI? znrIn>C^rN(Z%7@O|1g=w<4=twM=tp?W<9a2Mnr4GvS!iPe&~U#Y6F!JXPz4L`A56} z?c;}yp~K0;^IuIseSf(>UX5M$oN2{5ON#psS4U&w;&w6n?qs~J@5Y;BZ7X^glDOMo zn1}C;#}5apr^cq5P0=P4#h8H))2F-R@#l?{Kb7!zL%LfiCUl95n#ByGKGoq%zKSKo zU~AlbVYS$Pt0=00D(5;;S_9$nGEv#JsBe+!U6e=-RGTJb#HS2@oT})rji(;n1uW#r zMEv>W7nX{#cSF8S_-cp$)Y=MRziUYftt(gQSaV=$(cBn?mIN(8>KhwcxLg}zvs)4^ zoj*Q26$`gS5^E{3=WghAV1?5)GLmYAX0BC%6-|gYQf|%zs0|Q-~RpbuAEw0ZECNM9@|gix*lAJ6UCK4n|kStz^ zTNATOW(mv>ba<-*Bs+%M`KcbC@C?8KVzQHPcT|P37cZcj%jPdYC&JwK@qI z@Tet#yMn-Ns&Wi+R}d#bJ*O?!xzod`4)N{^;xrelZ<-avN$~5@qy5$`8#m#nj>kMl z)64DW=)>YC*W3zqwW*2N)Tk*U^&M@-J=3=N{ehfC#cR!8;~oGbP5vuuD`WmZr9V~` zs|s8lFy_?e%qh!RRMs6gKie4VHqFl(BZ#@ zmY>{7?YJlgO=#JZ+Td3(soi*vesG`o)iuy)KGv+(`B!JP&Xb+hnolsRy+xYB_&k>Q zM*;bu1YUbxx?$U;Sb)677|vfG^^Ot^EG%flwkQ>5^qwyvT7j>jT@MLe?7y~0{2AJ# z`>w5t`{s*nkBD1EyV!pXDbtJLoUY-7Py9ry7x(V17tiCaxLfe%-kf@~A?n3td!5Vu zEv?J_t78rRVDFM>t2rgwPz%+OhJI*`+(xcwLvMVlzqYnPjNMxmGkw)j==!%D*qP<+ zJ&-d7a>L@Ysf925ceLw()%W|v<8XZ8YRGH#Vq>#- z3T^+`)w1n3){7rlzORXT@y}P^E&c<4!+S-rCxK(7qOPW;I@-_;JhG*>yEX1#(T_~# z#oC|?KcPNn0@`!R+0>rTeI4!j>vMFB0idI*C}d7?&sEJh*dgAQ+bmwas*CPo{IjQ7 z{1RH*@5pTzuUu6xZq2PX#UF7b`{rD_i7;VC+en$IuEk&LkM&QV7Hbm|nkDi5f*4yn zOW6BAzJbPir=j1NVL9+^(_7->iOk7{dx>%-`%y{C$=@u7e|cx108Yb|4SnN z-q}>&cTs&mK2|?u_8YxYx#aP)rh1)n9(tJSldS@oViAR}4LDsnhfp)A_;S*S_G!pV zf1vI;DCMQSmb}!Q@GTYTubhXAKxpQHtn~O`i}=ko&5)0p&8dyG-o%p5eP8zXc0d+d zX#T9T4fmGq>h3lZQ=*GZ6SC3%-Vq}ht@fJ>OtWRtqtCZQaY7Wc+k%BL%x>KWQno2ie-nZzL?iKOQ6s(r5r`$EyR#%DoHYBEl!?&d z^`fs{e9!W+gmk}@kQ#3_C*x{t9H6WU%}#YDQ~qS~!64o4g5Q-5P!C?)HfdVaY#Hn| zpiGSGYZv0wkr5k$WU;!l&6j}ql*-A6{51KE-_qK%Xz5=`scCi$%~BnOY69e@t|rL! zZ-bEJkehx55$X<0ZW_+5pPEpDQy1W6Z) zdPDR0!T*Q0dWV!FW;0FxZg-cGna+Y5zDPBEz*)l|qJ|%|1*Nl~h8KMoHT;~jhF?Vu zGom1i3~y*EeTZuKXBGe#CEB{X5B5JW{OLi-ge>X4p{uw1d#K)*q}(@^B)^_4$?q^r ze&2oL4>sQKqnTmGlaC}XmHGU|5Z9^2&cmj8Tv;|sy{)X1Y zaL%gB36Gc8(IgT}=)PW4d<=I1->lcmb#;wwo=1<-Ja4Slx#@>!o$u=U4BQ#lxc@b1 zpnK6k2I#-^`1G@RYw8U|KgM%tp;vT08t-pw4Rk9Cr*B33Oz+`yb-P^MuHB=o+aG-c!L}b^Vws`WwZN`# zOzz@^+{wY!k#cpUGMo3&6IdWW{n1^D9H*b$og6afl1HnNxH?k(7UFb@=cJCF97bqz z_zhOAbLVunE;JW);?{CAmXK=*k2_7c(}X)sxYNW5mp|_D!N0CNaN7F1uZ!b@5qBPN z=K*&faOVMc9@w&D_tBTyylIY9km~*)Xt{9L7=8bwhIH$_iIyC*6t3Tnm=dfilUU5> zM}t*w#8V2te;!r+q^^r~r0#Btwe@0hb4;x15>uK@(t)2?ADz}mdfn%R`_095-L=sU zvjJB_cbJQ7yZyD1bV?L;$%Rzm+0-t-`Z3z&<2f*pT0gaRs;}1Pg9f76I-RUREU%AM z`x?9b8$?~bSYO}SD!lb#vpiBTwth-=bdKqd%Bu(R&ZZW*?gg~S9lDO=0Q1ES=Ro;? zPmg%}InCmK_S`BCoKp|~tz!6`?cyc;z3rU(gBw=#_eNLrUom;5Y>e*{!)Rv-+wA@c z8e?RvzOSJQx)&0n&6l11hSm&vkZSb_8VvSgFi6l~P~Ut3MuTP^4cajpboBMLb+$eJ z^icZpMF(o{=`h>sDjRy!mvxgEd*e69Ek8qZJcKb|e7!l<@1IiZ zYm$S&8Zo0D_E_Z2#Qy%;Zs>dZObiC?G#IR~2ZQY}-7yK;pbP!?Nctc9#&3}8evSsY zaf~i*xvJg=?bbnX|BW~b#G}FXlNb%2SaZorIa#>i%no<8<*v5e)t0;3db6*#-t`O2 zD!1kw6P$7Hc66tSta;MC=cMm=Bj)LY@Ggem+u&aRyA7HM$C!&=7vKyw<$h1o#GyQW zaG{z0i*>i-?Q&0HwOMi|I z9b^Pul82x?6;yzTf5AVz-dkKys2$5+j5ssL85&S0&5IxTLyA?kF@gI!}-&G!WO2c~JP$B15|we>)4y5MD4u`O^34-LrVNG>5-O{)r{{ z9{wimxcka7`CN;4Z#n9n4}MDbeZ2FboSlU)6yYP^FB*ETXx|G(nY4c>HMFZ_S}$G~ z50&lnYIfRmnV~hxI)?GiJLKCJ*dIn*Y6Hsqy%P-W-(*@J-j@w|_xUpKwv?m2WZHn8 zHuG+v!q7f^oOC{~q1~7Hrf(>)FPtgQW0i(>E!reem|Y&bym6nQ(avUPp=p0}fB3q| zneQfQ4DIowz8ip_>Qd-8v~S6@^N}_%6y7&^zj+sOzedhkg>t?_z`d|lb~-Wz;324r7Tp5;rpukCXAj`9aBKhXlkpA7%Ca5Il((=NUL zAl`Q#<9)zN|03R#W@Dm|+BU;8|G&Anfs*X1?tAZ`0a|!G7DC8E7PyTkvVx_a4-JEs zBIBvgAo*qTko$9XY?$T6OHT5wcG6rd8B#nWEF;*1e$O>jD7!#Sujvz!2 z%X$f5h3FB?(<6G0>}cs>N5+^Z6Jiq{vET2%&pEelRW~57@YZ^@rlxD(bM86&?6bel zK3{jK{D8yK95M$izEzpWfDc(;O0RhvaqgdD7ByBs~KFRYJhUy74eQ;?cs#;nWyl=Sk@R_XZcWC#rqprNrj?00& zmRB-)gOgSAy^rUQm`;=a9pIyc25-G(#PSEag)(pD`HYq6Y(jYcF`h4`o*U0nSM+lu z(H?kzX7{tQy`S1~=cjj^d1A-e&+It&UBZw%P^Rf9Gr(BanD z`Fb~+4YoEUxPOwgbpHihzR2^c$>H|$6WVgHf(-|k(Ds1SF`m2rAGDVt{eIHNj0S@^ zhcYjm`cJ>5TRz3}6a3yzcZd4MRtM!c;B}bi;?Drz=;82Q8Mr`ts53l&i04;s z^ZfHXf5SG9jpn}(m3{uIgzj%` zxc(U>ullqAtg+kl?(eS48XF_go5&yhj)3QVJb$CKQ%+WzKPuof1 zF!Cc&^qselMCS~Ll$|_xS>h8Y&mA4-tEqg!9|i96JI%kMh0?C*x^b2p!wu1bJmLf8 z`+Cpy^{_7!>KH%acrx9W;oT3AwrKSa%4JA@fpjNdgXy8{$&*{l4r%w1He+S?X&2I- zCr$b#-R_V!b1K;6!TwNNA0@r z_fxlzME6_yTX`&$RsH#q=po|)`4fdZ%V(C(-g55PUDdnS?`fRhO!{o(7e=BlT3NE+ zjDOD@KAQy|<*T}$A^m#-M`m?0FzS%x~^2|td#_BCoZ{kNLxIcMzB>D<diUY2Z9jk5d~UVn@prp;z>SvA;x1=L&+WPEs=KegXW#jQ z35_0nk8ATNb?Uv5_oA1-i*FQgxbl5LKCcD`#%*UVIeXc;EAAS-d(S;roxeJ1%eQ{X z(POx+p`2&mKN4L+T{rGNMmY!Xyza~mXAhst-Zg#q%sqwkWz*rp>BSE?-4S$u;QPyd zC5#`p%FE5)Bkh50(t_OoF=>alp?^q!!@Yrr2Kz_)UAW#$dfMIuTtCM1aVvK#u3y_G zZPb@H_Kz4p+k0DOFW@wC-$-OnG-W9*b zc-ZoZ@4kD!Z$CH^eckd&hiv7~Q11&L8i~HmxX_K+EjD!aigTlP?YaA^d#*meuiuV` z@Wo9gw&(Xy-o?K$620tu@N>v_$#0HC-!S}c0l$5B9z1j1*&EIszAJn8^gT1@3nrUs zJ1gGWgsF5Zd)luTZ|V6PdG74{Aa5ychO{dAhV6#Z9wF^|OY6TU-Kn&%k|zEN@GBm6 zV=J{m>2CmbdT5&%-!H z@W+8KA}yppJ_LVZ2>xSWv2fqv3_<_UkkUe^W|8%|9qP^4iQ-<@3 z_r6A6-IXHR6fM@~e(U+pCq|-U*rUQrjIF5d8(xP$_*oa{DBAed#SB%x(td}uoBs}F zs_);=dpe^11adXA`;vaVjI@w`-&4+CEbK0%c`-@F+`C&;gpk?*teB`cS0!9#uZ z0{L{Zuz1?>))jY-@_U#jD)W*biz1!ME5EsDe0ar{e8cal&u4f~$Hg|$odp~JY}Li0 ziSn&JJrXteT`-@aeCN`cTh1N>4(VSa{nR$;!}VT8p3hL84p#k;)q76ynd+VEXBuZW z&voxQb@w~&xnsw9jcbPA70y=SGb7RatpBULn)rj?Gp=|Yi0atPV-!)?J;QrmCjt-G zqc*McpAMmXsrm0Gzm9Z#srjEIzYa*$n6zMXV)U=(Y|dT11)s~v^DXl0#K8wGzwGs% zJ4MT3+?99F>xpYV>-2HKV(8oF74H$1(f8>0Z?CvZ4Y~=R1KSy32|MgD#SMhgmk+!r`xbGs6p@Xp2E$?MEBQ{+BMdUk3 zKAmfFHNVGqU$mtxwQq?$+TMOMzrR<#!{v{X|6bnJUYGCi`=#1}CwWJkM*hm`yC~?* zEx4(j-z2X#QrvHON0fIc zpEDT~uMOyhEoH-+(fz!mh2E|`mxcCd-egOD(fdi^$~tJxUuAdia`|~ajJNWBle}8p z_Wk-sc}GXdPu^qvF4+8*`KwVp71x{HYY)WTD2}zn$9}X=#>eZ;Dvzp_YPD_8`q^xe z6tC60@#+fiQ3U&!PgpK)GhaDw?{sP^vfZd}96CsnztS<@=yhwSEbG+7{M=%kpP9)` zWoF`Rt~6217s~TR-U>CWwp7H)xLvDMYwb?dYj)~u&02MIWxdiS$!hD=Z?EyY*QtR; zwPR(kw0g~MjVz(sYOS-PHw@wUM5V!R{_p8cyUcjA(ynX(a36bZv*YQq|B#ioQ8^Vi zYqe^v8n3on8%bMKU!~i1^l7cGTIP=Mv0uxLI@rQAqF<19w-=&aToE6uKZ#Z{R+ zG=f>{x;;>dDJW!hlxeh}M>TFO-&UgoI_s@=cQm059VPTvH(MQFkbB8`xLs*>;#!l2 zsOLo6lN`q=O2r#-qqTB;pmBy>PaHz}V1MQ33JYbP>K)H3-B#SJY>1-$3VOWjvFJkR zN~7YrscL0Yzf~G19cA=XqgTX!n;km3reF1D%igH=Ha1QJJ8b6W#YC2TqP0@#)?3Xu z>HB!I?rQ19Mk2CV8h_v3tGJ|kbG-%uj0JeU+VQUh!o(*l^=`enMw+W}a$#mBo?j@t z)~7h5D_)fZxdvK?ulB@eqJc?RV8-Q2yIuGBj@M3mDtn%Goh2^h)r|z>je0Zipw-la zaG>S--gQv5CK=S@QTxw5^__1W54Tp54pyJGdfnyTYU-T&J$+2lhUnu(>m=P^^tttDyxFd|=-$&wqg%}tC!8B7 zl}@dF!k8;fqdxDhHY#i4L`Ni^^LwSWv0O(3@iYBWUm2$KV$9i@ULd+ge)I*(&uh)t zJ@ayinlv_mBoy6QXLVS-UTIbv5~r0E7eb6puW>p9Dh~lML8AmOV~$~SvxV}}*okW( zVP~`6l-yaBUam{=Or|7>cG|`Z?P_NLq(vfMD94m}q5;=>l{SZknl^rWVmDAj39