Fix read register bug
This MR fix the readUpdateWriteReg
function. It currently checks if the register is non-zero:
void Rd53b::readUpdateWriteReg(Rd53bRegDefault Rd53bGlobalCfg::*ref) {
for (unsigned int i=0; i<5; i++){
uint32_t reg = readSingleRegister(ref);
if (reg != 0) {
m_cfg[(this->*ref).addr()] = reg;
break;
}
}
}
However, since 0
is a valid value for a register, this creates problems when reading register with value 0
. This is not changed to:
void Rd53b::readUpdateWriteReg(Rd53bRegDefault Rd53bGlobalCfg::*ref) {
for (unsigned int i=0; i<5; i++){
uint32_t reg = readSingleRegister(ref);
if (reg >= 0) {
m_cfg[(this->*ref).addr()] = reg;
break;
}
}
}
This MR also removed the following line in read-register.cpp
:
fe->readUpdateWriteNamedReg(register_name);
as it is redundant and the read-register
exe does not update any register.
Tagging @theim.