Commit 73eb29a9 authored by Sarah Seif El Nasr's avatar Sarah Seif El Nasr
Browse files

Developed an "integrated" tester, a full test application to qualify hybrids,...

Developed an "integrated" tester, a full test application to qualify hybrids, that runs the register test, calibration, hybrid tester, and short finder in series and returns whethter the test suceeded or not. Also modified the Glib HW interface to limit the number of times a write is attempted.
parent b1df8ae2
......@@ -167,10 +167,10 @@ namespace Ph2_HwInterface {
if (cSuccess)
pCbc->setReg ( pRegNode, pValue );
#ifdef COUNT_FLAG
fRegisterCount++;
fTransactionCount++;
#endif
#ifdef COUNT_FLAG
fRegisterCount++;
fTransactionCount++;
#endif
return cSuccess;
}
......
......@@ -22,7 +22,7 @@ namespace Ph2_HwInterface {
BeBoardFWInterface ( puHalConfigFileName, pBoardId ),
fpgaConfig ( nullptr ),
fData ( nullptr ),
fNthAcq (0)
fNthAcq (0) , fRegWriteAttempts(0)
{
}
......@@ -34,7 +34,7 @@ namespace Ph2_HwInterface {
fpgaConfig ( nullptr ),
fData ( nullptr ),
fFileHandler ( pFileHandler ),
fNthAcq (0)
fNthAcq (0), fRegWriteAttempts(0)
{
if ( fFileHandler == nullptr ) fSaveToFile = false;
else fSaveToFile = true;
......@@ -46,7 +46,7 @@ namespace Ph2_HwInterface {
BeBoardFWInterface ( pId, pUri, pAddressTable ),
fpgaConfig ( nullptr ),
fData ( nullptr ),
fNthAcq (0)
fNthAcq (0), fRegWriteAttempts(0)
{
}
......@@ -59,7 +59,7 @@ namespace Ph2_HwInterface {
fpgaConfig ( nullptr ),
fData ( nullptr ),
fFileHandler ( pFileHandler ),
fNthAcq (0)
fNthAcq (0), fRegWriteAttempts(0)
{
if ( fFileHandler == nullptr ) fSaveToFile = false;
else fSaveToFile = true;
......@@ -626,6 +626,7 @@ namespace Ph2_HwInterface {
}
// now read back
int cWriteAttempts = 0 ;
if (pReadback)
{
//to use exactly the same algorithm, I should copy the vector and mask out the last 8 bits
......@@ -659,11 +660,17 @@ namespace Ph2_HwInterface {
cSuccess = false;
// if the number of errors is greater than 100, give up
if (cWriteAgain.size() < 120)
if (cWriteAgain.size() < 120 && fRegWriteAttempts < MAX_WRITE_ATTEMPTS )
{
std::cout << "There were " << cWriteAgain.size() << " Readback Errors -trying again!" << std::endl;
std::cout << BOLDRED << "\t\t(WRITE#" << std::to_string(fRegWriteAttempts) << ") There were " << cWriteAgain.size() << " Readback Errors -trying again!" << RESET << std::endl;
fRegWriteAttempts++;
this->WriteCbcBlockReg ( cWriteAgain, true);
}
else if ( fRegWriteAttempts >= MAX_WRITE_ATTEMPTS )
{
cSuccess = false;
fRegWriteAttempts = 0 ;
}
//else std::cout << "There were too many errors " << cWriteAgain.size() << " (>120 Registers). Something is wrong - aborting!" << std::endl;
else throw Exception ( "Too many CBC readback errors - no functional I2C communication. Check the Setup" );
}
......
......@@ -23,6 +23,8 @@
using namespace Ph2_HwDescription;
// maximum number of tries allowed to attempt a write procedure to a CBC register
const uint8_t MAX_WRITE_ATTEMPTS = 5 ;
/*!
* \namespace Ph2_HwInterface
* \brief Namespace regrouping all the interfaces to the hardware
......@@ -45,6 +47,8 @@ namespace Ph2_HwInterface {
FpgaConfig* fpgaConfig;
FileHandler* fFileHandler ;
uint32_t fNthAcq, fNpackets;
// number of tries a CBC register write operation was attempted
uint8_t fRegWriteAttempts;
private:
/*!
......
ANTENNADIR=CMSPh2_AntennaDriver
AMC13DIR=/opt/cactus/include/amc13
HMP4040DIR=../Ph2_USBInstDriver
#DEPENDENCIES := Utils HWDescription HWInterface System tools RootWeb Tracker src miniDAQ
DEPENDENCIES := Utils HWDescription HWInterface RootWeb Tracker
ANTENNAINSTALLED = no
AMC13INSTALLED = no
HMP4040INSTALLED = no
ifneq ("$(wildcard $(ANTENNADIR))","")
DEPENDENCIES := CMSPh2_AntennaDriver $(DEPENDENCIES)
......@@ -20,6 +22,14 @@ else
AMC13INSTRUCTIONS = This feature can only be built if the AMC13 libraries are installed with cactus!
endif
ifneq ("$(wildcard $(HMP4040DIR))","")
DEPENDENCIES := ../Ph2_USBInstDriver $(DEPENDENCIES)
HMP4040INSTALLED = yes
HMP4040INSTRUCTIONS = HMP4040 instrument driver found.
else
HMP4040INSTRUCTIONS = To use the HMP4040 Instrument driver, please download the Driver from 'https://:@gitlab.cern.ch:8443/cms_tk_ph2/Ph2_USBInstDriver.git'.
endif
.PHONY: print dependencies $(DEPENDENCIES) clean src miniDAQ tools
all: src miniDAQ
......@@ -53,6 +63,9 @@ print:
@echo 'Antenna Driver installed:' $(ANTENNAINSTALLED)
@echo $(ANTENNAINSTRUCTIONS)
@echo '*****************************'
@echo 'HMP4040 Driver installed:' $(HMP4040INSTALLED)
@echo $(HMP4040INSTRUCTIONS)
@echo '*****************************'
clean:
......@@ -66,6 +79,6 @@ clean:
(cd miniDAQ; make clean)
(cd Tracker; make clean)
(cd AMC13; make clean)
(cd ../Ph2_USBInstDriver; make clean)
#(cd doc; make clean)
(rm -f lib/* bin/*)
(rm -f lib/* bin/*)
\ No newline at end of file
......@@ -65,6 +65,17 @@ namespace Ph2_System {
else pVec = fFileHandler->readFileChunks (pNWords32);
}
void SystemController::ChangeHWDescription( const std::string& pFilename, std::ostream& os )
{
//os << "Before change , #: " << fBoardVector.size() << " BE boards!" << std::endl ;
fBoardVector.clear();
fBeBoardFWMap.clear();
this->fParser.parseHW (pFilename, fBeBoardFWMap, fBoardVector, os);
//os << "After change , #: " << fBoardVector.size() << " BE boards!" << std::endl ;
if (fWriteHandlerEnabled)
this->initializeFileHandler();
}
void SystemController::InitializeHw ( const std::string& pFilename, std::ostream& os )
{
this->fParser.parseHW (pFilename, fBeBoardFWMap, fBoardVector, os);
......@@ -75,7 +86,11 @@ namespace Ph2_System {
if (fWriteHandlerEnabled)
this->initializeFileHandler();
}
void SystemController::ChangeSettings ( const std::string& pFilename, std::ostream& os )
{
fSettingsMap.clear();
this->fParser.parseSettings (pFilename, fSettingsMap, os);
}
void SystemController::InitializeSettings ( const std::string& pFilename, std::ostream& os )
{
this->fParser.parseSettings (pFilename, fSettingsMap, os);
......
......@@ -128,14 +128,28 @@ namespace Ph2_System {
cBoard->accept ( pVisitor );
}
/*!
* \brief change the hardware description via a config file.
* \Added to allow the reconfiguation of the GLIB during a test procedure.
* \param pFilename : HW Description file
*\param os : ostream to dump output
*/
void ChangeHWDescription ( const std::string& pFilename, std::ostream& os = std::cout );
/*!
* \brief Initialize the Hardware via a config file
* \param pFilename : HW Description file
*\param os : ostream to dump output
*/
void InitializeHw ( const std::string& pFilename, std::ostream& os = std::cout );
/*!
* \brief change the settings
* \param pFilename : settings file
*\param os : ostream to dump output
*/
void ChangeSettings ( const std::string& pFilename, std::ostream& os = std::cout );
/*!
* \brief Initialize the settings
* \Added to allow the reconfiguation of the settings during a test procedure.
* \param pFilename : settings file
*\param os : ostream to dump output
*/
......
......@@ -26,6 +26,7 @@ public:
<< " finished at: " << tnow
<< "\telapsed time: " << time_span.count() << " seconds" << std::endl;
}
double getElapsedTime(){ duration<double> time_span = duration_cast<duration<double>>(end_ - start_); return time_span.count();}
void reset() {start_ = end_;}
private:
......
......@@ -2,12 +2,12 @@
<HwDescription>
<BeBoard Id="0" boardType="GLIB">
<!-- <connection id="board" uri="ipbusudp-2.0://192.168.000.175:50001" address_table="file://settings/address_table_2CBC.xml" /> -->
<connection id="board" uri="chtcp-2.0://cmsuptracker008:10203?target=192.168.0.175:50001" address_table="file://settings/address_table_2CBC.xml" />
<connection id="board" uri="chtcp-2.0://localhost:10203?target=192.168.0.175:50001" address_table="file://settings/address_table_2CBC.xml" />
<FW_Version NCbcDataSize="4" />
<Module FeId="0" FMCId="0" ModuleId="0" Status="1">
<Global_CBC_Register name="MiscTestPulseCtrl&amp;AnalogMux">0x21</Global_CBC_Register>
<CBC Id="0" configfile="./settings/Cbc_default_electron.txt" />
<CBC Id="1" configfile="./settings/Cbc_default_electron.txt" />
<CBC Id="0" configfile="./settings/Cbc_default_hole.txt" />
<CBC Id="1" configfile="./settings/Cbc_default_hole.txt" />
</Module>
<!-- Commissioning Mode -->
<!-- set to 1 to enable commissioning mode -->
......@@ -50,8 +50,8 @@
<Settings>
<Setting name="TargetVcth">0x78</Setting>
<Setting name="TargetOffset">0x50</Setting>
<Setting name="Nevents">200</Setting>
<Setting name="Nevents">200</Setting>
<Setting name="TestPulsePotentiometer">0x00</Setting>
<Setting name="HoleMode">0</Setting>
<Setting name="HoleMode">1</Setting>
<Setting name="VerificationLoop">1</Setting>
</Settings>
......@@ -2,7 +2,9 @@
<HwDescription>
<BeBoard Id="0" boardType="GLIB">
<!-- <connection id="board" uri="ipbusudp-2.0://192.168.000.163:50001" address_table="file://settings/address_table_2CBC.xml" /> -->
<connection id="board" uri="chtcp-2.0://cmsuptracker002:10203?target=192.168.0.175:50001" address_table="file://settings/address_table_2CBC.xml" />
<!-- <connection id="board" uri="chtcp-2.0://cmsuptracker002:10203?target=192.168.0.175:50001" address_table="file://settings/address_table_2CBC.xml" /> -->
<connection id="board" uri="chtcp-2.0://localhost:10203?target=192.168.0.175:50001" address_table="file://settings/address_table_2CBC.xml" />
<FW_Version NCbcDataSize="4" />
<Module FeId="0" FMCId="0" ModuleId="0" Status="1">
<Global_CBC_Register name="VCth"> 0x76 </Global_CBC_Register>
......@@ -12,7 +14,7 @@
<!--<Global_CBC_Register name="TestPulsePot">0xE0</Global_CBC_Register>-->
<!--<Global_CBC_Register name="SelTestPulseDel&ChanGroup">0x00</Global_CBC_Register>-->
<CBC_Files path="./Results/Calibration_Electron_23-05-16_17:45/" />
<CBC_Files path="./Results/Calibration_Hole/" />
<CBC Id="0" configfile="FE0CBC0.txt" />
<CBC Id="1" configfile="FE0CBC1.txt" />
......@@ -58,7 +60,7 @@
</BeBoard>
</HwDescription>
<Settings>
<Setting name="Nevents">10</Setting>
<Setting name="Nevents">1000</Setting>
<Setting name="RunNumber">1</Setting>
<Setting name="HoleMode">0</Setting>
</Settings>
......@@ -2,7 +2,8 @@
<HwDescription>
<BeBoard Id="0" boardType="GLIB">
<connection id="board" uri="ipbusudp-2.0://192.168.000.175:50001" address_table="file://settings/address_table_2CBC.xml" />
<!-- <connection id="board" uri="ipbusudp-2.0://192.168.000.175:50001" address_table="file://settings/address_table_2CBC.xml" /> -->
<connection id="board" uri="chtcp-2.0://localhost:10203?target=192.168.0.175:50001" address_table="file://settings/address_table_2CBC.xml" />
<FW_Version NCbcDataSize="4"/>
......
......@@ -17,6 +17,9 @@ export BASE_DIR=$(pwd)
#ANTENNA
export ANTENNALIB=CMSPh2_AntennaDriver/lib
#HMP4040
export HMP4040LIB=../Ph2_USBInstDriver/lib
export PATH=$BASE_DIR/bin:$PATH
export LD_LIBRARY_PATH=$BASE_DIR/$ANTENNALIB:$BASE_DIR/RootWeb/lib:/opt/cactus/lib:$BASE_DIR/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=$BASE_DIR/$HMP4040LIB:$BASE_DIR/$ANTENNALIB:$BASE_DIR/RootWeb/lib:/opt/cactus/lib:$BASE_DIR/lib:${LD_LIBRARY_PATH}
......@@ -4,6 +4,7 @@ CCFlags = -g -O0 -w -Wall -pedantic -pthread -std=c++0x -fPIC
CCFlagsRoot = `root-config --cflags --glibs`
ROOTVERSION := $(shell root-config --has-http)
HttpFlag = -D__HTTP__
ZmqFlag = -D__ZMQ__
DevFlags =
......@@ -11,11 +12,13 @@ ANTENNADIR=../CMSPh2_AntennaDriver
AntennaFlag = -D__ANTENNA__
AMC13DIR=/opt/cactus/include/amc13
Amc13Flag = -D__AMC13__
HMP4040DIR=../../Ph2_USBInstDriver
HMP4040Flag = -D__HMP4040__
ZMQ_HEADER_PATH = /usr/include/zmq.hpp
LibraryDirs = /opt/cactus/lib ../lib
IncludeDirs = /opt/cactus/include ../
ExternalObjects= $(LibraryPaths) -lpthread -lcactus_extern_pugixml -lcactus_uhal_log -lcactus_uhal_grammars -lcactus_uhal_uhal -lboost_system -lPh2_Interface -lPh2_Description -lPh2_System -lPh2_Utils -lPh2_Tracker -lPh2_Tools
ExternalObjects= $(LibraryPaths) -lcactus_extern_pugixml -lcactus_uhal_log -lcactus_uhal_grammars -lcactus_uhal_uhal -lboost_system -lPh2_Interface -lPh2_Description -lPh2_System -lPh2_Utils -lPh2_Tracker -lPh2_Tools
##################################################
## check if the Root has THttp
......@@ -32,7 +35,7 @@ endif
ifneq ("$(wildcard $(ANTENNADIR))","")
IncludeDirs += $(ANTENNADIR)
LibraryDirs += $(ANTENNADIR)/lib /usr/lib64/
ExternalObjects += -lPh2_Antenna $(AntennaFlag)
ExternalObjects += -lboost_thread -lPh2_Antenna $(AntennaFlag)
ANTENNAINSTALLED = yes
else
ANTENNAINSTALLED = no
......@@ -48,7 +51,27 @@ else
AMC13INSTALLED = no
endif
#################################################
# check if ZMQ library is available on this machine
#################################################
ifneq ("$(wildcard $(ZMQ_HEADER_PATH))","")
ExternalObjects += -lzmq $(ZmqFlag)
ZMQINSTALLED = yes
else
ZMQINSTALLED = no
ZMQINSTRUCTIONS = ZeroMQ library is required to build the lvSupervisor with the server option - get it with \'sudo yum install zeromq-devel\'
endif
##################################################
## check if the HMP4040 drivers are installed
##################################################
ifneq ("$(wildcard $(HMP4040DIR))","")
LibraryDirs += $(HMP4040DIR)/lib $(HMP4040DIR)/Utils $(HMP4040DIR)/HMP4040
IncludeDirs += $(BOOST_INCLUDE) $(HMP4040DIR)/HMP4040 $(HMP4040DIR)/Utils $(HMP4040DIR)/Drivers
ExternalObjects += -lpthread -lboost_thread -lPh2_HMP4040 -lPh2_USBUtils -lPh2_Drivers $(HMP4040Flag)
HMP4040INSTALLED = yes
else
HMP4040INSTALLED = no
endif
IncludePaths = $(IncludeDirs:%=-I%)
RootLibraryDirs = /usr/local/lib/root
......@@ -57,7 +80,7 @@ LibraryPaths = $(LibraryDirs:%=-L%)
RootLibraryPaths = $(RootLibraryDirs:%=-L%)
binaries=print systemtest datatest hybridtest cmtest calibrate commission fpgaconfig pulseshape configure #test
binaries=print systemtest datatest hybridtest cmtest calibrate commission fpgaconfig pulseshape configure integratedtester
binariesNoRoot=systemtest datatest fpgaconfig configure
.PHONY: clean $(binaries)
......@@ -74,8 +97,14 @@ print:
@echo 'Root Has Http:' $(ROOTVERSION)
@echo 'Amc13 SW installed:' $(AMC13INSTALLED)
@echo 'Antenna installed:' $(ANTENNAINSTALLED)
@echo 'HMP4040 installed:' $(HMP4040INSTALLED)
@echo 'ZXMQ installed:' $(ZMQINSTALLED)
@echo '****************************'
integratedtester: integratedtester.cc
$(CXX) $(CCFlags) -o $@ $< $(IncludePaths) $(ExternalObjects)
cp $@ ../bin
systemtest: systemtest.cc
$(CXX) $(CCFlags) -o $@ $< $(IncludePaths) $(ExternalObjects)
cp $@ ../bin
......@@ -112,9 +141,5 @@ pulseshape: pulseshape.cc
$(CXX) $(CCFlags) -o $@ $< $(IncludePaths) $(ExternalObjects)
cp $@ ../bin
#test: test.cc
#$(CXX) $(CCFlags) -o $@ $< $(IncludePaths) $(ExternalObjects)
#cp $@ ../bin
clean:
rm -f $(binaries) *.o
......@@ -12,15 +12,24 @@
#include "TROOT.h"
#include "TApplication.h"
#include "../Utils/Timer.h"
#include "../Utils/easylogging++.h"
#ifdef __HTTP__
#include "THttpServer.h"
#endif
#ifdef __ZMQ__
#include "../../Ph2_USBInstDriver/Utils/zmqutils.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Controller.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Client.h"
using namespace Ph2_UsbInst;
#endif
using namespace Ph2_HwDescription;
using namespace Ph2_HwInterface;
using namespace Ph2_System;
using namespace CommandLineProcessing;
INITIALIZE_EASYLOGGINGPP
int main ( int argc, char* argv[] )
{
......
......@@ -8,14 +8,25 @@
#include "../tools/CMTester.h"
#include <TApplication.h>
#include "../Utils/argvparser.h"
#include "../Utils/easylogging++.h"
#include "TROOT.h"
#ifdef __HTTP__
#include "THttpServer.h"
#endif
#ifdef __ZMQ__
#include "../../Ph2_USBInstDriver/Utils/zmqutils.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Controller.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Client.h"
using namespace Ph2_UsbInst;
#endif
using namespace Ph2_HwDescription;
using namespace Ph2_HwInterface;
using namespace Ph2_System;
using namespace CommandLineProcessing;
INITIALIZE_EASYLOGGINGPP
int main( int argc, char* argv[] )
......
#include <cstring>
#include "../Utils/easylogging++.h"
#include "../Utils/Utilities.h"
#include "../tools/SignalScan.h"
#include "../tools/LatencyScan.h"
......@@ -9,12 +11,21 @@
#include "TROOT.h"
#include "TApplication.h"
#ifdef __HTTP__
#include "THttpServer.h"
#endif
#ifdef __ZMQ__
#include "../../Ph2_USBInstDriver/Utils/zmqutils.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Controller.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Client.h"
using namespace Ph2_UsbInst;
#endif
using namespace Ph2_HwDescription;
using namespace Ph2_HwInterface;
using namespace Ph2_System;
using namespace CommandLineProcessing;
INITIALIZE_EASYLOGGINGPP
int main ( int argc, char* argv[] )
......
......@@ -3,12 +3,24 @@
#include "../Utils/argvparser.h"
#include "../System/SystemController.h"
#include "../Utils/CommonVisitors.h"
#include "../Utils/easylogging++.h"
// Ph2_usb_instDriverStuff
#ifdef __HTTP__
#include "THttpServer.h"
#endif
#ifdef __ZMQ__
#include "../../Ph2_USBInstDriver/Utils/zmqutils.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Controller.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Client.h"
using namespace Ph2_UsbInst;
#endif
using namespace Ph2_HwDescription;
using namespace Ph2_HwInterface;
using namespace Ph2_System;
using namespace CommandLineProcessing;
INITIALIZE_EASYLOGGINGPP
//Class used to process events acquired by a parallel acquisition
......
......@@ -9,6 +9,7 @@
#include "../HWDescription/Definition.h"
//#include "../tools/Calibration.h"
#include "../Utils/Timer.h"
#include "../Utils/easylogging++.h"
//#include <TApplication.h>
#include <inttypes.h>
#include "../Utils/argvparser.h"
......@@ -16,13 +17,26 @@
#include "../System/SystemController.h"
#include "../Utils/CommonVisitors.h"
#include "../Tracker/TrackerEvent.h"
using namespace std;
// Ph2_usb_instDriverStuff
#ifdef __HTTP__
#include "THttpServer.h"
#endif
#ifdef __ZMQ__
#include "../../Ph2_USBInstDriver/Utils/zmqutils.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Controller.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Client.h"
using namespace Ph2_UsbInst;
#endif
using namespace Ph2_HwDescription;
using namespace Ph2_HwInterface;
using namespace Ph2_System;
using namespace CommandLineProcessing;
using namespace std;
INITIALIZE_EASYLOGGINGPP
//Class used to process events acquired by a parallel acquisition
class AcqVisitor: public HwInterfaceVisitor
......
#include <cstring>
#include "../Utils/Utilities.h"
#include "../Utils/easylogging++.h"
#include "../HWDescription/Cbc.h"
#include "../HWDescription/Module.h"
#include "../HWDescription/BeBoard.h"
......@@ -16,12 +17,22 @@
#include "../System/SystemController.h"
using namespace std;
#ifdef __HTTP__
#include "THttpServer.h"
#endif
#ifdef __ZMQ__
#include "../../Ph2_USBInstDriver/Utils/zmqutils.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Controller.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Client.h"
using namespace Ph2_UsbInst;
#endif
using namespace Ph2_HwDescription;
using namespace Ph2_HwInterface;
using namespace Ph2_System;
using namespace CommandLineProcessing;
using namespace std;
INITIALIZE_EASYLOGGINGPP
//Class used to process events acquired by a parallel acquisition
class AcqVisitor: public HwInterfaceVisitor
......@@ -167,8 +178,7 @@ int main( int argc, char* argv[] )
bool cDone = 0;
if (cmd.foundOption("download"))
if (cmd.foundOption("download"))
cSystemController.fBeBoardInterface->DownloadFpgaConfig(pBoard, strImage, cmd.optionValue("download"));
else
cSystemController.fBeBoardInterface->FlashProm(pBoard, strImage, cFWFile.c_str());
......@@ -191,5 +201,4 @@ int main( int argc, char* argv[] )
t.stop();
t.show( "Time elapsed:" );
}
}
\ No newline at end of file
......@@ -8,14 +8,25 @@
#include "../tools/HybridTester.h"
#include <TApplication.h>
#include "../Utils/argvparser.h"
#include "../Utils/easylogging++.h"
#include "TROOT.h"
#ifdef __HTTP__
#include "THttpServer.h"
#endif
#ifdef __ZMQ__
#include "../../Ph2_USBInstDriver/Utils/zmqutils.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Controller.h"
#include "../../Ph2_USBInstDriver/HMP4040/HMP4040Client.h"
using namespace Ph2_UsbInst;
#endif
using namespace Ph2_HwDescription;
using namespace Ph2_HwInterface;
using namespace Ph2_System;
using namespace CommandLineProcessing;
INITIALIZE_EASYLOGGINGPP
int main( int argc, char* argv[] )
......
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment