From b2723feb47ad365dad25953b2658690e49abcf7f Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Mon, 21 Nov 2011 16:11:28 +0000 Subject: [PATCH] changed a few things in gotthardDetector.cpp and added 2 members to sls_detector_module in slsdetector.cpp to incorporate gotthards need of client ip address and client mac address to send data git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@55 951219d9-93cf-4727-9268-0efd64621fa3 --- .../gotthardDetector/gotthardDetector.cpp | 59 ++++++++++++++++--- .../slsDetector/slsDetector.cpp | 16 +++-- slsDetectorSoftware/slsDetector/slsDetector.h | 5 ++ 3 files changed, 69 insertions(+), 11 deletions(-) diff --git a/slsDetectorSoftware/gotthardDetector/gotthardDetector.cpp b/slsDetectorSoftware/gotthardDetector/gotthardDetector.cpp index 96c24f9ca..d556fe916 100644 --- a/slsDetectorSoftware/gotthardDetector/gotthardDetector.cpp +++ b/slsDetectorSoftware/gotthardDetector/gotthardDetector.cpp @@ -370,10 +370,10 @@ int gotthardDetector::retrieveDetectorSetup(string fname1, int level){ ifstream infile; ostringstream oss; int iline=0; - // string names[]={"Vref", "VcascN","VcascP", "Vout", "Vcasc", "Vin", "Vref_comp", "Vib_test", "config", "HV"}; - string sargname; + string sargname,sargname2; int ival; int ichan=0, ichip=0, idac=0; + string::size_type pos=0; @@ -386,6 +386,7 @@ int gotthardDetector::retrieveDetectorSetup(string fname1, int level){ #endif infile.open(myfname.c_str(), ios_base::in); if (infile.is_open()) { + //dacs--------------- for (int iarg=0; iargnDacs; iarg++) { getline(infile,str); iline++; @@ -401,6 +402,7 @@ int gotthardDetector::retrieveDetectorSetup(string fname1, int level){ idac++; } + //config--------------- getline(infile,str); iline++; #ifdef VERBOSE @@ -409,22 +411,65 @@ int gotthardDetector::retrieveDetectorSetup(string fname1, int level){ istringstream ssstr(str); ssstr >> sargname >> ival; #ifdef VERBOSE - std::cout<< sargname << " (config) is " << ival << std::endl; + std::cout<< sargname << " is " << ival << std::endl; #endif int configval = ival;//myMod->dacs[idac]=ival; + //HV--------------- + getline(infile,str); + iline++; +#ifdef VERBOSE + std::cout<< str << std::endl; +#endif + ssstr.str(str); + ssstr >> sargname >> ival; +#ifdef VERBOSE + std::cout<< sargname << " is " << ival << std::endl; +#endif + int HVval = ival;//myMod->dacs[idac]=ival; + //mac address---------- getline(infile,str); iline++; #ifdef VERBOSE std::cout<< str << std::endl; #endif istringstream sstr(str); - sstr >> sargname >> ival; + sstr >> sargname >> sargname2; #ifdef VERBOSE - std::cout<< sargname << " (HV) is " << ival << std::endl; + std::cout<< sargname << " is " << sargname2 << std::endl; #endif - int HVval = ival;//myMod->dacs[idac]=ival; + //getting rid of dots + pos = sargname2.find("."); + while(pos != string::npos) + { + sargname2.erase( pos, 1 ); + pos = sargname2.find("."); + } + strcpy(thisDetector->clientMacAddress,sargname2.c_str()); + cout<<"macaddress:"<clientMacAddress<> sargname >> sargname2; +#ifdef VERBOSE + std::cout<< sargname << " is " << sargname2 << std::endl; +#endif + //getting rid of dots + pos = sargname2.find("."); + while(pos != string::npos) + { + sargname2.erase( pos, 1 ); + pos = sargname2.find("."); + } + strcpy(thisDetector->clientIPAddress,sargname2.c_str()); + cout<<"ipaddress:"<clientIPAddress<alreadyExisting==0) { /** set hostname to default */ strcpy(thisDetector->hostname,DEFAULT_HOSTNAME); + + /** set client ip address */ + strcpy(thisDetector->clientIPAddress,"none"); + /** set client mac address */ + strcpy(thisDetector->clientMacAddress,"none"); + /** sets onlineFlag to OFFLINE_FLAG */ thisDetector->onlineFlag=OFFLINE_FLAG; /** set ports to defaults */ @@ -2562,9 +2568,9 @@ int slsDetector::setThresholdEnergy(int e_eV, int imod, detectorSettings isetti detectorSettings slsDetector::setSettings( detectorSettings isettings, int imod){ - //#ifdef VERBOSE +#ifdef VERBOSE std::cout<< "slsDetector setSettings "<< std::endl; - //#endif +#endif sls_detector_module *myMod=createModule(); int modmi=imod, modma=imod+1, im=imod; string settingsfname, calfname; @@ -2629,7 +2635,9 @@ int slsDetector::setThresholdEnergy(int e_eV, int imod, detectorSettings isetti case GOTTHARD: ostfn << thisDetector->settingsDir << ssettings <<"/settings.sn";// << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10); oscfn << thisDetector->calDir << ssettings << "/calibration.sn";// << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10); +#ifdef VERBOSE std::cout<< thisDetector->settingsDir<calDir <settingsDir << ssettings <<"/noise.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10); @@ -2638,9 +2646,9 @@ int slsDetector::setThresholdEnergy(int e_eV, int imod, detectorSettings isetti //oscfn << thisDetector->calDir << ssettings << "/calibration.sn" << setfill('0') << setw(3) << hex << getId(MODULE_SERIAL_NUMBER, im) << setbase(10); settingsfname=ostfn.str(); - //#ifdef VERBOSE +#ifdef VERBOSE cout << "the settings name is "<