|
26 | 26 | #include "ReadoutEquipment.h" |
27 | 27 | #include "ReadoutUtils.h" |
28 | 28 | #include "readoutInfoLogger.h" |
| 29 | +#include "ReadoutMonitoringQueue.h" |
29 | 30 |
|
30 | 31 | class ReadoutEquipmentRORC : public ReadoutEquipment |
31 | 32 | { |
@@ -131,6 +132,10 @@ ReadoutEquipmentRORC::ReadoutEquipmentRORC(ConfigFile& cfg, std::string name) : |
131 | 132 | // configuration parameter: | equipment-rorc-* | debugStatsEnabled | int | 0 | If set, enable extra statistics about internal buffers status. (printed to stdout when stopping) | |
132 | 133 | cfg.getOptionalValue<int>(name + ".debugStatsEnabled", cfgDebugStatsEnabled); |
133 | 134 |
|
| 135 | + // configuration parameter: | equipment-rorc-* | monitorFirstOrbitEnabled | int | 0 | If set, enable monitoring of RORC first orbit. | |
| 136 | + int cfgMonitorFirstOrbitEnabled = 0; |
| 137 | + cfg.getOptionalValue<int>(name + ".monitorFirstOrbitEnabled", cfgMonitorFirstOrbitEnabled); |
| 138 | + |
134 | 139 | // get readout memory buffer parameters |
135 | 140 | // std::string sMemorySize=cfg.getValue<std::string>(name + ".memoryBufferSize"); |
136 | 141 | // std::string sPageSize=cfg.getValue<std::string>(name + ".memoryPageSize"); long long |
@@ -216,6 +221,11 @@ ReadoutEquipmentRORC::ReadoutEquipmentRORC(ConfigFile& cfg, std::string name) : |
216 | 221 | BOOST_THROW_EXCEPTION(ReadoutEquipmentRORCException() << ErrorInfo::Message("This firmware version is not allowed")); |
217 | 222 | } |
218 | 223 |
|
| 224 | + // publish relevant card info |
| 225 | + if (cfgMonitorFirstOrbitEnabled) { |
| 226 | + gReadoutMonitoringQueue.push({.name = "readout.RORCfirstOrbit", .tag = id, .value = (uint64_t)channel->getCounterFirstOrbit()}); |
| 227 | + } |
| 228 | + |
219 | 229 | // todo: log parameters ? |
220 | 230 |
|
221 | 231 | if (logRocCallsEnable) { |
|
0 commit comments