def validate_and_normalize(self, obj, value):
rounded_value = FloatRegister.validate_and_normalize(self, obj, value)
if rounded_value == 0 and value != 0: # value was rounded off to zero
if self.avoid_round_off_to_zero:
rounded_value = FloatRegister.validate_and_normalize(
self, obj, np.abs(self.increment)*np.sign(value))
obj._logger.warning("Avoided rounding value %.1e of the "
"gain register %s to zero. Setting it to %.1e "
"instead. ", value, self.name, rounded_value)
else:
obj._logger.warning("Rounding value %.1e of the "
"gain register %s to zero. ", value, self.name)
if value > self.max or value < self.min:
obj._logger.warning("Requested gain for %s.%s is outside the "
"bounds allowed by the hardware. Desired "
"gain of %.1e is capped to %.1e. ",
obj.name, self.name, value, rounded_value)
return rounded_value
评论列表
文章目录