From 5f4beeb80737b8820340509bdf564eb644fd2da9 Mon Sep 17 00:00:00 2001 From: Monika <monika.mittal@cern.ch> Date: Tue, 1 Dec 2020 10:41:54 +0100 Subject: [PATCH] WIP #126 combine all rpc modules into one and with squash and rebase --- extern/xhal/client/src/XHALInterface.cpp | 2 +- gemrpc/CMakeLists.txt | 48 +++--- gemrpc/src/amc.cpp | 72 +-------- gemrpc/src/calibration_routines.cpp | 32 ---- gemrpc/src/daq_monitor.cpp | 32 ---- gemrpc/src/expert_tools.cpp | 22 +-- gemrpc/src/gbt.cpp | 25 --- gemrpc/src/gem_rpc.cpp | 192 +++++++++++++++++++++++ gemrpc/src/optohybrid.cpp | 28 ---- gemrpc/src/utils.cpp | 23 --- gemrpc/src/vfat3.cpp | 30 ---- 11 files changed, 215 insertions(+), 291 deletions(-) create mode 100644 gemrpc/src/gem_rpc.cpp diff --git a/extern/xhal/client/src/XHALInterface.cpp b/extern/xhal/client/src/XHALInterface.cpp index 697eca56..350f0f01 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 417bb011..0e80885e 100644 --- a/gemrpc/CMakeLists.txt +++ b/gemrpc/CMakeLists.txt @@ -90,32 +90,24 @@ 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(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/gem_rpc.cpp + src/optohybrid.cpp + src/vfat3.cpp + src/utils.cpp + src/XHALXMLParser.cpp + DEPS + lmdb xerces-c reedmuller-c) + target_include_directories(gem_rpc PUBLIC extern) + endif() diff --git a/gemrpc/src/amc.cpp b/gemrpc/src/amc.cpp index c3ffb54e..4476919e 100644 --- a/gemrpc/src/amc.cpp +++ b/gemrpc/src/amc.cpp @@ -13,9 +13,6 @@ #include <gem/rpc/amc/ttc.h> #include <gem/rpc/hw_constants.h> #include <gem/rpc/utils.h> - -#include <xhal/server/register.h> - #include <chrono> #include <thread> #include <time.h> @@ -159,6 +156,7 @@ void amc::recoverAMC::operator()() const { // Step 1: Enable the optical TX lasers LOG4CPLUS_INFO(logger, "Enable the optical TX lasers"); + if (system("/bin/txpower enable")) { throw std::runtime_error("Failed to enable the optical TX lasers"); } @@ -274,73 +272,5 @@ 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); -} -} diff --git a/gemrpc/src/calibration_routines.cpp b/gemrpc/src/calibration_routines.cpp index d6170e28..c99218db 100644 --- a/gemrpc/src/calibration_routines.cpp +++ b/gemrpc/src/calibration_routines.cpp @@ -8,9 +8,6 @@ #include <gem/rpc/optohybrid.h> #include <gem/rpc/utils.h> #include <gem/rpc/vfat3.h> - -#include <xhal/server/register.h> - #include <chrono> #include <math.h> #include <thread> @@ -995,33 +992,4 @@ 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); -} -} diff --git a/gemrpc/src/daq_monitor.cpp b/gemrpc/src/daq_monitor.cpp index a4fedaa5..84400604 100644 --- a/gemrpc/src/daq_monitor.cpp +++ b/gemrpc/src/daq_monitor.cpp @@ -9,8 +9,6 @@ #include <gem/rpc/hw_constants.h> #include <gem/rpc/utils.h> -#include <xhal/server/register.h> - #include <chrono> #include <cstddef> #include <fstream> @@ -439,34 +437,4 @@ 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); -} -} diff --git a/gemrpc/src/expert_tools.cpp b/gemrpc/src/expert_tools.cpp index 18db2789..7a9257c5 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,3 @@ 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); -} -} diff --git a/gemrpc/src/gbt.cpp b/gemrpc/src/gbt.cpp index af5278f2..d80de36f 100644 --- a/gemrpc/src/gbt.cpp +++ b/gemrpc/src/gbt.cpp @@ -8,9 +8,6 @@ #include <gem/rpc/gbt.h> #include <gem/rpc/hw_constants_checks.h> #include <gem/rpc/utils.h> - -#include <xhal/server/register.h> - #include <chrono> #include <fstream> #include <sstream> @@ -204,25 +201,3 @@ 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); -} -} diff --git a/gemrpc/src/gem_rpc.cpp b/gemrpc/src/gem_rpc.cpp new file mode 100644 index 00000000..54d135a6 --- /dev/null +++ b/gemrpc/src/gem_rpc.cpp @@ -0,0 +1,192 @@ +/// @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/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 8a788675..8ba1dc12 100644 --- a/gemrpc/src/optohybrid.cpp +++ b/gemrpc/src/optohybrid.cpp @@ -4,9 +4,6 @@ #include <gem/rpc/optohybrid.h> #include <gem/rpc/utils.h> #include <gem/rpc/vfat_parameters.h> - -#include <xhal/server/register.h> - #include <chrono> #include <fstream> #include <thread> @@ -126,28 +123,3 @@ 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); -} -} diff --git a/gemrpc/src/utils.cpp b/gemrpc/src/utils.cpp index 13286470..f65e707b 100644 --- a/gemrpc/src/utils.cpp +++ b/gemrpc/src/utils.cpp @@ -9,7 +9,6 @@ #include <fstream> #include <thread> -#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. @@ -549,25 +548,3 @@ 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); -} -} diff --git a/gemrpc/src/vfat3.cpp b/gemrpc/src/vfat3.cpp index a134b375..5151083e 100644 --- a/gemrpc/src/vfat3.cpp +++ b/gemrpc/src/vfat3.cpp @@ -13,8 +13,6 @@ #include <reedmuller.h> -#include <xhal/server/register.h> - #include <chrono> #include <fstream> #include <iomanip> @@ -532,31 +530,3 @@ 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); -} -} -- GitLab