Changeset 11982
- Timestamp:
- 09/06/11 12:49:44 (13 years ago)
- Location:
- trunk/FACT++
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/Makefile.am
r11903 r11982 38 38 chatclient chatserv \ 39 39 biasctrl \ 40 mcp \40 mcp feedback \ 41 41 fitsdump 42 42 … … 269 269 libConfiguration.la 270 270 271 feedback_SOURCES = src/feedback.cc src/LocalControl.h 272 feedback_LDADD = libDim.la libDim++.la libDimExtension.la \ 273 libTime.la libTools.la libStateMachine.la \ 274 libConfiguration.la 275 271 276 272 277 argv_SOURCES = src/argv.cc -
trunk/FACT++/Makefile.in
r11903 r11982 52 52 fadctrl$(EXEEXT) fad$(EXEEXT) fscctrl$(EXEEXT) fsc$(EXEEXT) \ 53 53 chatclient$(EXEEXT) chatserv$(EXEEXT) biasctrl$(EXEEXT) \ 54 mcp$(EXEEXT) fitsdump$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \ 55 $(am__EXEEXT_3) $(am__EXEEXT_4) 54 mcp$(EXEEXT) feedback$(EXEEXT) fitsdump$(EXEEXT) \ 55 $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ 56 $(am__EXEEXT_4) 56 57 @HAS_GUI_TRUE@am__append_1 = fact 57 58 @HAS_VIEWER_TRUE@am__append_2 = viewer … … 270 271 fadctrl_DEPENDENCIES = libDim.la libDim++.la libDimExtension.la \ 271 272 libTime.la libTools.la libStateMachine.la libConfiguration.la 273 am_feedback_OBJECTS = src/feedback.$(OBJEXT) 274 feedback_OBJECTS = $(am_feedback_OBJECTS) 275 feedback_DEPENDENCIES = libDim.la libDim++.la libDimExtension.la \ 276 libTime.la libTools.la libStateMachine.la libConfiguration.la 272 277 am_fitsdump_OBJECTS = src/fitsdump.$(OBJEXT) 273 278 fitsdump_OBJECTS = $(am_fitsdump_OBJECTS) … … 393 398 $(dimctrl_SOURCES) $(dns_SOURCES) $(drivectrl_SOURCES) \ 394 399 $(dserver2_SOURCES) $(fact_SOURCES) $(fad_SOURCES) \ 395 $(fadctrl_SOURCES) $(fitsdump_SOURCES) fitsgrep.c \ 396 $(fitsloader_SOURCES) $(fsc_SOURCES) $(fscctrl_SOURCES) \ 397 $(ftm_SOURCES) $(ftmctrl_SOURCES) $(log_SOURCES) \ 398 $(logtime_SOURCES) $(mcp_SOURCES) $(readfits_SOURCES) sched.c \ 399 $(scheduler_SOURCES) $(test_SOURCES) $(time_SOURCES) \ 400 $(triggerschedule_SOURCES) $(viewer_SOURCES) 400 $(fadctrl_SOURCES) $(feedback_SOURCES) $(fitsdump_SOURCES) \ 401 fitsgrep.c $(fitsloader_SOURCES) $(fsc_SOURCES) \ 402 $(fscctrl_SOURCES) $(ftm_SOURCES) $(ftmctrl_SOURCES) \ 403 $(log_SOURCES) $(logtime_SOURCES) $(mcp_SOURCES) \ 404 $(readfits_SOURCES) sched.c $(scheduler_SOURCES) \ 405 $(test_SOURCES) $(time_SOURCES) $(triggerschedule_SOURCES) \ 406 $(viewer_SOURCES) 401 407 DIST_SOURCES = $(libConfiguration_la_SOURCES) $(libDim___la_SOURCES) \ 402 408 $(libDim_la_SOURCES) $(libDimExtension_la_SOURCES) \ … … 408 414 $(drivectrl_SOURCES) $(dserver2_SOURCES) \ 409 415 $(am__fact_SOURCES_DIST) $(fad_SOURCES) \ 410 $(am__fadctrl_SOURCES_DIST) $(fitsdump_SOURCES) fitsgrep.c \ 411 $(fitsloader_SOURCES) $(fsc_SOURCES) $(fscctrl_SOURCES) \ 412 $(ftm_SOURCES) $(ftmctrl_SOURCES) $(log_SOURCES) \ 413 $(logtime_SOURCES) $(mcp_SOURCES) $(readfits_SOURCES) sched.c \ 416 $(am__fadctrl_SOURCES_DIST) $(feedback_SOURCES) \ 417 $(fitsdump_SOURCES) fitsgrep.c $(fitsloader_SOURCES) \ 418 $(fsc_SOURCES) $(fscctrl_SOURCES) $(ftm_SOURCES) \ 419 $(ftmctrl_SOURCES) $(log_SOURCES) $(logtime_SOURCES) \ 420 $(mcp_SOURCES) $(readfits_SOURCES) sched.c \ 414 421 $(scheduler_SOURCES) $(test_SOURCES) $(time_SOURCES) \ 415 422 $(triggerschedule_SOURCES) $(am__viewer_SOURCES_DIST) … … 852 859 libConfiguration.la 853 860 861 feedback_SOURCES = src/feedback.cc src/LocalControl.h 862 feedback_LDADD = libDim.la libDim++.la libDimExtension.la \ 863 libTime.la libTools.la libStateMachine.la \ 864 libConfiguration.la 865 854 866 argv_SOURCES = src/argv.cc 855 867 argv_LDADD = libConfiguration.la … … 1291 1303 @rm -f fadctrl$(EXEEXT) 1292 1304 $(AM_V_CXXLD)$(CXXLINK) $(fadctrl_OBJECTS) $(fadctrl_LDADD) $(LIBS) 1305 src/feedback.$(OBJEXT): src/$(am__dirstamp) \ 1306 src/$(DEPDIR)/$(am__dirstamp) 1307 feedback$(EXEEXT): $(feedback_OBJECTS) $(feedback_DEPENDENCIES) 1308 @rm -f feedback$(EXEEXT) 1309 $(AM_V_CXXLD)$(CXXLINK) $(feedback_OBJECTS) $(feedback_LDADD) $(LIBS) 1293 1310 src/fitsdump.$(OBJEXT): src/$(am__dirstamp) \ 1294 1311 src/$(DEPDIR)/$(am__dirstamp) … … 1512 1529 -rm -f src/fad.$(OBJEXT) 1513 1530 -rm -f src/fadctrl.$(OBJEXT) 1531 -rm -f src/feedback.$(OBJEXT) 1514 1532 -rm -f src/fitsdump.$(OBJEXT) 1515 1533 -rm -f src/fitsloader.$(OBJEXT) … … 1621 1639 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/fad.Po@am__quote@ 1622 1640 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/fadctrl.Po@am__quote@ 1641 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/feedback.Po@am__quote@ 1623 1642 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/fitsdump.Po@am__quote@ 1624 1643 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/fitsloader.Po@am__quote@ -
trunk/FACT++/ftmctrl.rc
r11339 r11982 1 console=2 2 3 run-type=data 4 run-type=pedestal 5 run-type=drs-calib 6 7 sampling-frequency.default = 2000 8 9 ftu-report-interval.default = 100 10 11 12 [trigger] 13 enable-trigger.default = yes 14 enable-trigger.pedestal = no 15 enable-trigger.drs-calib = no 16 17 enable-external-1.default = no 18 enable-external-2.default = no 19 enable-veto.default = no 20 enable-clock-conditioner.default = no 21 22 multiplicity-physics.default = 1 23 multiplicity-calib.default = 40 24 coincidence-window-physics.default = 10 25 coincidence-window-calib.default = 10 26 dead-time.default = 25 27 delay.default = 25 28 time-marker-delay.default = 25 29 30 #disable-patch.default = 31 #disable-pixel.default = 32 33 34 [trigger.threshold] 35 36 patch.default = 150 37 logic.default = 16 38 39 40 [trigger.sequence] 41 interval.default = 50 42 pedestal.default = 0 43 lp-int.default = 0 44 lp-ext.default = 0 45 46 47 [light-pulser.external] 48 49 intensity.default = 100 50 enable-group1.default = no 51 enable-group2.default = no 52 53 54 [light-pulser.internal] 55 56 intensity.default = 10 57 enable-group1.default = no 58 enable-group2.default = no 59 60 1 61 [clock-conditioner] 2 62 frequency = 800 … … 36 96 R15.4000 = 0x1400fa0f 37 97 R15.5000 = 0x0802710f 98 -
trunk/FACT++/gui/MainWindow.cc
r11957 r11982 575 575 } 576 576 577 /* 577 578 void MainWindow::on_fBiasRequestStatus_clicked() 578 579 { … … 580 581 Dim::SendCommand("BIAS_CONTROL/REQUEST_STATUS"); 581 582 } 583 */ 582 584 583 585 void MainWindow::on_fBiasApplyReference_clicked() 584 586 { 585 587 if (!fInHandler) 586 Dim::SendCommand("BIAS_CONTROL/SET_GAPD_REFERENCE_VOLTAGE"); 588 Dim::SendCommand("BIAS_CONTROL/SET_GLOBAL_GAPD_REFERENCE_VOLTAGE"); 589 } 590 591 void MainWindow::on_fBiasApplyReferenceCh_clicked() 592 { 593 if (!fInHandler) 594 Dim::SendCommand("BIAS_CONTROL/SET_CHANNEL_GAPD_REFERENCE_VOLTAGE", 595 uint16_t(fBiasHvBoard->value()*32+fBiasHvChannel->value())); 587 596 } 588 597 -
trunk/FACT++/gui/MainWindow.h
r11957 r11982 172 172 void on_fBiasCurrentMax_valueChanged(int); // FIXME: Could be set as slot in the designer 173 173 174 void on_fBiasRequestStatus_clicked();174 //void on_fBiasRequestStatus_clicked(); 175 175 void on_fBiasApply_clicked(); 176 176 void on_fBiasApplyGlobal_clicked(); 177 177 void on_fBiasApplyReference_clicked(); 178 void on_fBiasApplyReferenceCh_clicked(); 178 179 void on_fBiasSetToZero_clicked(); 179 180 void on_fBiasReset_clicked(); -
trunk/FACT++/src/RemoteControl.h
r11051 r11982 121 121 { 122 122 } 123 124 //void SetReceiver(void *) { } 123 125 124 126 bool PrintGeneralHelp() -
trunk/FACT++/src/argv.cc
r11229 r11982 4 4 5 5 using namespace std; 6 7 template<class T,class S> 8 std::ostream &operator<<(std::ostream &out, const pair<T,S> &f) 9 { 10 out << f.first << "|" << f.second; 11 return out; 12 } 13 template<class T, class S> 14 std::istream &operator>>(std::istream &in, pair<T,S> &f) 15 { 16 char c; 17 in >> f.first; 18 in >> c; 19 if (c!=':') 20 return in; 21 in >> f.second; 22 return in; 23 } 24 25 typedef pair<int,int> mytype; 26 27 28 //Source is OutputStreamable, meaning that an operator<< is defined 29 // that takes a std::ostream or std::wostream object on the left hand side 30 // and an instance of the argument type on the right. 31 32 // Target is InputStreamable, meaning that an operator>> is defined that 33 // takes a std::istream or std::wistream object on the left hand side and 34 // an instance of the result type on the right. 35 36 //Target is CopyConstructible [20.1.3]. 37 //Target is DefaultConstructible, meaning that it is possible to default-initialize an object of that type [8.5, 20.1.4]. 6 38 7 39 // -------------------------------------------------------------------------- … … 67 99 po::options_description config("Configuration"); 68 100 config.add_options() 101 ("xxx", vars<int>(), "Print available commandline options.") 102 ("test.*", var<int>(), "Print available commandline options.") 103 ("map.*", var<int>(), "Print available commandline options.") 69 104 ("compression", var<int>(), "set compression level") 70 105 ("optimization", var<int>(10, &opt), "optimization level") … … 82 117 ("switch", po_switch(), "include path") 83 118 ("bool", var<bool>()->implicit_value(true), "include path") 119 ("mytype", var<mytype>(), "include path") 84 120 ; 85 121 … … 170 206 cout << "Program " << argv[0] << " started successfully." << endl; 171 207 208 cout << conf.Has("test.A") << " " << conf.Get<int>("test.A") << endl; 209 cout << conf.Has("test.%") << " " << conf.Get<int>("test.%") << endl; 210 cout << conf.Has("test.9") << " " << conf.Get<int>("test.9") << endl; 211 cout << conf.Has("test.data") << " " << conf.Get<int>("test.data") << endl; 212 cout << conf.Has("test.pedestal") << " " << conf.Get<int>("test.pedestal") << endl; 213 cout << conf.Has("map.1") << " " << conf.Get<int>("map.1") << endl; 214 cout << conf.Has("map.2") << " " << conf.Get<int>("map.2") << endl; 215 216 return 0; 217 172 218 cout << conf.Has("switch") << " " << conf.Get<bool>("switch") << endl; 173 cout << conf.Has("bool") << " " << conf.Get<bool>("bool") << endl; 219 cout << conf.Has("bool") << " " << conf.Get<bool>("bool") << endl; 220 cout << conf.Has("mytype") << " " << conf.Get<mytype>("mytype") << endl; 221 222 cout << "---" << endl; 223 cout << conf.Has("test:A") << " " << conf.Get<int>("test:A") << endl; 224 cout << conf.Has("test:%") << " " << conf.Get<int>("test:%") << endl; 225 cout << conf.Has("test:9") << " " << conf.Get<int>("test:9") << endl; 226 227 /* 228 map<string, int> m = conf.GetMap<int>("test:"); 229 230 cout << m["test:A"] << endl; 231 cout << m["test:%"] << endl; 232 cout << m["test:9"] << endl; 233 */ 234 174 235 175 236 return 0; -
trunk/FACT++/src/biasctrl.cc
r11980 r11982 955 955 } 956 956 957 bool SetGapdReferenceCh(uint16_t ch) 958 { 959 if (!CheckChDac("SetGapdReferenceCh", fVoltGapd[ch], ch)) 960 return false; 961 962 fVoltRef[ch] = fVoltGapd[ch]; 963 964 if (!fIsRamping) 965 fIsRamping = RampOneStep(); 966 967 return true; 968 } 969 970 957 971 void SetZero() 958 972 { … … 1459 1473 } 1460 1474 1475 int SetGapdReferenceCh(const EventImp &evt) 1476 { 1477 if (!CheckEventSize(evt.GetSize(), "SetGapdReferenceCh", 2)) 1478 return false; 1479 1480 fBias.SetGapdReferenceCh(evt.GetUShort()); 1481 1482 return T::GetCurrentState(); 1483 } 1484 1485 1461 1486 // -------------------------------------------------------------------- 1462 1487 … … 1714 1739 ("Set a single channel a new DAC reference value. Starts ramping if necessary."); 1715 1740 1716 T::AddEvent("SET_G APD_REFERENCE_VOLTAGE", kConnected, kAtReference, kOverCurrent)1741 T::AddEvent("SET_GLOBAL_GAPD_REFERENCE_VOLTAGE", kConnected, kAtReference, kOverCurrent) 1717 1742 (Wrapper(bind(&ConnectionBias::SetGapdVoltage, &fBias, 0.))) 1718 1743 ("Set all channels to their G-APD reference voltage. Starts ramping if necessary."); 1744 1745 T::AddEvent("SET_CHANNEL_GAPD_REFERENCE_VOLTAGE", "S:1", kConnected, kAtReference, kOverCurrent) 1746 (bind(&StateMachineBias::SetGapdReferenceCh, this, placeholders::_1)) 1747 ("Set a single channel channels to its G-APD reference voltage. Starts ramping if necessary."); 1719 1748 1720 1749 T::AddEvent("SET_GAPD_REFERENCE_OFFSET", "F:1", kConnected, kAtReference, kOverCurrent) -
trunk/FACT++/src/logtime.cc
r11229 r11982 6 6 #include <iostream> 7 7 8 #include "DimDescriptionService.h" 9 8 10 int main(int, const char **) 9 11 { 10 // We could use putenv to make the Configure class change the value...12 // We could use putenv to make the Configure class change the value... 11 13 setenv("DIM_DNS_NODE", "localhost", 0); 12 14 … … 14 16 DimServer::start("TIME"); 15 17 18 usleep(2000000); 19 20 DimServer::stop(); 21 22 return 0; 23 16 24 // Some info on the console 17 25 std::cout << "Offering TIME/MESSAGE...\n" << std::endl; 26 27 short s; 28 int i; 29 long long ll; 30 float f; 31 DimDescribedService servt("TIME/TEST", "O:1;I:1;C", 32 "This is my test command|Char[c]:This is a char| Int This is an int|String[s]:This is a string"); 33 34 DimDescribedService servs("TIME/SHORT", s, "[a]"); 35 DimDescribedService servx("TIME/LONGLONG", ll, "|: This is my long long"); 36 DimDescribedService servi("TIME/INT", i, "|MyInt [ mi ] "); 37 DimDescribedService servf("TIME/FLOAT", f, "| MyFloat : This is my float"); 38 DimDescribedService servc("TIME/TIME", const_cast<char*>(""), "|MyTime[T]:This is my time"); 39 40 DimCommand cmd("TIME/CMD", "I:2;F:2"); 41 42 DimDescriptionService des("TIME/CMD", "|range[addr]:From DAC to DAC|values[DAC]:DAC values to be set"); 43 44 { 45 Time t0; 18 46 19 47 // Setup a DimService called TIME/MESSAGE … … 23 51 // Send current time 24 52 msg.Message(Time().GetAsStr()); 53 // servx.Update(); 54 /* 55 servs.updateService(); 56 servi.updateService(); 57 servf.updateService(); 58 servc.updateService(); 59 */ 60 // wait approximately one second 61 usleep(100000); 25 62 26 // wait approximately one second 27 usleep(1000000);63 // if (t0.UnixTime()-Time().UnixTime()<-5) 64 // break; 28 65 } 66 } 67 68 DimDescribedService servxx("TIME/XXX", const_cast<char*>(""), "|MyTime[T]:This is my time"); 69 usleep(10000000); 29 70 30 71 return 0; -
trunk/FACT++/src/mcp.cc
r11619 r11982 55 55 kStateConfiguring2, 56 56 kStateConfiguring3, 57 kStateConfiguring4, 57 58 kStateConfigured, 58 59 }; … … 271 272 } 272 273 274 Time fConfigTimer; 275 273 276 int Execute() 274 277 { … … 317 320 return GetCurrentState(); 318 321 322 fConfigTimer = Time(); 323 324 return kStateConfiguring4; 325 } 326 327 if (GetCurrentState()==kStateConfiguring4) 328 { 329 // We need some delay to ensure that after sending the 330 // "Enable Trigger Line" command to all FADs the really 331 // have all already enabled the trigger line 332 if (Time()-fConfigTimer<boost::posix_time::milliseconds(100)) 333 return kStateConfiguring4; 334 319 335 Message("Starting Trigger (FTM)"); 320 336 Dim::SendCommand("FTM_CONTROL/START_RUN"); … … 391 407 392 408 AddStateName(kStateConfiguring3, "Configuring3", 409 "."); 410 411 AddStateName(kStateConfiguring4, "Configuring4", 393 412 "."); 394 413
Note:
See TracChangeset
for help on using the changeset viewer.