refactor: dedupe Q128 conversion in Rpu driver
This commit is contained in:
+8
-2
@@ -31,11 +31,17 @@ class Rpu(ModbusDevice):
|
||||
def set_charging(self, enable):
|
||||
self.write_coil(self._addr("Enable_charger"), enable)
|
||||
|
||||
def read_q128(self, label):
|
||||
return self.read(label) / self.Q128_DIVISOR
|
||||
|
||||
def write_q128(self, label, value):
|
||||
self.write(label, round(value * self.Q128_DIVISOR))
|
||||
|
||||
def set_runtime_voltage(self, volts):
|
||||
self.write_holding_register(self._addr("Runtime_voltage_setting_Q128"), round(volts * self.Q128_DIVISOR))
|
||||
self.write_q128("Runtime_voltage_setting_Q128", volts)
|
||||
|
||||
def set_runtime_current(self, amps):
|
||||
self.write_holding_register(self._addr("Runtime_current_setting_Q128"), round(amps * self.Q128_DIVISOR))
|
||||
self.write_q128("Runtime_current_setting_Q128", amps)
|
||||
|
||||
def read_error_code(self):
|
||||
return (self.read("Error_code_hi") << 16) | self.read("Error_code_lo")
|
||||
|
||||
Reference in New Issue
Block a user