Index: dialin/common/msg_ids.py =================================================================== diff -u -r965b384855cf17d6b975f9989f13a26248e2d919 -ra7512831552e0e4431ceface9d5d08483db10056 --- dialin/common/msg_ids.py (.../msg_ids.py) (revision 965b384855cf17d6b975f9989f13a26248e2d919) +++ dialin/common/msg_ids.py (.../msg_ids.py) (revision a7512831552e0e4431ceface9d5d08483db10056) @@ -303,6 +303,7 @@ MSG_ID_HD_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8074 MSG_ID_HD_POST_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8075 MSG_ID_HD_BLOCK_MESSAGE_TRANSMISSION = 0x8076 + MSG_ID_HD_SYRINGE_PUMP_FORCE_SENSOR_DAC_CALIBRATE = 0x8077 MSG_ID_DG_TESTER_LOGIN_REQUEST = 0XA000 MSG_ID_DG_ALARM_STATE_OVERRIDE = 0XA001 Index: dialin/hd/syringe_pump.py =================================================================== diff -u -r076965b54ec7f9711537ad5553de65b4da11338e -ra7512831552e0e4431ceface9d5d08483db10056 --- dialin/hd/syringe_pump.py (.../syringe_pump.py) (revision 076965b54ec7f9711537ad5553de65b4da11338e) +++ dialin/hd/syringe_pump.py (.../syringe_pump.py) (revision a7512831552e0e4431ceface9d5d08483db10056) @@ -713,3 +713,35 @@ self.logger.debug("Timeout!!!!") return False + def cmd_set_syringe_pump_dac_ref_voltage(self, dac_v_ref: float = 0.15) -> int: + """ + Constructs and sends the set syringe pump DAC pressure sensor reference voltag command + Constraints: + Must be logged into HD. + + @param dac_v_ref: float - status (0.0..3.3) + @return: 1 if successful, zero otherwise + """ + + payload = float_to_bytearray(dac_v_ref) + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_SYRINGE_PUMP_FORCE_SENSOR_DAC_CALIBRATE.value, + payload=payload) + + self.logger.debug("set HD syringe pump DAC reference voltage") + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + str_res = str(dac_v_ref) + self.logger.debug("Syringe pump DAC reference voltage set to " + str_res + "V. " + + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False +