Skip to content
Snippets Groups Projects
Commit 179e52d7 authored by Douglas Araujo's avatar Douglas Araujo
Browse files

Fix checkLinkStatus method to works with more then one hybrid

parent d5d5a93c
No related branches found
No related tags found
1 merge request!2ICSHWI-18048: Hybrids information
...@@ -12,3 +12,4 @@ envPaths ...@@ -12,3 +12,4 @@ envPaths
*.db.d *.db.d
build.sh build.sh
build build
.iocsh_history
...@@ -29,7 +29,7 @@ dbLoadRecords("$(vmmTbl_DB)/vmm_tbl.db", "P=$(P), R=NDet-VMM-001:, PORT=RMM, RIN ...@@ -29,7 +29,7 @@ dbLoadRecords("$(vmmTbl_DB)/vmm_tbl.db", "P=$(P), R=NDet-VMM-001:, PORT=RMM, RIN
iocInit() iocInit()
dbpf $(P)$(R)Temperature-R.SCAN 2 dbpf $(P)$(R)Temperature-R.SCAN 2
#dbpf $(P)$(R)ProcessPktCount-S.SCAN 2 dbpf $(P)$(R)ProcessPktCount-S.SCAN 2
dbpf $(P)$(R)VoltVCCINT-R.SCAN 2 dbpf $(P)$(R)VoltVCCINT-R.SCAN 2
dbpf $(P)$(R)VoltVCC1V8-R.SCAN 2 dbpf $(P)$(R)VoltVCC1V8-R.SCAN 2
dbpf $(P)$(R)VoltVADJ1V8-R.SCAN 2 dbpf $(P)$(R)VoltVADJ1V8-R.SCAN 2
...@@ -37,4 +37,4 @@ dbpf $(P)$(R)VoltVCC1V2-R.SCAN 2 ...@@ -37,4 +37,4 @@ dbpf $(P)$(R)VoltVCC1V2-R.SCAN 2
dbpf $(P)$(R)VoltMGTAVCC-R.SCAN 2 dbpf $(P)$(R)VoltMGTAVCC-R.SCAN 2
dbpf $(P)$(R)VoltMGTAVTT-R.SCAN 2 dbpf $(P)$(R)VoltMGTAVTT-R.SCAN 2
dbpf $(P)$(R)VoltVCCINTIOBRAM-R.SCAN 2 dbpf $(P)$(R)VoltVCCINTIOBRAM-R.SCAN 2
#
...@@ -19,16 +19,14 @@ FENConfigModule::~FENConfigModule() { ...@@ -19,16 +19,14 @@ FENConfigModule::~FENConfigModule() {
} }
void FENConfigModule::acquire(bool acquire) { void FENConfigModule::acquire(bool acquire) {
std::string message;
std::vector<std::string> linkStatus;
if (acquire) { if (acquire) {
enableAcquisition(false); enableAcquisition(false);
sendAll(true); sendAll(true);
enableAcquisition(true); enableAcquisition(true);
checkLinkStatus(message, linkStatus); checkLinkStatus(linkStatus);
} else { } else {
enableAcquisition(false); enableAcquisition(false);
checkLinkStatus(message, linkStatus); checkLinkStatus(linkStatus);
} }
} }
...@@ -52,22 +50,17 @@ void FENConfigModule::enableAcquisition(bool enabled) { ...@@ -52,22 +50,17 @@ void FENConfigModule::enableAcquisition(bool enabled) {
pFEN->userRegWrite("sc_acq_on_off", 0x00000000); pFEN->userRegWrite("sc_acq_on_off", 0x00000000);
} }
void FENConfigModule::checkLinkStatus(std::string& message, std::vector<std::string>& linkStatus) { void FENConfigModule::checkLinkStatus(uint8_t* linkStatus) {
linkStatus.clear();
for (int n = 0; n < HYBRIDS_PER_FEN; n++) linkStatus.push_back("0");
uint32_t result = readWriteRegs("sc_app_link_status", 0, "app_link_status"); uint32_t result = readWriteRegs("sc_app_link_status", 0, "app_link_status");
std::stringstream ss; std::stringstream tmpStream;
tmpStream << std::hex << result;
std::string str = tmpStream.str();
for (int n = 0; n < HYBRIDS_PER_FEN; n++) { for (size_t n = 0; n < str.size(); n++) {
if (isHybridEnabled(n)) { linkStatus[n] = static_cast<uint8_t>(std::stoi(str.substr(str.size() - 1 - n, 1)));
linkStatus[n] = std::to_string(result); std::cout << "hybr. " << n << ": " << static_cast<int>(linkStatus[n]) << std::endl;
ss << "hybr. " + std::to_string(n) + ": " + linkStatus[n] << std::endl;
}
} }
message = ss.str();
std::cout << "Message: " << message << std::endl;
} }
void FENConfigModule::configFEN() { void FENConfigModule::configFEN() {
......
...@@ -32,7 +32,8 @@ private: ...@@ -32,7 +32,8 @@ private:
bool enabled_hybrids[HYBRIDS_PER_FEN] = {}; bool enabled_hybrids[HYBRIDS_PER_FEN] = {};
uint32_t readWriteRegs(std::string command_reg, int index, std::string read_reg); uint32_t readWriteRegs(std::string command_reg, int index, std::string read_reg);
uint16_t getChMap(); uint16_t getChMap();
void checkLinkStatus(std::string& message, std::vector<std::string>& linkStatus); void checkLinkStatus(uint8_t* linkStatus);
void sendAll(bool useConfigCheck); void sendAll(bool useConfigCheck);
void enableAcquisition(bool enabled); void enableAcquisition(bool enabled);
uint8_t linkStatus[HYBRIDS_PER_FEN];
}; };
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment