Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r29476a4a7b58c6d6decee115ac9bcadb0aa262ca -rc08c138d7c8671f25b7c88f8783fef0a6087e192 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 29476a4a7b58c6d6decee115ac9bcadb0aa262ca) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision c08c138d7c8671f25b7c88f8783fef0a6087e192) @@ -281,6 +281,7 @@ MSG_ID_DD_VOLTAGE_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA051 MSG_ID_DD_MONITORED_VOLTAGE_OVERRIDE_REQUEST = 0xA052 MSG_ID_DD_RINSE_PUMP_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA053 + MSG_ID_DD_TREATMENT_PARAMS_OVERRIDE_REQUEST = 0xA054 # Placeholder messages MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 Index: leahi_dialin/dd/proxies/td_proxy.py =================================================================== diff -u -r2dab2b0329a56006e07cd36a3883ed099d7a367a -rc08c138d7c8671f25b7c88f8783fef0a6087e192 --- leahi_dialin/dd/proxies/td_proxy.py (.../td_proxy.py) (revision 2dab2b0329a56006e07cd36a3883ed099d7a367a) +++ leahi_dialin/dd/proxies/td_proxy.py (.../td_proxy.py) (revision c08c138d7c8671f25b7c88f8783fef0a6087e192) @@ -129,4 +129,18 @@ payload=payload) self.logger.debug("Sending TD start pre gen request to DD.") - self.can_interface.send(message, 0) \ No newline at end of file + self.can_interface.send(message, 0) + + def cmd_td_override_treatment_parameter(self, paramID: int, value: float, reset: int = 0): + rst = integer_to_bytearray(reset) + pid = integer_to_bytearray(paramID) + val = float_to_bytearray(value) + payload = rst + pid + val + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, + message_id=MsgIds.MSG_ID_DD_TREATMENT_PARAMS_OVERRIDE_REQUEST.value, + payload=payload) + + self.logger.debug(f"Overriding treatment parameter {paramID} with value {value}, reset={reset}") + self.can_interface.send(message, 0) + Index: tests/dd_login.py =================================================================== diff -u --- tests/dd_login.py (revision 0) +++ tests/dd_login.py (revision c08c138d7c8671f25b7c88f8783fef0a6087e192) @@ -0,0 +1,36 @@ +from leahi_dialin.dd.dialysate_delivery import DD +from leahi_dialin.dd.modules.blood_leak import EmbModeCommands +from time import sleep +import os + +def get_blood_leak_info(): + info = ('Blood_leak_state, {}, Blood_leak_status, {}, Blood_leak_intensity, {}, Blood_leak_detect, {}, ' + 'Blood_leak_int_mv_avg, {}, ' + .format(dd.blood_leak.get_blood_leak_state(), dd.blood_leak.get_blood_leak_status(), + dd.blood_leak.blood_leak_intensity, dd.blood_leak.blood_leak_blood_detect, + dd.blood_leak.blood_leak_intensity_moving_average)) + return info + + +if __name__ == "__main__": + address = os.path.join(os.getcwd(), "leahi_zero.log") + f = open(address, "w") + dd = DD() + dd.cmd_log_in_to_dd() + sleep(0.1) + dd.blood_leak.cmd_blood_leak_data_broadcast_interval_override(50) + var = get_blood_leak_info() + '\r' + f.write(var) + print(var) + sleep(0.1) + dd.blood_leak.cmd_blood_leak_zero_request() + #dd.blood_leak.cmd_blood_leak_set_embedded_mode_command(EmbModeCommands.I.value, msg_payload=0) + + while True: + var = get_blood_leak_info() + '\r' + sleep(0.05) + #print("Detect", dd.blood_leak.get_blood_leak_emb_mode_command_response(EmbModeCommands.V.value)) + print(var) + f.write(var) + + f.close() \ No newline at end of file Index: tests/td_login.py =================================================================== diff -u --- tests/td_login.py (revision 0) +++ tests/td_login.py (revision c08c138d7c8671f25b7c88f8783fef0a6087e192) @@ -0,0 +1,25 @@ +from leahi_dialin.td.treatment_delivery import TD +from time import sleep +import os + +if __name__ == "__main__": + address = os.path.join(os.getcwd(), "td_valves.log") + #f = open(address, "w") + td = TD() + td.cmd_log_in_to_td() + sleep(0.5) + + td.valves.cmd_valves_broadcast_interval_override(50) + sleep(0.5) + td.valves.cmd_set_valve_position(0, 1) + #td.valves.cmd_home_valve(0, 1, 0) + #sleep(0.5) + #td.valves.cmd_home_valve(1, 1, 0) + + #td.blood_flow.cmd_home_blood_pump() + #sleep(25) + + #td.blood_flow.cmd_blood_flow_set_speed_rate_request(1000) + #sleep(15) + + #td.blood_flow.cmd_hard_stop_blood_pump()