Skip to content
Snippets Groups Projects
Commit 1248f003 authored by Pieter Donker's avatar Pieter Donker
Browse files

Task #5910: add check for Aartfaac station in HardwareMonitor

parent 367c6132
No related branches found
No related tags found
No related merge requests found
......@@ -297,6 +297,7 @@ GCFEvent::TResult RSPMonitor::askConfiguration(GCFEvent& event,
itsNrHBAs = RSconf.getInt("RS.N_HBAS", 0);
itsNrLBAs = RSconf.getInt("RS.N_LBAS", 0);
itsHasSplitters = RSconf.getBool("RS.HBA_SPLIT", false);
itsHasAartfaac = RSconf.getBool("RS.AARTFAAC", false);
// inform user
LOG_INFO(formatString("nr RCUs = %d",ack.n_rcus));
......@@ -307,6 +308,7 @@ GCFEvent::TResult RSPMonitor::askConfiguration(GCFEvent& event,
LOG_INFO(formatString("nr HBAs = %d", itsNrHBAs));
LOG_INFO_STR( "RSPmask = " << itsRSPmask);
LOG_INFO(formatString("has splitters= %s", (itsHasSplitters ? "yes" : "no")));
LOG_INFO(formatString("has aartfaac = %s", (itsHasAartfaac ? "yes" : "no")));
// do some checks
if (itsNrRSPboards != (uint32)ack.max_rspboards) {
......@@ -1248,7 +1250,12 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
case F_TIMER:
LOG_ERROR_STR ("RSP:Timeout on getting the datastream information, trying other information");
itsOwnPropertySet->setValue(PN_FSM_ERROR,GCFPVString("RSP:getdatastream timeout"));
TRAN(RSPMonitor::askAartfaacState); // go to next state.
if (itsHasAartfaac) {
TRAN(RSPMonitor::askAartfaacState); // go to next state.
}
else {
TRAN(RSPMonitor::waitForNextCycle); // go to next state.
}
break;
case RSP_GETDATASTREAMACK: {
......@@ -1257,7 +1264,12 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
if (ack.status != RSP_SUCCESS) {
LOG_ERROR ("RSP:Failed to get the datastream information. Trying other information");
itsOwnPropertySet->setValue(PN_FSM_ERROR,GCFPVString("RSP:getdatastream error"));
TRAN(RSPMonitor::askAartfaacState); // go to next state.
if (itsHasAartfaac) {
TRAN(RSPMonitor::askAartfaacState); // go to next state.
}
else {
TRAN(RSPMonitor::waitForNextCycle); // go to next state.
}
break;
}
......@@ -1268,7 +1280,12 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
LOG_DEBUG ("Updated datastream information, waiting for next cycle");
// itsOwnPropertySet->setValue(PN_HWM_RSP_ERROR,GCFPVString(""));
TRAN(RSPMonitor::askAartfaacState); // go to next state.
if (itsHasAartfaac) {
TRAN(RSPMonitor::askAartfaacState); // go to next state.
}
else {
TRAN(RSPMonitor::waitForNextCycle); // go to next state.
}
}
break;
......@@ -1295,6 +1312,7 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
return (status);
}
//
// askAartfaacState(event, port)
//
......
......@@ -106,17 +106,18 @@ private:
vector<RTDBPropertySet*> itsSubracks;
vector<RTDBPropertySet*> itsRSPs;
vector<RTDBPropertySet*> itsRCUs;
RTDBPropertySet* itsStationInfo;
RTDBPropertySet* itsStationInfo;
RTDBPropertySet* itsAartfaacInfo;
blitz::Array<uint,1> itsRCUstates; // actual status of the RCUs
blitz::Array<bool,2> itsRCUInputStates; // enable state of the three RCU inputs
int itsRCUquery; // ID of the PVSS query
AntennaMapper* itsAntMapper;
bool itsHasSplitters; // from RemoteStation.conf
int itsRCUquery; // ID of the PVSS query
AntennaMapper* itsAntMapper;
bool itsHasSplitters; // from RemoteStation.conf
bool itsHasAartfaac; // from RemoteStation.conf
bitset<MAX_RSPBOARDS> itsSplitters; // on or off.
bitset<MAX_RSPBOARDS> itsRSPmask; // present in station or not
bitset<MAX_RCUS> itsRCUmask; // present in station or not
bitset<MAX_RCUS> itsRCUmask; // present in station or not
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment