Skip to content

Commit

Permalink
Handle wrong reading of motor temperature setting a negative value.
Browse files Browse the repository at this point in the history
  • Loading branch information
isorrentino committed Mar 4, 2024
1 parent cd4c04c commit 4715ba8
Showing 1 changed file with 13 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1724,31 +1724,23 @@ struct YarpSensorBridge::Impl
{
for (int j = 0; j < controlBoardRemapperMeasures.motorTemperatureUnordered.size(); j++)
{
ok &= controlBoardRemapperInterfaces.motors
->getTemperature(j, &(controlBoardRemapperMeasures.motorTemperatureUnordered[j]));
}
ok = controlBoardRemapperInterfaces.motors
->getTemperature(j,
&(controlBoardRemapperMeasures
.motorTemperatureUnordered[j]));

if (ok)
{
if (checkForNan)
if (!ok)
{
if (nanExistsInVec(controlBoardRemapperMeasures.motorTemperatureUnordered,
logPrefix,
"MotorTemperatures"))
{
return false;
}
controlBoardRemapperMeasures.motorTemperatureUnordered[j] = -100;
log()->warn("{} Unable to read from IMotor interface for motor {}.",
logPrefix,
j);
}

controlBoardRemapperMeasures.motorTemperature.noalias()
= controlBoardRemapperMeasures.remappedJointPermutationMatrix
* controlBoardRemapperMeasures.motorTemperatureUnordered;
} else
{
log()->error("{} Unable to read from IMotor interface, use previous "
"measurement.",
logPrefix);
}

controlBoardRemapperMeasures.motorTemperature.noalias()
= controlBoardRemapperMeasures.remappedJointPermutationMatrix
* controlBoardRemapperMeasures.motorTemperatureUnordered;
}

return true;
Expand Down

0 comments on commit 4715ba8

Please sign in to comment.