diff --git a/extern/xhal/client/src/XHALInterface.cpp b/extern/xhal/client/src/XHALInterface.cpp index 697eca56736bf52ca902da701b035fbfda687083..350f0f01c680ad9e33e61b42ee6e22926c31f3af 100644 --- a/extern/xhal/client/src/XHALInterface.cpp +++ b/extern/xhal/client/src/XHALInterface.cpp @@ -90,7 +90,7 @@ void xhal::client::XHALInterface::disconnect() void xhal::client::XHALInterface::loadModule(const std::string& module_name, const std::string& module_version) { - try { + try { ASSERT(rpc.load_module(module_name, module_version)); } STANDARD_CATCH; diff --git a/gemrpc/CMakeLists.txt b/gemrpc/CMakeLists.txt index 417bb0112008e47d2724b1e0414ae678c058218f..584e476b17f6437aba0ca45f50a777d7d2a3b4e0 100644 --- a/gemrpc/CMakeLists.txt +++ b/gemrpc/CMakeLists.txt @@ -90,32 +90,57 @@ else() install(TARGETS ${NAME} LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/rpcmodules") endfunction() - gemrpc_add_module(amc - SOURCES - src/amc.cpp src/amc/blaster_ram.cpp - src/amc/daq.cpp src/amc/sca.cpp - src/amc/ttc.cpp - DEPS utils) - gemrpc_add_module(calibration_routines - SOURCES src/calibration_routines.cpp - DEPS amc optohybrid utils vfat3) - gemrpc_add_module(daq_monitor - SOURCES src/daq_monitor.cpp - DEPS amc utils) - gemrpc_add_module(expert_tools - SOURCES src/expert_tools.cpp - DEPS utils) - gemrpc_add_module(gbt - SOURCES src/gbt.cpp - DEPS utils) - gemrpc_add_module(optohybrid - SOURCES src/optohybrid.cpp - DEPS amc utils) - gemrpc_add_module(utils - SOURCES src/utils.cpp src/XHALXMLParser.cpp - DEPS lmdb xerces-c) - target_include_directories(utils PUBLIC extern) - gemrpc_add_module(vfat3 - SOURCES src/vfat3.cpp - DEPS amc optohybrid reedmuller-c utils) + + +# gemrpc_add_module(amc +# SOURCES +# src/amc.cpp src/amc/blaster_ram.cpp +# src/amc/daq.cpp src/amc/sca.cpp +# src/amc/ttc.cpp +# DEPS utils) +# gemrpc_add_module(calibration_routines +# SOURCES src/calibration_routines.cpp +# DEPS amc optohybrid utils vfat3) +# gemrpc_add_module(daq_monitor +# SOURCES src/daq_monitor.cpp +# DEPS amc utils) +# gemrpc_add_module(expert_tools +# SOURCES src/expert_tools.cpp +# DEPS utils) +# gemrpc_add_module(gbt +# SOURCES src/gbt.cpp +# DEPS utils) +# gemrpc_add_module(optohybrid +# SOURCES src/optohybrid.cpp +# DEPS amc utils) +# gemrpc_add_module(utils +# SOURCES src/utils.cpp src/XHALXMLParser.cpp +# DEPS lmdb xerces-c) +# target_include_directories(utils PUBLIC extern) +# gemrpc_add_module(vfat3 +# SOURCES src/vfat3.cpp +# DEPS amc optohybrid reedmuller-c utils) + + + + gemrpc_add_module(gem_rpc + SOURCES + src/amc.cpp src/amc/blaster_ram.cpp + src/amc/daq.cpp src/amc/sca.cpp + src/amc/ttc.cpp + src/calibration_routines.cpp + src/daq_monitor.cpp + src/expert_tools.cpp + src/gbt.cpp + src/optohybrid.cpp + src/vfat3.cpp + src/gem_rpc.cpp + src/utils.cpp src/XHALXMLParser.cpp + DEPS + lmdb xerces-c reedmuller-c) +# gemrpc_add_module(utils +# SOURCES src/utils.cpp src/XHALXMLParser.cpp +# DEPS lmdb xerces-c) + target_include_directories(gem_rpc PUBLIC extern) + endif() diff --git a/gemrpc/src/amc.cpp b/gemrpc/src/amc.cpp index c3ffb54e3a44701f99f90722ab6fda887c93abbf..4343c1e7eaa3af379458c61e78a94de737d1debd 100644 --- a/gemrpc/src/amc.cpp +++ b/gemrpc/src/amc.cpp @@ -1,3 +1,4 @@ + /// @file amc.cpp /// @brief AMC methods for RPC modules /// @author Cameron Bravo <cbravo135@gmail.com> @@ -14,8 +15,8 @@ #include <gem/rpc/hw_constants.h> #include <gem/rpc/utils.h> -#include <xhal/server/register.h> +//#include <xhal/server/register.h> #include <chrono> #include <thread> #include <time.h> @@ -159,6 +160,8 @@ void amc::recoverAMC::operator()() const { // Step 1: Enable the optical TX lasers LOG4CPLUS_INFO(logger, "Enable the optical TX lasers"); + LOG4CPLUS_INFO(logger, "Monika the local installation works well"); + if (system("/bin/txpower enable")) { throw std::runtime_error("Failed to enable the optical TX lasers"); } @@ -274,73 +277,73 @@ std::map<std::string, uint32_t> amc::repeatedRegRead::operator()(const std::vect return vfatErrors; } -extern "C" { -const char* module_version_key = "amc v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, LOG4CPLUS_TEXT("Unable to connect to memory service: ") << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<amc::getOHVFATMask>(modmgr); - xhal::server::registerMethod<amc::getOHVFATMaskMultiLink>(modmgr); - xhal::server::registerMethod<amc::sbitReadOut>(modmgr); - xhal::server::registerMethod<amc::repeatedRegRead>(modmgr); - xhal::server::registerMethod<amc::recoverAMC>(modmgr); - xhal::server::registerMethod<amc::resetClocks>(modmgr); - - // DAQ module methods (from amc/daq) - xhal::server::registerMethod<amc::daq::enableDAQLink>(modmgr); - xhal::server::registerMethod<amc::daq::disableDAQLink>(modmgr); - xhal::server::registerMethod<amc::daq::setZS>(modmgr); - xhal::server::registerMethod<amc::daq::resetDAQLink>(modmgr); - xhal::server::registerMethod<amc::daq::setDAQLinkInputTimeout>(modmgr); - xhal::server::registerMethod<amc::daq::setDAQLinkRunType>(modmgr); - xhal::server::registerMethod<amc::daq::setDAQLinkRunParameter>(modmgr); - xhal::server::registerMethod<amc::daq::setDAQLinkRunParameters>(modmgr); - xhal::server::registerMethod<amc::daq::configureDAQModule>(modmgr); - xhal::server::registerMethod<amc::daq::enableDAQModule>(modmgr); - - // TTC module methods (from amc/ttc) - xhal::server::registerMethod<amc::ttc::ttcModuleReset>(modmgr); - xhal::server::registerMethod<amc::ttc::ttcMMCMReset>(modmgr); - xhal::server::registerMethod<amc::ttc::ttcMMCMPhaseShift>(modmgr); - xhal::server::registerMethod<amc::ttc::checkPLLLock>(modmgr); - xhal::server::registerMethod<amc::ttc::getMMCMPhaseMean>(modmgr); - xhal::server::registerMethod<amc::ttc::getMMCMPhaseMedian>(modmgr); - xhal::server::registerMethod<amc::ttc::getGTHPhaseMean>(modmgr); - xhal::server::registerMethod<amc::ttc::getGTHPhaseMedian>(modmgr); - xhal::server::registerMethod<amc::ttc::ttcCounterReset>(modmgr); - xhal::server::registerMethod<amc::ttc::getL1AEnable>(modmgr); - xhal::server::registerMethod<amc::ttc::setL1AEnable>(modmgr); - xhal::server::registerMethod<amc::ttc::getTTCConfig>(modmgr); - xhal::server::registerMethod<amc::ttc::setTTCConfig>(modmgr); - xhal::server::registerMethod<amc::ttc::getTTCStatus>(modmgr); - xhal::server::registerMethod<amc::ttc::getTTCErrorCount>(modmgr); - xhal::server::registerMethod<amc::ttc::getTTCCounter>(modmgr); - xhal::server::registerMethod<amc::ttc::getL1AID>(modmgr); - xhal::server::registerMethod<amc::ttc::getL1ARate>(modmgr); - xhal::server::registerMethod<amc::ttc::getTTCSpyBuffer>(modmgr); - - // SCA module methods (from amc/sca) - xhal::server::registerMethod<amc::sca::scaHardResetEnable>(modmgr); - xhal::server::registerMethod<amc::sca::scaModuleReset>(modmgr); - xhal::server::registerMethod<amc::sca::readSCAADCSensor>(modmgr); - xhal::server::registerMethod<amc::sca::readSCAADCTemperatureSensors>(modmgr); - xhal::server::registerMethod<amc::sca::readSCAADCVoltageSensors>(modmgr); - xhal::server::registerMethod<amc::sca::readSCAADCSignalStrengthSensors>(modmgr); - xhal::server::registerMethod<amc::sca::readAllSCAADCSensors>(modmgr); - - // BLASTER RAM module methods (from amc/blaster_ram) - xhal::server::registerMethod<amc::blaster::writeConfRAM>(modmgr); - xhal::server::registerMethod<amc::blaster::readConfRAM>(modmgr); -} -} +//extern "C" { +//const char* module_version_key = "amc v1.0.1"; +//const int module_activity_color = 4; +// +// void module_init(ModuleManager* modmgr) +// { +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, LOG4CPLUS_TEXT("Unable to connect to memory service: ") << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<amc::getOHVFATMask>(modmgr); +// xhal::server::registerMethod<amc::getOHVFATMaskMultiLink>(modmgr); +// xhal::server::registerMethod<amc::sbitReadOut>(modmgr); +// xhal::server::registerMethod<amc::repeatedRegRead>(modmgr); +// xhal::server::registerMethod<amc::recoverAMC>(modmgr); +// xhal::server::registerMethod<amc::resetClocks>(modmgr); +// +// // DAQ module methods (from amc/daq) +// xhal::server::registerMethod<amc::daq::enableDAQLink>(modmgr); +// xhal::server::registerMethod<amc::daq::disableDAQLink>(modmgr); +// xhal::server::registerMethod<amc::daq::setZS>(modmgr); +// xhal::server::registerMethod<amc::daq::resetDAQLink>(modmgr); +// xhal::server::registerMethod<amc::daq::setDAQLinkInputTimeout>(modmgr); +// xhal::server::registerMethod<amc::daq::setDAQLinkRunType>(modmgr); +// xhal::server::registerMethod<amc::daq::setDAQLinkRunParameter>(modmgr); +// xhal::server::registerMethod<amc::daq::setDAQLinkRunParameters>(modmgr); +// xhal::server::registerMethod<amc::daq::configureDAQModule>(modmgr); +// xhal::server::registerMethod<amc::daq::enableDAQModule>(modmgr); +// +// // TTC module methods (from amc/ttc) +// xhal::server::registerMethod<amc::ttc::ttcModuleReset>(modmgr); +// xhal::server::registerMethod<amc::ttc::ttcMMCMReset>(modmgr); +// xhal::server::registerMethod<amc::ttc::ttcMMCMPhaseShift>(modmgr); +// xhal::server::registerMethod<amc::ttc::checkPLLLock>(modmgr); +// xhal::server::registerMethod<amc::ttc::getMMCMPhaseMean>(modmgr); +// xhal::server::registerMethod<amc::ttc::getMMCMPhaseMedian>(modmgr); +// xhal::server::registerMethod<amc::ttc::getGTHPhaseMean>(modmgr); +// xhal::server::registerMethod<amc::ttc::getGTHPhaseMedian>(modmgr); +// xhal::server::registerMethod<amc::ttc::ttcCounterReset>(modmgr); +// xhal::server::registerMethod<amc::ttc::getL1AEnable>(modmgr); +// xhal::server::registerMethod<amc::ttc::setL1AEnable>(modmgr); +// xhal::server::registerMethod<amc::ttc::getTTCConfig>(modmgr); +// xhal::server::registerMethod<amc::ttc::setTTCConfig>(modmgr); +// xhal::server::registerMethod<amc::ttc::getTTCStatus>(modmgr); +// xhal::server::registerMethod<amc::ttc::getTTCErrorCount>(modmgr); +// xhal::server::registerMethod<amc::ttc::getTTCCounter>(modmgr); +// xhal::server::registerMethod<amc::ttc::getL1AID>(modmgr); +// xhal::server::registerMethod<amc::ttc::getL1ARate>(modmgr); +// xhal::server::registerMethod<amc::ttc::getTTCSpyBuffer>(modmgr); +// +// // SCA module methods (from amc/sca) +// xhal::server::registerMethod<amc::sca::scaHardResetEnable>(modmgr); +// xhal::server::registerMethod<amc::sca::scaModuleReset>(modmgr); +// xhal::server::registerMethod<amc::sca::readSCAADCSensor>(modmgr); +// xhal::server::registerMethod<amc::sca::readSCAADCTemperatureSensors>(modmgr); +// xhal::server::registerMethod<amc::sca::readSCAADCVoltageSensors>(modmgr); +// xhal::server::registerMethod<amc::sca::readSCAADCSignalStrengthSensors>(modmgr); +// xhal::server::registerMethod<amc::sca::readAllSCAADCSensors>(modmgr); +// +// // BLASTER RAM module methods (from amc/blaster_ram) +// xhal::server::registerMethod<amc::blaster::writeConfRAM>(modmgr); +// xhal::server::registerMethod<amc::blaster::readConfRAM>(modmgr); +// } +//} diff --git a/gemrpc/src/calibration_routines.cpp b/gemrpc/src/calibration_routines.cpp index d6170e2850c2d923d3074c46d7e1525064c976c2..88101989214658091a02170617b1f6163c552ffc 100644 --- a/gemrpc/src/calibration_routines.cpp +++ b/gemrpc/src/calibration_routines.cpp @@ -9,7 +9,7 @@ #include <gem/rpc/utils.h> #include <gem/rpc/vfat3.h> -#include <xhal/server/register.h> +//#include <xhal/server/register.h> #include <chrono> #include <math.h> @@ -995,33 +995,33 @@ std::map<uint32_t, std::vector<uint32_t>> calibration::dacScanMultiLink::operato return outData; } -extern "C" { -const char* module_version_key = "calibration_routines v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<calibration::confCalPulse>(modmgr); - xhal::server::registerMethod<calibration::dacMonConf>(modmgr); - xhal::server::registerMethod<calibration::ttcGenToggle>(modmgr); - xhal::server::registerMethod<calibration::ttcGenConf>(modmgr); - xhal::server::registerMethod<calibration::genScan>(modmgr); - xhal::server::registerMethod<calibration::genChannelScan>(modmgr); - xhal::server::registerMethod<calibration::sbitRateScan>(modmgr); - xhal::server::registerMethod<calibration::sbitRateScanParallel>(modmgr); - xhal::server::registerMethod<calibration::checkSbitMappingWithCalPulse>(modmgr); - xhal::server::registerMethod<calibration::checkSbitRateWithCalPulse>(modmgr); - xhal::server::registerMethod<calibration::dacScan>(modmgr); - xhal::server::registerMethod<calibration::dacScanMultiLink>(modmgr); -} -} +//extern "C" { +//const char* module_version_key = "calibration_routines v1.0.1"; +//const int module_activity_color = 4; + +//void module_init(ModuleManager* modmgr) +//{ +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<calibration::confCalPulse>(modmgr); +// xhal::server::registerMethod<calibration::dacMonConf>(modmgr); +// xhal::server::registerMethod<calibration::ttcGenToggle>(modmgr); +// xhal::server::registerMethod<calibration::ttcGenConf>(modmgr); +// xhal::server::registerMethod<calibration::genScan>(modmgr); +// xhal::server::registerMethod<calibration::genChannelScan>(modmgr); +// xhal::server::registerMethod<calibration::sbitRateScan>(modmgr); +// xhal::server::registerMethod<calibration::sbitRateScanParallel>(modmgr); +// xhal::server::registerMethod<calibration::checkSbitMappingWithCalPulse>(modmgr); +// xhal::server::registerMethod<calibration::checkSbitRateWithCalPulse>(modmgr); +// xhal::server::registerMethod<calibration::dacScan>(modmgr); +// xhal::server::registerMethod<calibration::dacScanMultiLink>(modmgr); +//} +//} diff --git a/gemrpc/src/daq_monitor.cpp b/gemrpc/src/daq_monitor.cpp index a4fedaa5ef98b6be7e8669405bc2a6d184d95910..fd678ce00f6510fa60a116a4efe2c1a26802a2bb 100644 --- a/gemrpc/src/daq_monitor.cpp +++ b/gemrpc/src/daq_monitor.cpp @@ -9,7 +9,7 @@ #include <gem/rpc/hw_constants.h> #include <gem/rpc/utils.h> -#include <xhal/server/register.h> +//#include <xhal/server/register.h> #include <chrono> #include <cstddef> @@ -439,34 +439,34 @@ std::map<std::string, uint32_t> daqmon::getmonCTP7dump::operator()(const std::st return ctp7Dump; } -extern "C" { -const char* module_version_key = "daq_monitor v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<daqmon::getmonTTCmain>(modmgr); - xhal::server::registerMethod<daqmon::getmonTRIGGERmain>(modmgr); - xhal::server::registerMethod<daqmon::getmonTRIGGEROHmain>(modmgr); - xhal::server::registerMethod<daqmon::getmonDAQmain>(modmgr); - xhal::server::registerMethod<daqmon::getmonDAQOHmain>(modmgr); - xhal::server::registerMethod<daqmon::getmonGBTLink>(modmgr); - xhal::server::registerMethod<daqmon::getmonOHmain>(modmgr); - xhal::server::registerMethod<daqmon::getmonOHSCAmain>(modmgr); - xhal::server::registerMethod<daqmon::getmonOHSysmon>(modmgr); - xhal::server::registerMethod<daqmon::getmonSCA>(modmgr); - xhal::server::registerMethod<daqmon::getmonVFATLink>(modmgr); - xhal::server::registerMethod<daqmon::getmonCTP7dump>(modmgr); - xhal::server::registerMethod<daqmon::getmonOHMask>(modmgr); -} -} +//extern "C" { +//const char* module_version_key = "daq_monitor v1.0.1"; +//const int module_activity_color = 4; + +//void module_init(ModuleManager* modmgr) +//{ +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<daqmon::getmonTTCmain>(modmgr); +// xhal::server::registerMethod<daqmon::getmonTRIGGERmain>(modmgr); +// xhal::server::registerMethod<daqmon::getmonTRIGGEROHmain>(modmgr); +// xhal::server::registerMethod<daqmon::getmonDAQmain>(modmgr); +// xhal::server::registerMethod<daqmon::getmonDAQOHmain>(modmgr); +// xhal::server::registerMethod<daqmon::getmonGBTLink>(modmgr); +// xhal::server::registerMethod<daqmon::getmonOHmain>(modmgr); +// xhal::server::registerMethod<daqmon::getmonOHSCAmain>(modmgr); +// xhal::server::registerMethod<daqmon::getmonOHSysmon>(modmgr); +// xhal::server::registerMethod<daqmon::getmonSCA>(modmgr); +// xhal::server::registerMethod<daqmon::getmonVFATLink>(modmgr); +// xhal::server::registerMethod<daqmon::getmonCTP7dump>(modmgr); +// xhal::server::registerMethod<daqmon::getmonOHMask>(modmgr); +//} +//} diff --git a/gemrpc/src/expert_tools.cpp b/gemrpc/src/expert_tools.cpp index 18db2789c99df6e0f2fb23b3079570d195019e0a..cafc5b121b5d3d2ef64881a1d99340804fdd1204 100644 --- a/gemrpc/src/expert_tools.cpp +++ b/gemrpc/src/expert_tools.cpp @@ -6,7 +6,7 @@ #include "utils.h" -#include <xhal/server/register.h> +//#include <xhal/server/register.h> uint32_t expert::readRawAddress::operator()(const uint32_t& address) const { @@ -18,23 +18,22 @@ void expert::writeRawAddress::operator()(const uint32_t& address, const uint32_t return utils::writeRawAddress(address, value); } -extern "C" { -const char* module_version_key = "expert_tools v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<expert::readRawAddress>(modmgr); - xhal::server::registerMethod<expert::writeRawAddress>(modmgr); -} -} +//extern "C" { +//const char* module_version_key = "expert_tools v1.0.1"; +//const int module_activity_color = 4; +//void module_init(ModuleManager* modmgr) +//{ +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<expert::readRawAddress>(modmgr); +// xhal::server::registerMethod<expert::writeRawAddress>(modmgr); +//} +//} diff --git a/gemrpc/src/gbt.cpp b/gemrpc/src/gbt.cpp index af5278f2df3587484196fe81e813266d8904d87d..e0c8f8f45aa8b5bf6a039dd6679773c0427d8179 100644 --- a/gemrpc/src/gbt.cpp +++ b/gemrpc/src/gbt.cpp @@ -9,7 +9,7 @@ #include <gem/rpc/hw_constants_checks.h> #include <gem/rpc/utils.h> -#include <xhal/server/register.h> +//#include <xhal/server/register.h> #include <chrono> #include <fstream> @@ -204,25 +204,25 @@ void gbt::configureGBTs::operator()(const uint32_t& ohN) const } } -extern "C" { -const char* module_version_key = "gbt v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<gbt::writeGBTConfig>(modmgr); - xhal::server::registerMethod<gbt::writeGBTPhase>(modmgr); - xhal::server::registerMethod<gbt::scanGBTPhases>(modmgr); - xhal::server::registerMethod<gbt::configureGBTs>(modmgr); -} -} +//extern "C" { +//const char* module_version_key = "gbt v1.0.1"; +//const int module_activity_color = 4; + // +//void module_init(ModuleManager* modmgr) +//{ +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<gbt::writeGBTConfig>(modmgr); +// xhal::server::registerMethod<gbt::writeGBTPhase>(modmgr); +// xhal::server::registerMethod<gbt::scanGBTPhases>(modmgr); +// xhal::server::registerMethod<gbt::configureGBTs>(modmgr); +//} +//} diff --git a/gemrpc/src/gem_rpc.cpp b/gemrpc/src/gem_rpc.cpp new file mode 100644 index 0000000000000000000000000000000000000000..70b2c925a44cea1dec7a149e9ba6c0ac7bc6f9e1 --- /dev/null +++ b/gemrpc/src/gem_rpc.cpp @@ -0,0 +1,193 @@ +/// @file gem_rpc.cpp +/// @brief the registration of all the RPC methods done inside the module_init function for the different RPC modules are combined into this +/// @author Monika Mittal <monika.mittal@cern.ch> + + +#include "amc.h" +#include "utils.h" +#include "calibration_routines.h" + +#include <gem/rpc/gem_rpc.h> +#include <gem/rpc/amc.h> +#include <gem/rpc/amc/blaster_ram.h> +#include <gem/rpc/amc/daq.h> +#include <gem/rpc/amc/sca.h> +#include <gem/rpc/amc/ttc.h> + + +#include <gem/rpc/expert_tools.h> + +#include <gem/rpc/gbt.h> +#include <gem/rpc/hw_constants_checks.h> +#include <gem/rpc/daq_monitor.h> +#include <gem/rpc/calibration_enums.h> +#include <gem/rpc/calibration_routines.h> +#include <gem/rpc/hw_constants.h> +#include <gem/rpc/optohybrid.h> +#include <gem/rpc/utils.h> +#include <gem/rpc/vfat3.h> +//#include <gem/rpc/vfat_parameters.h> + +#include <reedmuller.h> +#include <log4cplus/configurator.h> +#include <log4cplus/hierarchy.h> + +#include <xhal/server/register.h> + + +#include <string> +#include <chrono> +#include <math.h> +#include <thread> +#include <cstddef> +#include <fstream> +#include <vector> +// +auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("logger")); +extern "C" { +const char* module_version_key = "gem_rpc v1.0.1"; +const int module_activity_color = 4; + void module_init(ModuleManager* modmgr) + { + utils::initLogging(); + utils::init_lmdb(); + LOG4CPLUS_INFO(logger, "Monika I am in gem_rpc"); + if (memhub_open(&memsvc) != 0) { + auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); + LOG4CPLUS_ERROR(logger, LOG4CPLUS_TEXT("Unable to connect to memory service: ") << memsvc_get_last_error(memsvc)); + LOG4CPLUS_ERROR(logger, "Unable to load module"); + return; + } + + xhal::server::registerMethod<amc::getOHVFATMask>(modmgr); + xhal::server::registerMethod<amc::getOHVFATMaskMultiLink>(modmgr); + xhal::server::registerMethod<amc::sbitReadOut>(modmgr); + xhal::server::registerMethod<amc::repeatedRegRead>(modmgr); + xhal::server::registerMethod<amc::recoverAMC>(modmgr); + xhal::server::registerMethod<amc::resetClocks>(modmgr); + + // DAQ module methods (from amc/daq) + xhal::server::registerMethod<amc::daq::enableDAQLink>(modmgr); + xhal::server::registerMethod<amc::daq::disableDAQLink>(modmgr); + xhal::server::registerMethod<amc::daq::setZS>(modmgr); + xhal::server::registerMethod<amc::daq::resetDAQLink>(modmgr); + xhal::server::registerMethod<amc::daq::setDAQLinkInputTimeout>(modmgr); + xhal::server::registerMethod<amc::daq::setDAQLinkRunType>(modmgr); + xhal::server::registerMethod<amc::daq::setDAQLinkRunParameter>(modmgr); + xhal::server::registerMethod<amc::daq::setDAQLinkRunParameters>(modmgr); + xhal::server::registerMethod<amc::daq::configureDAQModule>(modmgr); + xhal::server::registerMethod<amc::daq::enableDAQModule>(modmgr); + + // TTC module methods (from amc/ttc) + xhal::server::registerMethod<amc::ttc::ttcModuleReset>(modmgr); + xhal::server::registerMethod<amc::ttc::ttcMMCMReset>(modmgr); + xhal::server::registerMethod<amc::ttc::ttcMMCMPhaseShift>(modmgr); + xhal::server::registerMethod<amc::ttc::checkPLLLock>(modmgr); + xhal::server::registerMethod<amc::ttc::getMMCMPhaseMean>(modmgr); + xhal::server::registerMethod<amc::ttc::getMMCMPhaseMedian>(modmgr); + xhal::server::registerMethod<amc::ttc::getGTHPhaseMean>(modmgr); + xhal::server::registerMethod<amc::ttc::getGTHPhaseMedian>(modmgr); + xhal::server::registerMethod<amc::ttc::ttcCounterReset>(modmgr); + xhal::server::registerMethod<amc::ttc::getL1AEnable>(modmgr); + xhal::server::registerMethod<amc::ttc::setL1AEnable>(modmgr); + xhal::server::registerMethod<amc::ttc::getTTCConfig>(modmgr); + xhal::server::registerMethod<amc::ttc::setTTCConfig>(modmgr); + xhal::server::registerMethod<amc::ttc::getTTCStatus>(modmgr); + xhal::server::registerMethod<amc::ttc::getTTCErrorCount>(modmgr); + xhal::server::registerMethod<amc::ttc::getTTCCounter>(modmgr); + xhal::server::registerMethod<amc::ttc::getL1AID>(modmgr); + xhal::server::registerMethod<amc::ttc::getL1ARate>(modmgr); + xhal::server::registerMethod<amc::ttc::getTTCSpyBuffer>(modmgr); + + // SCA module methods (from amc/sca) + xhal::server::registerMethod<amc::sca::scaHardResetEnable>(modmgr); + xhal::server::registerMethod<amc::sca::scaModuleReset>(modmgr); + xhal::server::registerMethod<amc::sca::readSCAADCSensor>(modmgr); + xhal::server::registerMethod<amc::sca::readSCAADCTemperatureSensors>(modmgr); + xhal::server::registerMethod<amc::sca::readSCAADCVoltageSensors>(modmgr); + xhal::server::registerMethod<amc::sca::readSCAADCSignalStrengthSensors>(modmgr); + xhal::server::registerMethod<amc::sca::readAllSCAADCSensors>(modmgr); + + // BLASTER RAM module methods (from amc/blaster_ram) + xhal::server::registerMethod<amc::blaster::writeConfRAM>(modmgr); + xhal::server::registerMethod<amc::blaster::readConfRAM>(modmgr); + + + //calibration_routines module methods (from src/calibration_routines) + xhal::server::registerMethod<calibration::confCalPulse>(modmgr); + xhal::server::registerMethod<calibration::dacMonConf>(modmgr); + xhal::server::registerMethod<calibration::ttcGenToggle>(modmgr); + xhal::server::registerMethod<calibration::ttcGenConf>(modmgr); + xhal::server::registerMethod<calibration::genScan>(modmgr); + xhal::server::registerMethod<calibration::genChannelScan>(modmgr); + xhal::server::registerMethod<calibration::sbitRateScan>(modmgr); + xhal::server::registerMethod<calibration::sbitRateScanParallel>(modmgr); + xhal::server::registerMethod<calibration::checkSbitMappingWithCalPulse>(modmgr); + xhal::server::registerMethod<calibration::checkSbitRateWithCalPulse>(modmgr); + xhal::server::registerMethod<calibration::dacScan>(modmgr); + xhal::server::registerMethod<calibration::dacScanMultiLink>(modmgr); + + // daq_monitor module methods ( from src/daq_monitor) + xhal::server::registerMethod<daqmon::getmonTTCmain>(modmgr); + xhal::server::registerMethod<daqmon::getmonTRIGGERmain>(modmgr); + xhal::server::registerMethod<daqmon::getmonTRIGGEROHmain>(modmgr); + xhal::server::registerMethod<daqmon::getmonDAQmain>(modmgr); + xhal::server::registerMethod<daqmon::getmonDAQOHmain>(modmgr); + xhal::server::registerMethod<daqmon::getmonGBTLink>(modmgr); + xhal::server::registerMethod<daqmon::getmonOHmain>(modmgr); + xhal::server::registerMethod<daqmon::getmonOHSCAmain>(modmgr); + xhal::server::registerMethod<daqmon::getmonOHSysmon>(modmgr); + xhal::server::registerMethod<daqmon::getmonSCA>(modmgr); + xhal::server::registerMethod<daqmon::getmonVFATLink>(modmgr); + xhal::server::registerMethod<daqmon::getmonCTP7dump>(modmgr); + xhal::server::registerMethod<daqmon::getmonOHMask>(modmgr); + + //expert_tools (from src/expert_tools) + xhal::server::registerMethod<expert::readRawAddress>(modmgr); + xhal::server::registerMethod<expert::writeRawAddress>(modmgr); + + + //gbt (from src/gbt) + xhal::server::registerMethod<gbt::writeGBTConfig>(modmgr); + xhal::server::registerMethod<gbt::writeGBTPhase>(modmgr); + xhal::server::registerMethod<gbt::scanGBTPhases>(modmgr); + xhal::server::registerMethod<gbt::configureGBTs>(modmgr); + + + //optohybrid (from src/optohybrid) + xhal::server::registerMethod<oh::broadcastWrite>(modmgr); + xhal::server::registerMethod<oh::broadcastRead>(modmgr); + xhal::server::registerMethod<oh::biasAllVFATs>(modmgr); + xhal::server::registerMethod<oh::setAllVFATsToRunMode>(modmgr); + xhal::server::registerMethod<oh::setAllVFATsToSleepMode>(modmgr); + xhal::server::registerMethod<oh::statusOH>(modmgr); + xhal::server::registerMethod<oh::stopCalPulse2AllChannels>(modmgr); + + + //utils (from src/utils) + xhal::server::registerMethod<utils::update_address_table>(modmgr); + xhal::server::registerMethod<utils::readRegFromDB>(modmgr); + xhal::server::registerMethod<utils::readRemoteReg>(modmgr); + xhal::server::registerMethod<utils::writeRemoteReg>(modmgr); + + + //vfat3 (from src/vfat3) + xhal::server::registerMethod<vfat3::configureVFAT3s>(modmgr); + xhal::server::registerMethod<vfat3::configureVFAT3DACMonitor>(modmgr); + xhal::server::registerMethod<vfat3::configureVFAT3DACMonitorMultiLink>(modmgr); + xhal::server::registerMethod<vfat3::getChannelRegistersVFAT3>(modmgr); + xhal::server::registerMethod<vfat3::getVFAT3ChipIDs>(modmgr); + xhal::server::registerMethod<vfat3::readVFAT3ADC>(modmgr); + xhal::server::registerMethod<vfat3::readVFAT3ADCMultiLink>(modmgr); + xhal::server::registerMethod<vfat3::setChannelRegistersVFAT3>(modmgr); + xhal::server::registerMethod<vfat3::statusVFAT3s>(modmgr); + xhal::server::registerMethod<vfat3::vfatSyncCheck>(modmgr); + } +} + + + + + + + diff --git a/gemrpc/src/optohybrid.cpp b/gemrpc/src/optohybrid.cpp index 8a788675f1b21a8fdbfe86dbc0b2d96f34a7cab1..da29644199e1ccd14c4056d2187279867916f64a 100644 --- a/gemrpc/src/optohybrid.cpp +++ b/gemrpc/src/optohybrid.cpp @@ -4,8 +4,7 @@ #include <gem/rpc/optohybrid.h> #include <gem/rpc/utils.h> #include <gem/rpc/vfat_parameters.h> - -#include <xhal/server/register.h> +//#include <xhal/server/register.h> #include <chrono> #include <fstream> @@ -125,29 +124,29 @@ std::map<std::string, std::vector<uint32_t>> oh::statusOH::operator()(const uint return statusValues; } - -extern "C" { -const char* module_version_key = "optohybrid v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<oh::broadcastWrite>(modmgr); - xhal::server::registerMethod<oh::broadcastRead>(modmgr); - xhal::server::registerMethod<oh::biasAllVFATs>(modmgr); - xhal::server::registerMethod<oh::setAllVFATsToRunMode>(modmgr); - xhal::server::registerMethod<oh::setAllVFATsToSleepMode>(modmgr); - xhal::server::registerMethod<oh::statusOH>(modmgr); - xhal::server::registerMethod<oh::stopCalPulse2AllChannels>(modmgr); -} -} +// +//extern "C" { +//const char* module_version_key = "optohybrid v1.0.1"; +//const int module_activity_color = 4; + +//void module_init(ModuleManager* modmgr) +//{ +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<oh::broadcastWrite>(modmgr); +// xhal::server::registerMethod<oh::broadcastRead>(modmgr); +// xhal::server::registerMethod<oh::biasAllVFATs>(modmgr); +// xhal::server::registerMethod<oh::setAllVFATsToRunMode>(modmgr); +// xhal::server::registerMethod<oh::setAllVFATsToSleepMode>(modmgr); +// xhal::server::registerMethod<oh::statusOH>(modmgr); +// xhal::server::registerMethod<oh::stopCalPulse2AllChannels>(modmgr); +//} +//} diff --git a/gemrpc/src/utils.cpp b/gemrpc/src/utils.cpp index 1328647038c9638456edb3c1c683214d62fe3b13..b37d12111419a0c418f13f0af6f976c757e58643 100644 --- a/gemrpc/src/utils.cpp +++ b/gemrpc/src/utils.cpp @@ -9,7 +9,7 @@ #include <fstream> #include <thread> -#include <xhal/server/register.h> +//#include <xhal/server/register.h> /* * Server methods implementation. These methods can be called at the RPC server side only and are not inteded to be exported as remote calls. @@ -548,26 +548,26 @@ void utils::writeRemoteReg::operator()(const std::string& regName, const uint32_ { return writeReg(regName, value); } - -extern "C" { -const char* module_version_key = "utils v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, LOG4CPLUS_TEXT("Unable to connect to memory service: ") << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<utils::update_address_table>(modmgr); - xhal::server::registerMethod<utils::readRegFromDB>(modmgr); - xhal::server::registerMethod<utils::readRemoteReg>(modmgr); - xhal::server::registerMethod<utils::writeRemoteReg>(modmgr); -} -} +// +//extern "C" { +//const char* module_version_key = "utils v1.0.1"; +//const int module_activity_color = 4; +// +//void module_init(ModuleManager* modmgr) +//{ +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, LOG4CPLUS_TEXT("Unable to connect to memory service: ") << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<utils::update_address_table>(modmgr); +// xhal::server::registerMethod<utils::readRegFromDB>(modmgr); +// xhal::server::registerMethod<utils::readRemoteReg>(modmgr); +// xhal::server::registerMethod<utils::writeRemoteReg>(modmgr); +//} +//} diff --git a/gemrpc/src/vfat3.cpp b/gemrpc/src/vfat3.cpp index a134b375a4a2dd68a3cb4051874421eacce98960..874cafec22dc314d9e81671035c2d688af3c6b5c 100644 --- a/gemrpc/src/vfat3.cpp +++ b/gemrpc/src/vfat3.cpp @@ -13,7 +13,7 @@ #include <reedmuller.h> -#include <xhal/server/register.h> +//#include <xhal/server/register.h> #include <chrono> #include <fstream> @@ -532,31 +532,31 @@ std::vector<uint32_t> vfat3::getVFAT3ChipIDs::operator()(const uint16_t& ohN, co return chipIDs; } -extern "C" { -const char* module_version_key = "vfat3 v1.0.1"; -const int module_activity_color = 4; - -void module_init(ModuleManager* modmgr) -{ - utils::initLogging(); - utils::init_lmdb(); - - if (memhub_open(&memsvc) != 0) { - auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); - LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); - LOG4CPLUS_ERROR(logger, "Unable to load module"); - return; - } - - xhal::server::registerMethod<vfat3::configureVFAT3s>(modmgr); - xhal::server::registerMethod<vfat3::configureVFAT3DACMonitor>(modmgr); - xhal::server::registerMethod<vfat3::configureVFAT3DACMonitorMultiLink>(modmgr); - xhal::server::registerMethod<vfat3::getChannelRegistersVFAT3>(modmgr); - xhal::server::registerMethod<vfat3::getVFAT3ChipIDs>(modmgr); - xhal::server::registerMethod<vfat3::readVFAT3ADC>(modmgr); - xhal::server::registerMethod<vfat3::readVFAT3ADCMultiLink>(modmgr); - xhal::server::registerMethod<vfat3::setChannelRegistersVFAT3>(modmgr); - xhal::server::registerMethod<vfat3::statusVFAT3s>(modmgr); - xhal::server::registerMethod<vfat3::vfatSyncCheck>(modmgr); -} -} +//extern "C" { +//const char* module_version_key = "vfat3 v1.0.1"; +//const int module_activity_color = 4; + +//void module_init(ModuleManager* modmgr) +//{ +// utils::initLogging(); +// utils::init_lmdb(); +// +// if (memhub_open(&memsvc) != 0) { +// auto logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); +// LOG4CPLUS_ERROR(logger, "Unable to connect to memory service: " << memsvc_get_last_error(memsvc)); +// LOG4CPLUS_ERROR(logger, "Unable to load module"); +// return; +// } +// +// xhal::server::registerMethod<vfat3::configureVFAT3s>(modmgr); +// xhal::server::registerMethod<vfat3::configureVFAT3DACMonitor>(modmgr); +// xhal::server::registerMethod<vfat3::configureVFAT3DACMonitorMultiLink>(modmgr); +// xhal::server::registerMethod<vfat3::getChannelRegistersVFAT3>(modmgr); +// xhal::server::registerMethod<vfat3::getVFAT3ChipIDs>(modmgr); +// xhal::server::registerMethod<vfat3::readVFAT3ADC>(modmgr); +// xhal::server::registerMethod<vfat3::readVFAT3ADCMultiLink>(modmgr); +// xhal::server::registerMethod<vfat3::setChannelRegistersVFAT3>(modmgr); +// xhal::server::registerMethod<vfat3::statusVFAT3s>(modmgr); +// xhal::server::registerMethod<vfat3::vfatSyncCheck>(modmgr); +//} +//}