if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::test(BList<BError>& errors){
BError err;
int n = 0;
while(err = opuControl.test(errors)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::getStatus(BList<NameValue>& statusList){
BError err;
int n = 0;
while(err = opuControl.getStatus(statusList)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::getStatistics(BList<NameValue>& statsList){
BError err;
int n = 0;
while(err = opuControl.getStatistics(statsList)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::getMasterPuChannel(PuChannel& puChannel){
BError err;
int n = 0;
while(err = opuControl.getMasterPuChannel(puChannel)){
if(err = handleError(err, n++))
break;
}
return err;
}
// Test functions
BError PuServer::setTestMode(PuChannel puChannel, UInt32 testOutput, UInt32 timingDisableMask){
BError err;
int n = 0;
while(err = opuControl.setTestMode(puChannel, testOutput, timingDisableMask)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::setTimingSignals(PuChannel puChannel, UInt32 timingSignals){
BError err;
int n = 0;
while(err = opuControl.setTimingSignals(puChannel, timingSignals)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::captureDiagnostics(PuChannel puChannel, TestCaptureInfo captureInfo, BArray<UInt64>& data){
BError err;
int n = 0;
while(err = opuControl.captureDiagnostics(puChannel, captureInfo, data)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::setTestData(PuChannel puChannel, Int32 on, BArray<UInt32> data){
BError err;
int n = 0;
while(err = opuControl.setTestData(puChannel, on, data)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::setPupeConfig(PuChannel puPhysChannel, PupeConfig pupeConfig){
BError err;
int n = 0;
while(err = opuControl.setPupeConfig(puPhysChannel, pupeConfig)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::getPupeConfig(PuChannel puPhysChannel, PupeConfig& pupeConfig){
BError err;
int n = 0;
while(err = opuControl.getPupeConfig(puPhysChannel, pupeConfig)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::setControlInfo(CycleParam params){
BError err;
int n = 0;
while(err = opuControl.setControlInfo(params)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::setNextCycle(UInt32 cycleNumber, BString cycleType){
BError err;
int n = 0;
while(err = opuControl1.setNextCycle(cycleNumber, cycleType)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::getStatus(PuChannel puChannel, PuStatus& puStatus){
BError err;
int n = 0;
while(err = opuProcess.getStatus(puChannel, puStatus)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::getCycleInformation(UInt32 cycleNumber, CycleInformation& cycleInformation){
BError err;
int n = 0;
while(err = opuProcess.getCycleInformation(cycleNumber, cycleInformation)){
if(err = handleError(err, n++))
break;
}
return err;
}
BError PuServer::getData(PuChannel puChannel, DataInfo dataInfo, Data& data, UInt32& orbitNumber){
BError err;
int n = 0;
#if GETDATA_LOG
dfprintf("PuServer::getData: Chan: %d Period: %d StartTime: %d Orbit: %d Bunch: %d Function: %d NumValues: %d Beyond: %d\n",
dataInfo.channel,
dataInfo.cyclePeriod, dataInfo.startTime, dataInfo.orbitNumber, dataInfo.bunchNumber,
dataInfo.function, dataInfo.numValues, dataInfo.beyondPeriod);
#endif
while(err = opuProcess.getData(puChannel, dataInfo, data, orbitNumber)){
if(err = handleError(err, n++))
break;
}
#if GETDATA_LOG
dfprintf("PuServer::getData: End: NumValues: %d\n", dataInfo.numValues);
#endif
return err;
}
BError PuServer::requestData(PuChannel puChannel, DataInfo dataInfo){
BError err;
int n = 0;
while(err = opuProcess.requestData(puChannel, dataInfo)){
if(err = handleError(err, n++))
break;
}
return err;
}