Index: dialin/common/msg_defs.py =================================================================== diff -u -rd2024aeddcff9b4ac0040fd92a9c95d65708c643 -r527decd42c3e6730a33ff6b7635787d13f9400e5 --- dialin/common/msg_defs.py (.../msg_defs.py) (revision d2024aeddcff9b4ac0040fd92a9c95d65708c643) +++ dialin/common/msg_defs.py (.../msg_defs.py) (revision 527decd42c3e6730a33ff6b7635787d13f9400e5) @@ -181,6 +181,7 @@ MSG_ID_HEAT_DISINFECT_NO_OF_CYCLES_TO_RUN = 0xA020 # Heat disinfection number of cycles to run MSG_ID_HEAT_DISINFECT_PUBLISH_INTERVAL_OVERRIDE = 0xA021 # Heat disinfection data publish interval override request MSG_ID_DG_SOFTWARE_RESET_REQUEST = 0xA022 # DG reset request + MSG_ID_HD_VALVES_SET_BLOOD_TRAP_VALVE = 0x8030 # HD valves set blood trap valve state MSG_ID_HD_DEBUG_EVENT = 0xFFF1 # HD debug event text to be logged in event log MSG_ID_DG_DEBUG_EVENT = 0xFFF2 # DG debug event text to be logged in event log Index: dialin/hd/hemodialysis_device.py =================================================================== diff -u -r9fed7e633ffc4cf92a93e22ccff7d5aa078801ce -r527decd42c3e6730a33ff6b7635787d13f9400e5 --- dialin/hd/hemodialysis_device.py (.../hemodialysis_device.py) (revision 9fed7e633ffc4cf92a93e22ccff7d5aa078801ce) +++ dialin/hd/hemodialysis_device.py (.../hemodialysis_device.py) (revision 527decd42c3e6730a33ff6b7635787d13f9400e5) @@ -25,6 +25,7 @@ from .dialysate_inlet_flow import HDDialysateInletFlow from .dialysate_outlet_flow import HDDialysateOutletFlow from .treatment import HDTreatment +from .valves import HDValves from .pressure_occlusion import HDPressureOcclusion from ..protocols.CAN import (DenaliMessage, DenaliCanMessenger, @@ -104,6 +105,7 @@ self.dialysate_outlet_flow = HDDialysateOutletFlow(self.can_interface, self.logger) self.treatment = HDTreatment(self.can_interface, self.logger) self.pressure_occlusion = HDPressureOcclusion(self.can_interface, self.logger) + self.valves = HDValves(self.can_interface, self.logger) def get_operation_mode(self): """ Index: tests/test_hd_valves.py =================================================================== diff -u --- tests/test_hd_valves.py (revision 0) +++ tests/test_hd_valves.py (revision 527decd42c3e6730a33ff6b7635787d13f9400e5) @@ -0,0 +1,57 @@ +########################################################################### +# +# Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. +# +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN +# WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# +# @file test_hd_valves.py +# +# @date 14-Oct-2020 +# @author S. Nash +# +# @brief This script sets monitors HD valves data. +# +############################################################################ + +import sys +sys.path.append("..") +from dialin.hd.hemodialysis_device import HD +from dialin.hd.valves import ValvesEnum +from time import sleep + +if __name__ == "__main__": + # create an HD object called hd + hd = HD() + hd.cmd_log_in_to_hd() + hd.valves.cmd_hd_valves_broadcast_interval_override(50) + + # print params every second for a while + while True: + sleep(0.100) + print(hd.valves.valves_status[ValvesEnum.VDI.name]['Valve'], + hd.valves.valves_status[ValvesEnum.VDI.name]['State'], + hd.valves.valves_status[ValvesEnum.VDI.name]['PosID'], + hd.valves.valves_status[ValvesEnum.VDI.name]['PosCnt'], + hd.valves.valves_status[ValvesEnum.VDI.name]['PosB'], + hd.valves.valves_status[ValvesEnum.VDI.name]['Current'], + hd.valves.valves_status[ValvesEnum.VDO.name]['Valve'], + hd.valves.valves_status[ValvesEnum.VDO.name]['State'], + hd.valves.valves_status[ValvesEnum.VDO.name]['PosID'], + hd.valves.valves_status[ValvesEnum.VDO.name]['PosCnt'], + hd.valves.valves_status[ValvesEnum.VDO.name]['PosB'], + hd.valves.valves_status[ValvesEnum.VDO.name]['Current'], + hd.valves.valves_status[ValvesEnum.VBA.name]['Valve'], + hd.valves.valves_status[ValvesEnum.VBA.name]['State'], + hd.valves.valves_status[ValvesEnum.VBA.name]['PosID'], + hd.valves.valves_status[ValvesEnum.VBA.name]['PosCnt'], + hd.valves.valves_status[ValvesEnum.VBA.name]['PosB'], + hd.valves.valves_status[ValvesEnum.VBA.name]['Current'], + hd.valves.valves_status[ValvesEnum.VBV.name]['Valve'], + hd.valves.valves_status[ValvesEnum.VBV.name]['State'], + hd.valves.valves_status[ValvesEnum.VBV.name]['PosID'], + hd.valves.valves_status[ValvesEnum.VBV.name]['PosCnt'], + hd.valves.valves_status[ValvesEnum.VBV.name]['PosB'], + hd.valves.valves_status[ValvesEnum.VBV.name]['Current']) + + exit(1)