Index: leahi_dialin/td/modules/syringe_pump.py =================================================================== diff -u -rc53ee66322d78c6c7558731de102424108b480a0 -rb6128620bc2faa9f6c8737a352843869ab1068f0 --- leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision c53ee66322d78c6c7558731de102424108b480a0) +++ leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision b6128620bc2faa9f6c8737a352843869ab1068f0) @@ -422,34 +422,33 @@ can_interface=self.can_interface) - def cmd_set_syringe_pump_dac_ref_voltage_override(self) -> int: + def cmd_set_syringe_pump_dac_ref_voltage_override(self, vref: float = 0.0, reset: int = NO_RESET) -> int: """ Constructs and sends the set syringe pump DAC vRef. The value the DAC is set to is within TD Calibration Record. Constraints: Must be logged into TD. + @param vref: float - vref to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_td_ch_id, - message_id=MsgIds.MSG_ID_TD_SYRINGE_PUMP_FORCE_SENSOR_DAC_OVERRIDE_REQUEST.value, - ) + rst = integer_to_bytearray(reset) + ref = float_to_bytearray(vref) + payload = rst + ref - self.logger.debug("Set TD syringe pump DAC reference voltage") + return cmd_generic_override( + payload=payload, + reset=NO_RESET, + channel_id=DenaliChannels.dialin_to_td_ch_id, + msg_id=MsgIds.MSG_ID_TD_SYRINGE_PUMP_FORCE_SENSOR_DAC_OVERRIDE_REQUEST, + entity_name=f'Override TD syringe pump DAC reference voltage', + override_text=f'{vref} ', + logger=self.logger, + can_interface=self.can_interface) - # Send message - received_message = self.can_interface.send(message) - # If there is content... - if received_message is not None: - self.logger.debug("Syringe pump DAC reference voltage set.") - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - else: - self.logger.debug("Timeout!!!!") - return False - - def cmd_heparin_target_rate_override(self, rate: float, reset: int = NO_RESET) -> int: """ Constructs and sends the heparin bolus target rate value override command