Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -ra313166ac02fdc81a9d2b24eca45cded18fd468e -r951bd79131f9c5dd0e62d40a2101815100cdb787 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision a313166ac02fdc81a9d2b24eca45cded18fd468e) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 951bd79131f9c5dd0e62d40a2101815100cdb787) @@ -185,6 +185,8 @@ MSG_ID_DD_HYD_CHAMBER_TARGET_TEMP_OVERRIDE_REQUEST = 0xA038 MSG_ID_DD_ACID_DOSING_VOLUME_OVERRIDE_REQUEST = 0xA039 MSG_ID_DD_BICARB_DOSING_VOLUME_OVERRIDE_REQUEST = 0xA03A + MSG_ID_DD_GEND_EXEC_STATE_OVERRIDE_REQUEST = 0xA03B + MSG_ID_DD_HEATERS_PWM_PERIOD_OVERRIDE_REQUEST = 0xA03C MSG_ID_DD_PISTON_PUMP_DATA_PUBLISH_OVERRIDE_REQUEST = 0xAF00 MSG_ID_DD_PISTON_PUMP_START_STOP_OVERRIDE_REQUEST = 0xAF01 Index: leahi_dialin/dd/modules/gen_dialysate.py =================================================================== diff -u -r5998c4c4db7fa962b808b88af410be5d82d442be -r951bd79131f9c5dd0e62d40a2101815100cdb787 --- leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision 5998c4c4db7fa962b808b88af410be5d82d442be) +++ leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision 951bd79131f9c5dd0e62d40a2101815100cdb787) @@ -232,4 +232,31 @@ return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: self.logger.error("Timeout!!!!") + return False + + def cmd_dialysate_delivery_set_state_override(self, state: int) -> int: + """ + Constructs and sends the set execution state override command + + @param state: int - value to override state + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + + """ + + sts = integer_to_bytearray(state) + payload = sts + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, + message_id=MsgIds.MSG_ID_DD_GEND_EXEC_STATE_OVERRIDE_REQUEST.value, + payload=payload) + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.error("Timeout!!!!") return False \ No newline at end of file Index: leahi_dialin/dd/modules/heaters.py =================================================================== diff -u -rec875ed5c87bc2896ca162774ff4ad449b0a88a3 -r951bd79131f9c5dd0e62d40a2101815100cdb787 --- leahi_dialin/dd/modules/heaters.py (.../heaters.py) (revision ec875ed5c87bc2896ca162774ff4ad449b0a88a3) +++ leahi_dialin/dd/modules/heaters.py (.../heaters.py) (revision 951bd79131f9c5dd0e62d40a2101815100cdb787) @@ -261,4 +261,34 @@ return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: self.logger.debug("Timeout!!!!") + return False + + + def cmd_heater_pwm_period_override(self, heater: int, period: float, reset: int) -> int: + """ + Constructs and sends heater pwm period override + + @param heater the heater to override its value (primary, trimmer) (0-1.0 order) + @param period: float - period to set to + @param reset: (int) 1 to reset a previous override, 0 to override + @returns 1 if successful, zero otherwise + """ + htr = integer_to_bytearray(heater) + prd = float_to_bytearray(period) + rst = integer_to_bytearray(reset) + payload = rst + prd + htr + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, + message_id=MsgIds.MSG_ID_DD_HEATERS_PWM_PERIOD_OVERRIDE_REQUEST.value, + payload=payload) + + # Send message + received_message = self.can_interface.send(message) + + # If there is content in message + if received_message is not None: + # Response payload is OK or not + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") return False \ No newline at end of file