Index: dialin/dg/valves.py =================================================================== diff -u -r9858b03b175512995a5a3ef0d1ea8dc64b96b7dc -re7bfc1b61892db0518f21a1bfde98e0400e83ab3 --- dialin/dg/valves.py (.../valves.py) (revision 9858b03b175512995a5a3ef0d1ea8dc64b96b7dc) +++ dialin/dg/valves.py (.../valves.py) (revision e7bfc1b61892db0518f21a1bfde98e0400e83ab3) @@ -55,6 +55,7 @@ VALVE_RESERVOIR_2 = 11 # VR2 VALVE_PRODUCTION_DRAIN = 12 # VPD + def __init__(self, can_interface=None): """ @@ -71,19 +72,19 @@ self.can_interface.register_receiving_publication_function(channel_id, msg_id, self._handler_valves_sync) self.valve_states_all = 0x0000 - self.valve_state_VRF = DEENERGIZED - self.valve_state_VRI = DEENERGIZED - self.valve_state_VRD = DEENERGIZED - self.valve_state_VRO = DEENERGIZED - self.valve_state_VPO = DEENERGIZED - self.valve_state_VBF = DEENERGIZED - self.valve_state_VRC = DEENERGIZED - self.valve_state_VDR = DEENERGIZED - self.valve_state_VPI = DEENERGIZED - self.valve_state_VSP = DEENERGIZED - self.valve_state_VR1 = DEENERGIZED - self.valve_state_VR2 = DEENERGIZED - self.valve_state_VPD = DEENERGIZED + self.valve_state_VRF = {"id": self.VALVE_RESERVOIR_FILL, "state": DEENERGIZED} + self.valve_state_VRI = {"id": self.VALVE_RESERVOIR_INLET, "state": DEENERGIZED} + self.valve_state_VRD = {"id": self.VALVE_RESERVOIR_DRAIN, "state": DEENERGIZED} + self.valve_state_VRO = {"id": self.VALVE_RESERVOIR_OUTLET, "state": DEENERGIZED} + self.valve_state_VPO = {"id": self.VALVE_PRESSURE_OUTLET, "state": DEENERGIZED} + self.valve_state_VBF = {"id": self.VALVE_BYPASS_FILTER, "state": DEENERGIZED} + self.valve_state_VRC = {"id": self.VALVE_RECIRCULATE, "state": DEENERGIZED} + self.valve_state_VDR = {"id": self.VALVE_DRAIN, "state": DEENERGIZED} + self.valve_state_VPI = {"id": self.VALVE_PRESSURE_INLET, "state": DEENERGIZED} + self.valve_state_VSP = {"id": self.VALVE_SAMPLING_PORT, "state": DEENERGIZED} + self.valve_state_VR1 = {"id": self.VALVE_RESERVOIR_1, "state": DEENERGIZED} + self.valve_state_VR2 = {"id": self.VALVE_RESERVOIR_2, "state": DEENERGIZED} + self.valve_state_VPD = {"id": self.VALVE_PRODUCTION_DRAIN, "state": DEENERGIZED} def get_valve_states(self): """ @@ -107,19 +108,19 @@ ]\n """ return [ - self.valve_state_VRF, - self.valve_state_VRI, - self.valve_state_VRD, - self.valve_state_VRO, - self.valve_state_VPO, - self.valve_state_VBF, - self.valve_state_VRC, - self.valve_state_VDR, - self.valve_state_VPI, - self.valve_state_VSP, - self.valve_state_VR1, - self.valve_state_VR2, - self.valve_state_VPD + self.valve_state_VRF.get("state", None), + self.valve_state_VRI.get("state", None), + self.valve_state_VRD.get("state", None), + self.valve_state_VRO.get("state", None), + self.valve_state_VPO.get("state", None), + self.valve_state_VBF.get("state", None), + self.valve_state_VRC.get("state", None), + self.valve_state_VDR.get("state", None), + self.valve_state_VPI.get("state", None), + self.valve_state_VSP.get("state", None), + self.valve_state_VR1.get("state", None), + self.valve_state_VR2.get("state", None), + self.valve_state_VPD.get("state", None) ] def _binary_to_valve_state(self, binary): @@ -160,19 +161,19 @@ vst = struct.unpack('H', bytearray(message['message'][self.START_POS_VALVES_STATES:self.END_POS_VALVES_STATES])) self.valve_states_all = vst[0] # Extract each valve state from U16 valves states using bit-masking - self.valve_state_VRF = self._binary_to_valve_state(vst[0] & 1) - self.valve_state_VRI = self._binary_to_valve_state(vst[0] & 2) - self.valve_state_VRD = self._binary_to_valve_state(vst[0] & 4) - self.valve_state_VRO = self._binary_to_valve_state(vst[0] & 8) - self.valve_state_VPO = self._binary_to_valve_state(vst[0] & 16) - self.valve_state_VBF = self._binary_to_valve_state(vst[0] & 32) - self.valve_state_VRC = self._binary_to_valve_state(vst[0] & 64) - self.valve_state_VDR = self._binary_to_valve_state(vst[0] & 128) - self.valve_state_VPI = self._binary_to_valve_state(vst[0] & 256) - self.valve_state_VSP = self._binary_to_valve_state(vst[0] & 512) - self.valve_state_VR1 = self._binary_to_valve_state(vst[0] & 1024) - self.valve_state_VR2 = self._binary_to_valve_state(vst[0] & 2048) - self.valve_state_VPD = self._binary_to_valve_state(vst[0] & 4096) + self.valve_state_VRF["state"] = self._binary_to_valve_state(vst[0] & 1) + self.valve_state_VRI["state"] = self._binary_to_valve_state(vst[0] & 2) + self.valve_state_VRD["state"] = self._binary_to_valve_state(vst[0] & 4) + self.valve_state_VRO["state"] = self._binary_to_valve_state(vst[0] & 8) + self.valve_state_VPO["state"] = self._binary_to_valve_state(vst[0] & 16) + self.valve_state_VBF["state"] = self._binary_to_valve_state(vst[0] & 32) + self.valve_state_VRC["state"] = self._binary_to_valve_state(vst[0] & 64) + self.valve_state_VDR["state"] = self._binary_to_valve_state(vst[0] & 128) + self.valve_state_VPI["state"] = self._binary_to_valve_state(vst[0] & 256) + self.valve_state_VSP["state"] = self._binary_to_valve_state(vst[0] & 512) + self.valve_state_VR1["state"] = self._binary_to_valve_state(vst[0] & 1024) + self.valve_state_VR2["state"] = self._binary_to_valve_state(vst[0] & 2048) + self.valve_state_VPD["state"] = self._binary_to_valve_state(vst[0] & 4096) def cmd_valve_override(self, state, valve, reset=NO_RESET): """ Index: dialin/squish/denaliMessages.py =================================================================== diff -u -re6e9d40940a3ce8b012b13be4fe65fea5b0a5168 -re7bfc1b61892db0518f21a1bfde98e0400e83ab3 --- dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision e6e9d40940a3ce8b012b13be4fe65fea5b0a5168) +++ dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision e7bfc1b61892db0518f21a1bfde98e0400e83ab3) @@ -105,8 +105,8 @@ msg = buildMessage(GuiActionType.TreatmentRanges, 4 * 6, True, toI32(vMinTreatmentDuration), toI32(vMaxTreatmentDuration), - toF32(vMinUFVolume ), - toF32(vMaxUFVolume ), + toF32(vMinUFVolume), + toF32(vMaxUFVolume), toI32(vMinDialysateFlowRate), toI32(vMaxDialysateFlowRate) ) @@ -320,14 +320,14 @@ @return: """ msg = buildMessage(GuiActionType.AdjustUltrafiltrationEditRsp, 8 * 4 , True, - toI32(vAccepted ), - toI32(vReason ), - toF32(vVolume ), - toI32(vDuration ), + toI32(vAccepted), + toI32(vReason), + toF32(vVolume), + toI32(vDuration), toI32(vDurationDiff), - toF32(vRate ), - toF32(vRateDiff ), - toF32(vRateOld ) + toF32(vRate), + toF32(vRateDiff), + toF32(vRateOld) ) return toFrames(msg) @@ -374,11 +374,11 @@ @return: """ msg = buildMessage(GuiActionType.AdjustUltrafiltrationConfirmRsp, 5 * 4 , True, - toI32(vAccepted ), - toI32(vReason ), - toF32(vVolume ), - toI32(vDuration ), - toF32(vRate ) + toI32(vAccepted), + toI32(vReason), + toF32(vVolume), + toI32(vDuration), + toF32(vRate) ) return toFrames(msg) Index: tests/dg_valves_test.py =================================================================== diff -u -r49f99c3f4a045652f1a32ad24a47fc1710ebc352 -re7bfc1b61892db0518f21a1bfde98e0400e83ab3 --- tests/dg_valves_test.py (.../dg_valves_test.py) (revision 49f99c3f4a045652f1a32ad24a47fc1710ebc352) +++ tests/dg_valves_test.py (.../dg_valves_test.py) (revision e7bfc1b61892db0518f21a1bfde98e0400e83ab3) @@ -36,19 +36,19 @@ # Collect DG valves states while True: sleep(1) - valvesStates = "DGValves.VBF," + str(dg.valves.valve_state_VRF) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VRI) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VRD) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VRO) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VPO) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VBF) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VRC) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VDR) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VPI) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VSP) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VR1) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VR2) + \ - ",DGValves.VDR," + str(dg.valves.valve_state_VPD) + valvesStates = "DGValves.VBF," + str(dg.valves.valve_state_VRF.get("state", None)) + \ + ",DGValves.VRI," + str(dg.valves.valve_state_VRI.get("state", None)) + \ + ",DGValves.VRD," + str(dg.valves.valve_state_VRD.get("state", None)) + \ + ",DGValves.VRO," + str(dg.valves.valve_state_VRO.get("state", None)) + \ + ",DGValves.VPO," + str(dg.valves.valve_state_VPO.get("state", None)) + \ + ",DGValves.VBF," + str(dg.valves.valve_state_VBF.get("state", None)) + \ + ",DGValves.VRC," + str(dg.valves.valve_state_VRC.get("state", None)) + \ + ",DGValves.VDR," + str(dg.valves.valve_state_VDR.get("state", None)) + \ + ",DGValves.VPI," + str(dg.valves.valve_state_VPI.get("state", None)) + \ + ",DGValves.VSP," + str(dg.valves.valve_state_VSP.get("state", None)) + \ + ",DGValves.VR1," + str(dg.valves.valve_state_VR1.get("state", None)) + \ + ",DGValves.VR2," + str(dg.valves.valve_state_VR2.get("state", None)) + \ + ",DGValves.VPD," + str(dg.valves.valve_state_VPD.get("state", None)) # Log data f.write(valvesStates)