Changeset 11207 for trunk/FACT++/gui/FactGui.h
- Timestamp:
- 06/29/11 15:13:47 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/gui/FactGui.h
r11200 r11207 385 385 DimStampedInfo fDimFadRuns; 386 386 DimStampedInfo fDimFadEvents; 387 DimStampedInfo fDimFadCurrentEvent;388 387 DimStampedInfo fDimFadEventData; 389 388 DimStampedInfo fDimFadConnections; … … 391 390 DimStampedInfo fDimFadRunNumber; 392 391 DimStampedInfo fDimFadDNA; 392 DimStampedInfo fDimFadTemperature; 393 393 DimStampedInfo fDimFadStatus; 394 394 DimStampedInfo fDimFadStatistics; … … 932 932 void handleFadRuns(const DimData &d) 933 933 { 934 if (!CheckSize(d, 12))934 if (!CheckSize(d, 20)) 935 935 return; 936 936 937 937 const uint32_t *ptr = d.ptr<uint32_t>(); 938 938 939 fEvtBldOpenFiles->setValue(ptr[0]); 940 fEvtBldOpenStreams->setValue(ptr[0]); 939 941 fEvtBldRunNumberMin->setValue(ptr[1]); 940 942 fEvtBldRunNumberMax->setValue(ptr[2]); 941 fEvtBldOpenFiles->setValue(ptr[0]); 943 fEvtBldLastOpened->setValue(ptr[3]); 944 fEvtBldLastClosed->setValue(ptr[4]); 942 945 } 943 946 944 947 void handleFadEvents(const DimData &d) 945 948 { 946 if (!CheckSize(d, 8))949 if (!CheckSize(d, 16)) 947 950 return; 948 951 … … 951 954 fEvtsSuccessCurRun->setValue(ptr[0]); 952 955 fEvtsSuccessTotal->setValue(ptr[1]); 953 } 954 955 void handleFadCurrentEvent(const DimData &d) 956 { 957 if (!CheckSize(d, 4)) 958 return; 959 960 fEvtsEventId->setValue(d.get<uint32_t>()); 956 fEvtBldEventId->setValue(ptr[2]); 957 fEvtBldTriggerId->setValue(ptr[3]); 958 } 959 960 void handleFadTemperature(const DimData &d) 961 { 962 if (d.size()==0) 963 { 964 fFadTempMin->setEnabled(false); 965 fFadTempMax->setEnabled(false); 966 return; 967 } 968 969 if (!CheckSize(d, 82*sizeof(float))) 970 return; 971 972 const float *ptr = d.ptr<float>(); 973 974 fFadTempMin->setEnabled(true); 975 fFadTempMax->setEnabled(true); 976 977 fFadTempMin->setValue(ptr[0]); 978 fFadTempMax->setValue(ptr[40]); 979 980 handleFadToolTip(d.time, fFadTempMin, ptr+1); 981 handleFadToolTip(d.time, fFadTempMax, ptr+41); 961 982 } 962 983 … … 1039 1060 } 1040 1061 1041 vector<uint8_t> fFadConnections;1062 // vector<uint8_t> fFadConnections; 1042 1063 1043 1064 void handleFadConnections(const DimData &d) … … 1070 1091 } 1071 1092 1072 SetLedColor(fFadLEDEventBuilder, ptr[40]==0?kLedRed:kLedGreen, d.time); 1073 1074 fFadConnections.assign(ptr, ptr+40); 1093 1094 const bool runs = ptr[40]!=0; 1095 1096 fStatusEventBuilderLabel->setText(runs?"Running":"Not running"); 1097 fStatusEventBuilderLabel->setToolTip(runs?"Event builder thread running.":"Event builder thread stopped."); 1098 fEvtBldWidget->setEnabled(runs); 1099 1100 SetLedColor(fStatusEventBuilderLed, runs?kLedGreen:kLedRed, d.time); 1101 1102 // fFadConnections.assign(ptr, ptr+40); 1103 } 1104 1105 template<typename T> 1106 void handleFadToolTip(const Time &time, QWidget *w, T *ptr) 1107 { 1108 ostringstream tip; 1109 tip << "<table border='1'><tr><th colspan='11'>" << time.GetAsStr() << " (UTC)</th></tr><tr><th></th>"; 1110 for (int b=0; b<10; b++) 1111 tip << "<th>" << b << "</th>"; 1112 tip << "</tr>"; 1113 1114 for (int c=0; c<4; c++) 1115 { 1116 tip << "<tr><th>" << c << "</th>"; 1117 for (int b=0; b<10; b++) 1118 tip << "<td>" << ptr[c*10+b] << "</td>"; 1119 tip << "</tr>"; 1120 } 1121 tip << "</table>"; 1122 1123 w->setToolTip(tip.str().c_str()); 1075 1124 } 1076 1125 … … 1098 1147 wmax->setValue(max); 1099 1148 1100 ostringstream tip; 1101 tip << "<table border='1'><tr><th colspan='11'>" << Time().GetAsStr() << " (UTC)</th></tr><tr><th></th>"; 1102 for (int b=0; b<10; b++) 1103 tip << "<th>" << b << "</th>"; 1104 tip << "</tr>"; 1105 1106 for (int c=0; c<4; c++) 1107 { 1108 tip << "<tr><th>" << c << "</th>"; 1109 for (int b=0; b<10; b++) 1110 tip << "<td>" << ptr[c*10+b] << "</td>"; 1111 tip << "</tr>"; 1112 } 1113 tip << "</table>"; 1114 1115 led->setToolTip(tip.str().c_str()); 1149 handleFadToolTip(d.time, led, ptr); 1116 1150 } 1117 1151 … … 1152 1186 } 1153 1187 1154 void SetFadLed(QPushButton *led, const DimData &d, uint16_t bitmask) 1155 { 1188 void SetFadLed(QPushButton *led, const DimData &d, uint16_t bitmask, bool invert=false) 1189 { 1190 if (d.size()==0) 1191 { 1192 SetLedColor(led, kLedGray, d.time); 1193 return; 1194 } 1195 1156 1196 const bool quality = d.ptr<uint16_t>()[0]&bitmask; 1157 1197 const bool value = d.ptr<uint16_t>()[1]&bitmask; 1158 1198 const uint16_t *ptr = d.ptr<uint16_t>()+2; 1159 1199 1160 SetLedColor(led, quality?kLedOrange:(value ?kLedGreen:kLedRed), d.time);1200 SetLedColor(led, quality?kLedOrange:(value^invert?kLedGreen:kLedRed), d.time); 1161 1201 1162 1202 ostringstream tip; … … 1184 1224 void handleFadStatus(const DimData &d) 1185 1225 { 1186 if ( !CheckSize(d, 42*sizeof(uint16_t)))1226 if (d.size()!=0 && !CheckSize(d, 42*sizeof(uint16_t))) 1187 1227 return; 1188 1228 … … 1192 1232 SetFadLed(fFadLedDcmReady, d, FAD::EventHeader::kDcmReady); 1193 1233 SetFadLed(fFadLedSpiSclk, d, FAD::EventHeader::kSpiSclk); 1194 SetFadLed(fFadLedRefClockTooLow, d, FAD::EventHeader::kRefClkTooLow );1234 SetFadLed(fFadLedRefClockTooLow, d, FAD::EventHeader::kRefClkTooLow, true); 1195 1235 SetFadLed(fFadLedBusy, d, FAD::EventHeader::kBusy); 1196 1236 SetFadLed(fFadLedTriggerLine, d, FAD::EventHeader::kTriggerLine); … … 1215 1255 fFadEvtDel->setValue(stat[3]); 1216 1256 fFadEvtTot->setValue(stat[4]); 1217 fFadEvtRead->setValue(stat[6]/1024.); 1257 fFadEthernetRateTot->setValue(stat[6]/1024.); 1258 fFadEthernetRateAvg->setValue(stat[6]/1024./stat[7]); 1218 1259 fFadEvtConn->setValue(stat[7]); 1219 1260 } … … 1735 1776 bool enable = false; 1736 1777 1737 if (s.index<FAD::kDisconnected) // No Dim connection 1778 if (s.index<FAD::kOffline) // No Dim connection 1779 { 1738 1780 SetLedColor(fStatusFADLed, kLedGray, time); 1781 1782 fStatusEventBuilderLabel->setText("Offline"); 1783 fStatusEventBuilderLabel->setToolTip("No connection to fadctrl."); 1784 fEvtBldWidget->setEnabled(false); 1785 1786 SetLedColor(fStatusEventBuilderLed, kLedGray, time); 1787 } 1739 1788 if (s.index==FAD::kOffline) // Dim connection / FTM disconnected 1740 1789 SetLedColor(fStatusFADLed, kLedRed, time); … … 2013 2062 return PostInfoHandler(&FactGui::handleFadDNA); 2014 2063 2064 if (getInfo()==&fDimFadTemperature) 2065 return PostInfoHandler(&FactGui::handleFadTemperature); 2066 2015 2067 if (getInfo()==&fDimFadStatus) 2016 2068 return PostInfoHandler(&FactGui::handleFadStatus); … … 2024 2076 if (getInfo()==&fDimFadRuns) 2025 2077 return PostInfoHandler(&FactGui::handleFadRuns); 2026 2027 if (getInfo()==&fDimFadCurrentEvent)2028 return PostInfoHandler(&FactGui::handleFadCurrentEvent);2029 2078 2030 2079 if (getInfo()==&fDimFadEventData) … … 2437 2486 fInChoosePatch(false), 2438 2487 fDimDNS("DIS_DNS/VERSION_NUMBER", 1, int(0), this), 2439 2488 //- 2440 2489 fDimLoggerStats ("DATA_LOGGER/STATS", (void*)NULL, 0, this), 2441 2490 fDimLoggerFilenameNight("DATA_LOGGER/FILENAME_NIGHTLY", (void*)NULL, 0, this), 2442 2491 fDimLoggerFilenameRun ("DATA_LOGGER/FILENAME_RUN", (void*)NULL, 0, this), 2443 2492 fDimLoggerNumSubs ("DATA_LOGGER/NUM_SUBS", (void*)NULL, 0, this), 2444 2493 //- 2445 2494 fDimFtmPassport ("FTM_CONTROL/PASSPORT", (void*)NULL, 0, this), 2446 2495 fDimFtmTriggerCounter ("FTM_CONTROL/TRIGGER_COUNTER", (void*)NULL, 0, this), … … 2450 2499 fDimFtmDynamicData ("FTM_CONTROL/DYNAMIC_DATA", (void*)NULL, 0, this), 2451 2500 fDimFtmCounter ("FTM_CONTROL/COUNTER", (void*)NULL, 0, this), 2501 //- 2452 2502 fDimFadRuns ("FAD_CONTROL/RUNS", (void*)NULL, 0, this), 2453 2503 fDimFadEvents ("FAD_CONTROL/EVENTS", (void*)NULL, 0, this), 2454 fDimFadCurrentEvent ("FAD_CONTROL/CURRENT_EVENT", (void*)NULL, 0, this),2455 2504 fDimFadEventData ("FAD_CONTROL/EVENT_DATA", (void*)NULL, 0, this), 2456 2505 fDimFadConnections ("FAD_CONTROL/CONNECTIONS", (void*)NULL, 0, this), … … 2458 2507 fDimFadRunNumber ("FAD_CONTROL/RUN_NUMBER", (void*)NULL, 0, this), 2459 2508 fDimFadDNA ("FAD_CONTROL/DNA", (void*)NULL, 0, this), 2509 fDimFadTemperature ("FAD_CONTROL/TEMPERATURE", (void*)NULL, 0, this), 2460 2510 fDimFadStatus ("FAD_CONTROL/STATUS", (void*)NULL, 0, this), 2461 2511 fDimFadStatistics ("FAD_CONTROL/STATISTICS", (void*)NULL, 0, this)
Note:
See TracChangeset
for help on using the changeset viewer.