diff --git a/vmmTblApp/src/vmm_tbl.cpp b/vmmTblApp/src/vmm_tbl.cpp index e460bbfab595d188c88859d0d46049d3676b66ea..1274a9a1c8b7807c48b1025b4a07695c80e8bddd 100644 --- a/vmmTblApp/src/vmm_tbl.cpp +++ b/vmmTblApp/src/vmm_tbl.cpp @@ -20,12 +20,14 @@ VMMTbl::VMMTbl(RMM* rmm, const char *FENPortName, int ring, int node, int hybrid createEpicsParams(); setInitialEpicsParams(); rmm->updateTopologyPvs(ring, node, "vmmTbl"); - for (int hyb = 0; hyb < number_hybrids; hyb++) { - pVmmTblAPI->enableHybrid(hyb, true); - setStringParam(vmmHybFwVersion_[hyb], pVmmTblAPI->readFwVersion(hyb).c_str()); - setStringParam(vmmHybId_[hyb], pVmmTblAPI->readIDChip(hyb).c_str()); - setStringParam(vmmHybGeoPos_[hyb], pVmmTblAPI->readGeoPos(hyb).c_str()); - setIntegerParam(vmmHybLinkStatus_[hyb], std::stoi(pVmmTblAPI->checkLinkStatus(hyb))); + if (rmm->getRMMAPI()->checkRings() == rmmSuccess) { + for (int hyb = 0; hyb < number_hybrids; hyb++) { + pVmmTblAPI->enableHybrid(hyb, true); + setStringParam(vmmHybFwVersion_[hyb], pVmmTblAPI->readFwVersion(hyb).c_str()); + setStringParam(vmmHybId_[hyb], pVmmTblAPI->readIDChip(hyb).c_str()); + setStringParam(vmmHybGeoPos_[hyb], pVmmTblAPI->readGeoPos(hyb).c_str()); + setIntegerParam(vmmHybLinkStatus_[hyb], std::stoi(pVmmTblAPI->checkLinkStatus(hyb))); + } } }