Index: DG/DialysateGenerator.py =================================================================== diff -u -r082ea4c8b0c6a3c804453308990d0bb98a0a2156 -r0da0106eca868b9144298c60911710b3414a5837 --- DG/DialysateGenerator.py (.../DialysateGenerator.py) (revision 082ea4c8b0c6a3c804453308990d0bb98a0a2156) +++ DG/DialysateGenerator.py (.../DialysateGenerator.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -101,8 +101,8 @@ TODO: This is built based on HD but needs more infrastructure made for DG before being operational """ - rst = self.outer_instance.integer2ByteArray(reset) - cur = self.outer_instance.float2ByteArray(adc_raw) + rst = self.outer_instance.integer_to_byte_array(reset) + cur = self.outer_instance.float_to_byte_array(adc_raw) payload = rst + cur message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -141,8 +141,8 @@ TODO: This is built based on HD but needs more infrastructure made for DG before being operational """ - rst = self.outer_instance.integer2ByteArray(reset) - cur = self.outer_instance.float2ByteArray(adc_raw) + rst = self.outer_instance.integer_to_byte_array(reset) + cur = self.outer_instance.float_to_byte_array(adc_raw) payload = rst + cur message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -181,8 +181,8 @@ TODO: This is built based on HD but needs more infrastructure made for DG before being operational """ - rst = self.outer_instance.integer2ByteArray(reset) - cur = self.outer_instance.float2ByteArray(adc_raw) + rst = self.outer_instance.integer_to_byte_array(reset) + cur = self.outer_instance.float_to_byte_array(adc_raw) payload = rst + cur message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -221,8 +221,8 @@ TODO: This is built based on HD but needs more infrastructure made for DG before being operational """ - rst = self.outer_instance.integer2ByteArray(reset) - cur = self.outer_instance.float2ByteArray(adc_raw) + rst = self.outer_instance.integer_to_byte_array(reset) + cur = self.outer_instance.float_to_byte_array(adc_raw) payload = rst + cur message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, Index: HD/Alarms.py =================================================================== diff -u -r082ea4c8b0c6a3c804453308990d0bb98a0a2156 -r0da0106eca868b9144298c60911710b3414a5837 --- HD/Alarms.py (.../Alarms.py) (revision 082ea4c8b0c6a3c804453308990d0bb98a0a2156) +++ HD/Alarms.py (.../Alarms.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -1,18 +1,17 @@ from DialIn.CoreCANProtocol import (DenaliMessage, DenaliChannels) import struct -from .utils import integer2ByteArray -from .HemodialysisDevice import HD +from utils import integer_to_byte_array, RESET class HDAlarms: """ - \class HD_Alarms + \class HD_Alarms - \brief Hemodialysis Device (HD) Dialin API sub-class for alarm related commands. + \brief Hemodialysis Device (HD) Dialin API sub-class for alarm related commands. """ - # Alarms message IDs + # alarms message IDs MSG_ID_HD_ALARMS_PUBLISHED_STATUS = 0x0002 MSG_ID_HD_ALARM_ACTIVATE = 0x0003 MSG_ID_HD_ALARM_CLEAR = 0x0004 @@ -46,11 +45,11 @@ def __init__(self, can_interface): """ - HD_Alarms constructor + HD_Alarms constructor - \param outer_instance: reference to the HD (outer) class. + \param outer_instance: reference to the HD (outer) class. - \returns HD_Alarms object. + \returns HD_Alarms object. """ self.can_interface = can_interface @@ -70,76 +69,75 @@ self.handler_alarm_clear) # composite alarm status based on latest HD alarm status broadcast message - self.alarmsState = 0 - self.alarmTop = 0 - self.alarmsSilenceExpiresIn = 0 - self.alarmsEscalatesIn = 0 - self.alarmsFlags = 0 + self.alarms_state = 0 + self.alarm_top = 0 + self.alarms_silence_expires_in = 0 + self.alarms_escalates_in = 0 + self.alarms_flags = 0 # alarm states based on received HD alarm activation and alarm clear messages - self.alarmStates = [False] * 50 + self.alarm_states = [False] * 50 - def handler_alarms_status_sync(self, message): """ - Handles published alarms status messages. Alarms status data are captured - for reference. + Handles published alarms status messages. alarms status data are captured + for reference. - \param message: published blood flow data message - \returns none + \param message: published blood flow data message + \returns none """ - self.alarmsState = int.from_bytes(bytearray( + self.alarms_state = int.from_bytes(bytearray( message['message'][self.START_POS_ALARM_STATE:self.END_POS_ALARM_STATE]), byteorder=DenaliMessage.BYTE_ORDER) - self.alarmTop = int.from_bytes(bytearray( + self.alarm_top = int.from_bytes(bytearray( message['message'][self.START_POS_ALARM_TOP:self.END_POS_ALARM_TOP]), byteorder=DenaliMessage.BYTE_ORDER) - self.alarmsSilenceExpiresIn = int.from_bytes(bytearray( + self.alarms_silence_expires_in = int.from_bytes(bytearray( message['message'][self.START_POS_ALARM_SILENCE_EXPIRES_IN:self.END_POS_ALARM_SILENCE_EXPIRES_IN]), byteorder=DenaliMessage.BYTE_ORDER) - self.alarmsEscalatesIn = int.from_bytes(bytearray( + self.alarms_escalates_in = int.from_bytes(bytearray( message['message'][self.START_POS_ALARM_ESCALATES_IN:self.END_POS_ALARM_ESCALATES_IN]), byteorder=DenaliMessage.BYTE_ORDER) - self.alarmsFlags = int.from_bytes(bytearray( + self.alarms_flags = int.from_bytes(bytearray( message['message'][self.START_POS_ALARMS_FLAGS:self.END_POS_ALARMS_FLAGS]), byteorder=DenaliMessage.BYTE_ORDER) def handler_alarm_activate(self, message): """ - Handles published HD alarm activation messages. + Handles published HD alarm activation messages. - \param message: published HD alarm activation message - \returns none + \param message: published HD alarm activation message + \returns none """ - alarmID = struct.unpack(' After STOP:{} <---".format(hd.DialOut.DialOutBroadcast)) sleep(3) - hd.DialOut.setUFState(DialOutStates.RUN) + hd.DialOut.set_uf_state(DialOutStates.RUN) sleep(2) state_stop = hd.DialOut.DialOutBroadcast['state'] print("After RUN again: {}".format(hd.DialOut.DialOutBroadcast)) sleep(3) - hd.DialOut.setUFState(DialOutStates.STOP) + hd.DialOut.set_uf_state(DialOutStates.STOP) sleep(2) state_stop = hd.DialOut.DialOutBroadcast['state'] print("After STOP: {}".format(hd.DialOut.DialOutBroadcast)) sleep(5) - hd.DialOut.plotBroadCastSignals() + hd.DialOut.plot_broadcast_signals() exit() tgtRate = 0 - hd.BloodFlow.CmdBloodFlowBroadcastIntervalOverride(hd.NO_RESET, 2000) + hd.bloodflow.cmd_blood_flow_broadcast_interval_override(NO_RESET, 2000) while True: - if hd.BloodFlow.TargetBloodFlowRate == 0: + if hd.bloodflow.target_blood_flow_rate == 0: if tgtRate != 0: - hd.BloodFlow.CmdBloodFlowBroadcastIntervalOverride(hd.NO_RESET, 2000) + hd.bloodflow.cmd_blood_flow_broadcast_interval_override(NO_RESET, 2000) tgtRate = 0 else: if tgtRate == 0: - hd.BloodFlow.CmdBloodFlowBroadcastIntervalOverride(hd.NO_RESET, 200) - tgtRate = hd.BloodFlow.TargetBloodFlowRate + hd.bloodflow.cmd_blood_flow_broadcast_interval_override(NO_RESET, 200) + tgtRate = hd.bloodflow.target_blood_flow_rate sleep(1) - print(hd.BloodFlow.MeasuredBloodFlowRate) + print(hd.bloodflow.measured_blood_flow_rate) -# hd.BloodFlow.CmdBloodFlowBroadcastIntervalOverride(hd.RESET,0) +# hd.bloodflow.cmd_blood_flow_broadcast_interval_override(RESET,0) """ Index: HD/PressureOcclusion.py =================================================================== diff -u -rc5826238ca4b80671231a9c564af3ea01b9be06f -r0da0106eca868b9144298c60911710b3414a5837 --- HD/PressureOcclusion.py (.../PressureOcclusion.py) (revision c5826238ca4b80671231a9c564af3ea01b9be06f) +++ HD/PressureOcclusion.py (.../PressureOcclusion.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -16,8 +16,7 @@ ############################################################################ from DialIn.CoreCANProtocol import (DenaliMessage, DenaliChannels) -from .utils import integer2ByteArray, float2ByteArray -from .HemodialysisDevice import HD +from utils import integer_to_byte_array, float_to_byte_array, RESET import struct @@ -63,37 +62,21 @@ channel_id = DenaliChannels.hd_sync_broadcast_ch_id msg_id = self.MSG_ID_HD_PRESSURE_OCCLUSION_DATA self.can_interface.register_receiving_publication_function(channel_id, msg_id, - self.handlerPresOcclSyncFunction) + self.handler_pressure_occlusion_sync) self.arterialPressure = 0 self.venousPressure = 0.0 self.bloodPumpOcclusion = 0.0 self.dialysateInletPumpOcclusion = 0.0 self.dialysateOutletPumpOcclusion = 0.0 - def test_can_message(self, seq): - zero = integer2ByteArray(0) - seq1 = integer2ByteArray(seq) - seq2 = integer2ByteArray(seq+1) - seq3 = integer2ByteArray(seq+2) - seq4 = integer2ByteArray(seq+3) - seq5 = integer2ByteArray(seq+4) - - payload = seq1 + zero + seq2 + zero + seq3 + zero + seq4 + zero + seq5 - - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, - message_id=6, - payload=payload) - - self.can_interface.send(message, 0) - - def handlerPresOcclSyncFunction(self, message): + def handler_pressure_occlusion_sync(self, message): """ - Handles published pressure & occlusion data messages. Pressure data are captured - for reference. + Handles published pressure & occlusion data messages. Pressure data are captured + for reference. - \param message: published pressure & occlusion data message - \returns none + \param message: published pressure & occlusion data message + \returns none """ art = struct.unpack('f', bytearray( @@ -113,7 +96,7 @@ self.dialysateInletPumpOcclusion = dpi[0] self.dialysateOutletPumpOcclusion = dpo[0] - def CmdArterialPressureMeasuredOverride(self, reset, pres): + def cmd_arterial_pressure_measured_override(self, reset, pres): """ Constructs and sends the measured arterial pressure override command @@ -122,8 +105,8 @@ \returns 1 if successful, zero otherwise """ - rst = integer2ByteArray(reset) - prs = float2ByteArray(pres) + rst = integer_to_byte_array(reset) + prs = float_to_byte_array(pres) payload = rst + prs message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -137,7 +120,7 @@ # If there is content... if received_message is not None: - if reset == HD.RESET: + if reset == RESET: str_res = "reset back to normal. " else: str_res = str(pres) + " mmHg. " @@ -149,9 +132,7 @@ print("Timeout!!!!") return False - - - def CmdVenousPressureMeasuredOverride(self, reset, pres): + def cmd_venous_pressure_measured_override(self, reset, pres): """ Constructs and sends the measured venous pressure \n override command. @@ -161,8 +142,8 @@ \returns 1 if successful, zero otherwise """ - rst = integer2ByteArray(reset) - prs = float2ByteArray(pres) + rst = integer_to_byte_array(reset) + prs = float_to_byte_array(pres) payload = rst + prs message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -176,7 +157,7 @@ # If there is content... if received_message is not None: - if reset == HD.RESET: + if reset == RESET: str_res = "reset back to normal. " else: str_res = str(pres) + " mmHg. " @@ -188,7 +169,7 @@ print("Timeout!!!!") return False - def CmdBloodPumpMeasuredOcclusionOverride(self, reset, occl): + def cmd_blood_pump_measured_occlusion_override(self, reset, occl): """ Constructs and sends the measured blood pump occlusion pressure override command @@ -197,8 +178,8 @@ \returns 1 if successful, zero otherwise """ - rst = integer2ByteArray(reset) - occ = float2ByteArray(occl) + rst = integer_to_byte_array(reset) + occ = float_to_byte_array(occl) payload = rst + occ message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -212,7 +193,7 @@ # If there is content... if received_message is not None: - if reset == HD.RESET: + if reset == RESET: str_res = "reset back to normal. " else: str_res = str(occl) + " mmHg. " @@ -224,7 +205,7 @@ print("Timeout!!!!") return False - def CmdDialysateInletPumpMeasuredOcclusionOverride(self, reset, occl): + def cmd_dialysate_inlet_pump_measured_occlusion_override(self, reset, occl): """ Constructs and sends the measured dialysate inlet pump occlusion pressure override \n command. @@ -234,8 +215,8 @@ \returns 1 if successful, zero otherwise """ - rst = integer2ByteArray(reset) - occ = float2ByteArray(occl) + rst = integer_to_byte_array(reset) + occ = float_to_byte_array(occl) payload = rst + occ message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -249,7 +230,7 @@ # If there is content... if received_message is not None: - if reset == HD.RESET: + if reset == RESET: str_res = "reset back to normal. " else: str_res = str(occl) + " mmHg. " @@ -261,7 +242,7 @@ print("Timeout!!!!") return False - def CmdDialysateOutletPumpMeasuredOcclusionOverride(self, reset, occl): + def cmd_dialysate_outlet_pump_measured_occlusion_override(self, reset, occl): """ Constructs and sends the measured dialysate outlet pump occlusion pressure override \n command. @@ -271,8 +252,8 @@ \returns 1 if successful, zero otherwise """ - rst = integer2ByteArray(reset) - occ = float2ByteArray(occl) + rst = integer_to_byte_array(reset) + occ = float_to_byte_array(occl) payload = rst + occ message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -286,7 +267,7 @@ # If there is content... if received_message is not None: - if reset == HD.RESET: + if reset == RESET: str_res = "reset back to normal. " else: str_res = str(occl) + " mmHg. " @@ -298,7 +279,7 @@ print("Timeout!!!!") return False - def CmdPressureOcclusionBroadcastIntervalOverride(self, reset, ms): + def cmd_pressure_occlusion_broadcast_interval_override(self, reset, ms): """ Constructs and sends the pressure/occlusion broadcast interval override command @@ -307,8 +288,8 @@ \returns 1 if successful, zero otherwise """ - rst = integer2ByteArray(reset) - mis = integer2ByteArray(ms) + rst = integer_to_byte_array(reset) + mis = integer_to_byte_array(ms) payload = rst + mis message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -322,7 +303,7 @@ # If there is content... if received_message is not None: - if reset == HD.RESET: + if reset == RESET: str_res = "reset back to normal: " else: str_res = str(ms) + " ms: " Index: HD/RTC.py =================================================================== diff -u -rc5826238ca4b80671231a9c564af3ea01b9be06f -r0da0106eca868b9144298c60911710b3414a5837 --- HD/RTC.py (.../RTC.py) (revision c5826238ca4b80671231a9c564af3ea01b9be06f) +++ HD/RTC.py (.../RTC.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -5,7 +5,7 @@ # 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 RTC.py +# @file rtc.py # # @date 31-Mar-2020 # @author P. Lucia @@ -16,14 +16,15 @@ ############################################################################ from DialIn.CoreCANProtocol import (DenaliMessage, DenaliChannels) -from .utils import integer2ByteArray, float2ByteArray +from utils import integer_to_byte_array, float_to_byte_array import ctypes + class HDRTC: """ - \class HDRTC + \class HDRTC - \brief Hemodialysis Device (HD) Dialin API sub-class for RTC commands. + \brief Hemodialysis Device (HD) Dialin API sub-class for rtc commands. """ MSG_ID_SET_RTC_DATE_TIME = 0x801D @@ -46,24 +47,24 @@ channel_id = DenaliChannels.hd_sync_broadcast_ch_id msg_id = self.MSG_ID_RTC_EPOCH self.can_interface.register_receiving_publication_function(channel_id, msg_id, - self.handlerRTCEpoch) - self.RTCEpoch = 0 + self.handler_rtc_epoch) + self.rtc_epoch = 0 - def handlerRTCEpoch(self, message): + def handler_rtc_epoch(self, message): """ - Publishes the RTC time in epoch + Publishes the rtc time in epoch - \param message: published RTC epoch message + \param message: published rtc epoch message \returns none """ epoch = int.from_bytes(bytearray( message['message'][self.START_POS_SET_PT:self.END_POS_SET_PT]), byteorder=DenaliMessage.BYTE_ORDER) - self.RTCEpoch = ctypes.c_uint32(epoch) + self.rtc_epoch = ctypes.c_uint32(epoch) - def CmdSetRTCTimeAndDate(self, secs, mins, hours, days, months, years): + def cmd_set_rtc_time_and_date(self, secs, mins, hours, days, months, years): """ - Constructs and sends the time and date to be written to RTC + Constructs and sends the time and date to be written to rtc \returns 1 if successful, zero otherwise """ @@ -72,14 +73,14 @@ hour = bytes([hours]) day = bytes([days]) month = bytes([months]) - year = integer2ByteArray(years) + year = integer_to_byte_array(years) payload = sec + min + hour + day + month + year message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_SET_RTC_DATE_TIME, payload=payload) - print("Setting time and date to RTC") + print("Setting time and date to rtc") # Send message received_message = self.can_interface.send(message) @@ -88,7 +89,7 @@ if received_message is not None: print(received_message) # str_res = str(flow) - print("Time and Date in RTC set to seconds: " + str(sec) + " minutes: " + str(min) + " hours: " + + print("Time and Date in rtc set to seconds: " + str(sec) + " minutes: " + str(min) + " hours: " + str(hour) + " days: " + str(day) + " months: " + str(month) + " years: " + str(year) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK Index: HD/Treatment.py =================================================================== diff -u -rc5826238ca4b80671231a9c564af3ea01b9be06f -r0da0106eca868b9144298c60911710b3414a5837 --- HD/Treatment.py (.../Treatment.py) (revision c5826238ca4b80671231a9c564af3ea01b9be06f) +++ HD/Treatment.py (.../Treatment.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -5,7 +5,7 @@ # 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 Treatment.py +# @file treatment.py # # @date 31-Mar-2020 # @author P. Lucia @@ -27,19 +27,19 @@ """ - # Treatment message IDs + # treatment message IDs MSG_ID_HD_TREATMENT_TIME_PUBLISHED_DATA = 0x000D MSG_ID_HD_TREATMENT_STATE_PUBLISHED_DATA = 0X000F - # Treatment time broadcast message field positions + # treatment time broadcast message field positions START_POS_TIME_PRES = DenaliMessage.PAYLOAD_START_INDEX END_POS_TIME_PRES = START_POS_TIME_PRES + 4 START_POS_TIME_ELAPSED = END_POS_TIME_PRES END_POS_TIME_ELAPSED = START_POS_TIME_ELAPSED + 4 START_POS_TIME_REMAINING = END_POS_TIME_ELAPSED END_POS_TIME_REMAINING = START_POS_TIME_REMAINING + 4 - # Treatment state broadcast message field positions + # treatment state broadcast message field positions START_POS_TREATMENT_STATE = DenaliMessage.PAYLOAD_START_INDEX END_POS_TREATMENT_STATE = START_POS_TREATMENT_STATE + 4 START_POS_UF_STATE = END_POS_TREATMENT_STATE @@ -57,25 +57,25 @@ channel_id = DenaliChannels.hd_sync_broadcast_ch_id msg_id = self.MSG_ID_HD_TREATMENT_TIME_PUBLISHED_DATA self.can_interface.register_receiving_publication_function(channel_id, msg_id, - self.handlerTreatmentTimeSyncFunction) + self.handler_treatment_time_sync) msg_id = self.MSG_ID_HD_TREATMENT_STATE_PUBLISHED_DATA self.can_interface.register_receiving_publication_function(channel_id, msg_id, - self.handlerTreatmentStateSyncFunction) + self.handler_treatment_state_sync) - self.TreatmentTimePrescribed = 0 - self.TreatmentTimeElapsed = 0 - self.TreatmentTimeRemaining = 0 - self.TreatmentState = 0 - self.TreatmentUFState = 0 - self.SalineBolusInProgress = False + self.treatment_time_prescribed = 0 + self.treatment_time_elapsed = 0 + self.treatment_time_remaining = 0 + self.treatment_state = 0 + self.treatment_uf_state = 0 + self.saline_bolus_in_progress = False - def handlerTreatmentTimeSyncFunction(self, message): + def handler_treatment_time_sync(self, message): """ - Handles published treatment time data messages. Treatment time data are captured - for reference. + Handles published treatment time data messages. treatment time data are captured + for reference. - \param message: published treatment time data message - \returns none + \param message: published treatment time data message + \returns none """ tot = struct.unpack('i', bytearray( @@ -85,17 +85,17 @@ rem = struct.unpack('i', bytearray( message['message'][self.START_POS_TIME_REMAINING:self.END_POS_TIME_REMAINING])) - self.TreatmentTimePrescribed = tot[0] - self.TreatmentTimeElapsed = ela[0] - self.TreatmentTimeRemaining = rem[0] + self.treatment_time_prescribed = tot[0] + self.treatment_time_elapsed = ela[0] + self.treatment_time_remaining = rem[0] - def handlerTreatmentStateSyncFunction(self, message): + def handler_treatment_state_sync(self, message): """ - Handles published treatment state data messages. Treatment state data are captured - for reference. + Handles published treatment state data messages. treatment state data are captured + for reference. - \param message: published treatment state data message - \returns none + \param message: published treatment state data message + \returns none """ tst = struct.unpack('i', bytearray( @@ -105,9 +105,9 @@ bol = struct.unpack('i', bytearray( message['message'][self.START_POS_SALINE_BOLUS_IN_PROGRESS:self.END_POS_SALINE_BOLUS_IN_PROGRESS])) - self.TreatmentState = tst[0] - self.TreatmentUFState = ufs[0] + self.treatment_state = tst[0] + self.treatment_uf_state = ufs[0] if bol[0] == 1: - self.SalineBolusInProgress = True + self.saline_bolus_in_progress = True else: - self.SalineBolusInProgress = False + self.saline_bolus_in_progress = False Index: HD/UI.py =================================================================== diff -u -rc5826238ca4b80671231a9c564af3ea01b9be06f -r0da0106eca868b9144298c60911710b3414a5837 --- HD/UI.py (.../UI.py) (revision c5826238ca4b80671231a9c564af3ea01b9be06f) +++ HD/UI.py (.../UI.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -5,7 +5,7 @@ # 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 UI.py +# @file ui.py # # @date 31-Mar-2020 # @author P. Lucia @@ -16,18 +16,18 @@ ############################################################################ from DialIn.CoreCANProtocol import (DenaliMessage, DenaliChannels) -from .utils import integer2ByteArray, float2ByteArray +from utils import integer_to_byte_array, float_to_byte_array import struct class HDUI: """ \class HD_UI - \brief Hemodialysis Device (HD) Dialin API sub-class for UI commands. + \brief Hemodialysis Device (HD) Dialin API sub-class for ui commands. """ - # UI message IDs + # ui message IDs MSG_ID_UI_CHECKIN_WITH_HD = 0x0007 MSG_ID_HD_UF_PAUSE_RESUME_REQUEST = 0x0010 MSG_ID_HD_TREATMENT_PARAMS_RANGES = 0x001A @@ -187,7 +187,7 @@ \param message: response message from HD regarding treatment duration change.\n BOOL Accepted \n U32 Reject reason (if not accepted) \n - U32 Treatment duration (min) \n + U32 treatment duration (min) \n U32 UF volue (mL) \n \returns none @@ -244,8 +244,8 @@ BOOL Accepted \n U32 RejectReason (if not accepted) F32 UF Volume (mL) - converted to Liters \n - U32 Treatment Time (min) \n - S32 Treatment Time Change (min) \n + U32 treatment Time (min) \n + S32 treatment Time Change (min) \n F32 UF Rate (mL/min) \n F32 UF Rate Change (mL/min) @@ -280,30 +280,30 @@ def cmd_ui_checkin_with_hd(self): """ - Constructs and sends the UI check-in message + Constructs and sends the ui check-in message \returns 0 """ message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_UI_CHECKIN_WITH_HD) - print("Sending UI checkin w/ HD") + print("Sending ui checkin w/ HD") self.can_interface.send(message, 0) return 0 def cmd_ui_uf_pause_resume(self, cmd=UF_CMD_PAUSE): """ - Constructs and sends a UI UF command message + Constructs and sends a ui UF command message \param cmd: 0 for pause, 1 for resume \returns none """ - payload = integer2ByteArray(cmd) + payload = integer_to_byte_array(cmd) message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_HD_UF_PAUSE_RESUME_REQUEST, payload=payload) @@ -320,7 +320,7 @@ def cmd_ui_uf_settings_change_request(self, vol=0.0): """ - Constructs and sends a UI UF change settings command message + Constructs and sends a ui UF change settings command message \param vol (float): new ultrafiltration volume setting (in L) @@ -330,7 +330,7 @@ # reset response to this command so we can tell when response is received self.UFChangeResponse = None # build command message - volume = float2ByteArray(vol * self.LITER_TO_ML_CONVERSION_FACTOR) + volume = float_to_byte_array(vol * self.LITER_TO_ML_CONVERSION_FACTOR) message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_UF_SETTINGS_CHANGE_REQUEST_BY_USER, payload=volume) @@ -343,7 +343,7 @@ def cmd_ui_uf_settings_change_confirm(self, vol=0.0, adj=UF_CMD_CHANGE_TIME_TO_ADJUST): """ - Constructs and sends a UI UF change settings command message + Constructs and sends a ui UF change settings command message \param vol (float): new ultrafiltration volume setting (in L) \param adj (int): 0 for adjust time, 1 for adjust rate @@ -355,8 +355,8 @@ self.UFChangeResponse = None # build command message - volume = float2ByteArray(vol * self.LITER_TO_ML_CONVERSION_FACTOR) - adjust = integer2ByteArray(adj) + volume = float_to_byte_array(vol * self.LITER_TO_ML_CONVERSION_FACTOR) + adjust = integer_to_byte_array(adj) payload = volume + adjust message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_UF_SETTINGS_CHANGE_REQUEST_BY_USER, @@ -370,7 +370,7 @@ def cmd_ui_uf_change_settings_confirmed_by_user(self, response=RESPONSE_REJECTED, vol=0.0, tm=0, rate=0.0): """ - Constructs and sends a UI UF change settings confirmed by user message + Constructs and sends a ui UF change settings confirmed by user message \param response (int): 0 for rejected, 1 for confirmed \param vol (float): volume (in L) that was confirmed @@ -380,10 +380,10 @@ \returns none """ - resp = integer2ByteArray(response) - volume = float2ByteArray(vol * self.LITER_TO_ML_CONVERSION_FACTOR) - min = integer2ByteArray(tm) - ufRate = float2ByteArray(rate) + resp = integer_to_byte_array(response) + volume = float_to_byte_array(vol * self.LITER_TO_ML_CONVERSION_FACTOR) + min = integer_to_byte_array(tm) + ufRate = float_to_byte_array(rate) payload = resp + volume + min + ufRate message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_UF_SETTINGS_CHANGE_CONFIRMED_BY_USER, @@ -397,14 +397,14 @@ def cmd_ui_treatment_duration_setting_change_request(self, timeMin=0): """ - Constructs and sends a UI UF change settings confirmed by user message + Constructs and sends a ui UF change settings confirmed by user message \param timeMin (int): treatment time (in min). \returns none """ - payload = integer2ByteArray(timeMin) + payload = integer_to_byte_array(timeMin) message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_TREATMENT_DURATION_SETTING_CHANGE_REQUEST, payload=payload) @@ -418,16 +418,16 @@ def cmd_ui_blood_and_dialysate_flow_settings_change_request(self, bloodFlow, dialFlow): """ - Constructs and sends a UI blood & dialysate flow settings change request by user message + Constructs and sends a ui blood & dialysate flow settings change request by user message \param bloodFlow (int): blood flow rate set point (in mL/min). \param dialFlow (int): dialysate flow rate set point (in mL/min). \returns none """ - bld = integer2ByteArray(bloodFlow) - dial = integer2ByteArray(dialFlow) + bld = integer_to_byte_array(bloodFlow) + dial = integer_to_byte_array(dialFlow) payload = bld + dial message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, message_id=self.MSG_ID_BLOOD_DIALYSATE_FLOW_SETTING_CHANGE_REQUEST_BY_USER, Index: HD/Watchdog.py =================================================================== diff -u -rc5826238ca4b80671231a9c564af3ea01b9be06f -r0da0106eca868b9144298c60911710b3414a5837 --- HD/Watchdog.py (.../Watchdog.py) (revision c5826238ca4b80671231a9c564af3ea01b9be06f) +++ HD/Watchdog.py (.../Watchdog.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -5,7 +5,7 @@ # 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 Watchdog.py +# @file watchdog.py # # @date 31-Mar-2020 # @author P. Lucia @@ -16,31 +16,31 @@ ############################################################################ from DialIn.CoreCANProtocol import (DenaliMessage, DenaliChannels) -from .utils import integer2ByteArray -from .HemodialysisDevice import HD +from utils import integer_to_byte_array, RESET + class HDWatchdog: """ - \class HD_Watchdog + \class HD_Watchdog - \brief Hemodialysis Device (HD) Dialin API sub-class for watchdog related commands. + \brief Hemodialysis Device (HD) Dialin API sub-class for watchdog related commands. """ - # Watchdog message IDs + # watchdog message IDs MSG_ID_HD_WD_CHECKIN_OVERRIDE = 0x8005 def __init__(self, can_interface): - """ HD_Watchdog constructor \param outer_instance: reference to the HD (outer) class. \returns HD_Watchdog object. """ + self.can_interface = can_interface - def CmdWatchdogTaskCheckinOverride(self, reset, state, task): + def cmd_watchdog_task_check_in_override(self, reset, state, task): """ Constructs and sends the watchdog task check-in override command @@ -50,9 +50,9 @@ \returns 1 if successful, zero otherwise """ - rst = integer2ByteArray(reset) - sta = integer2ByteArray(state) - tsk = integer2ByteArray(task) + rst = integer_to_byte_array(reset) + sta = integer_to_byte_array(state) + tsk = integer_to_byte_array(task) payload = rst + sta + tsk message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -67,11 +67,11 @@ # If there is content... if received_message is not None: # print(received_message) - if reset == HD.RESET: + if reset == RESET: str_res = "reset back to normal" else: str_res = ("checked in" if state != 0 else "not checked in") - print("Watchdog task check-in overridden to " + str_res + ":" + + print("watchdog task check-in overridden to " + str_res + ":" + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] Index: HD/utils.py =================================================================== diff -u -r082ea4c8b0c6a3c804453308990d0bb98a0a2156 -r0da0106eca868b9144298c60911710b3414a5837 --- HD/utils.py (.../utils.py) (revision 082ea4c8b0c6a3c804453308990d0bb98a0a2156) +++ HD/utils.py (.../utils.py) (revision 0da0106eca868b9144298c60911710b3414a5837) @@ -1,7 +1,11 @@ import struct from binascii import unhexlify -def integer2ByteArray(val): +NO_RESET = 0 +RESET = 1 + + +def integer_to_byte_array(val): """ Converts an integer value into a byte array (little endian) @@ -14,7 +18,7 @@ return b -def float2ByteArray(val): +def float_to_byte_array(val): """ Converts a float value into a byte array (little endian)