Index: dialin/dg/switches.py =================================================================== diff -u -r7ea4b936cef531b2cde9053ae58b7119a3bf0e6c -r86ec2e906d6c26848d390b05db83b21a2998b380 --- dialin/dg/switches.py (.../switches.py) (revision 7ea4b936cef531b2cde9053ae58b7119a3bf0e6c) +++ dialin/dg/switches.py (.../switches.py) (revision 86ec2e906d6c26848d390b05db83b21a2998b380) @@ -42,6 +42,10 @@ Dialysate Generator (DG) Dialin API sub-class for switches related commands. """ + _CONC_CAP_BIT_SHIFT = 4 + _DIAL_CAP_BIT_SHIFT = 5 + + def __init__(self, can_interface, logger: Logger): """ DGSwitches constructor @@ -82,8 +86,8 @@ dialysate_cap = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.dg_switches_status[DGSwitchesName.CONCENTRATE_CAP.name] = DGSwitchStatus(conc_cap).value - self.dg_switches_status[DGSwitchesName.DIALYSATE_CAP.name] = DGSwitchStatus(dialysate_cap).value + self.dg_switches_status[DGSwitchesName.CONCENTRATE_CAP.name] = DGSwitchStatus(conc_cap << self._CONC_CAP_BIT_SHIFT).value + self.dg_switches_status[DGSwitchesName.DIALYSATE_CAP.name] = DGSwitchStatus(dialysate_cap << self._DIAL_CAP_BIT_SHIFT).value def cmd_dg_switch_status_override(self, switch: int, status: int, reset: int = NO_RESET) -> int: """