Index: leahi_dialin/dd/modules/piston_pump.py =================================================================== diff -u -rec8a2600b9e8cf6fe7e02c200a1c24221ca86863 -rf0f1a6557cb07e31eb26bb8f8c70e87902f30626 --- leahi_dialin/dd/modules/piston_pump.py (.../piston_pump.py) (revision ec8a2600b9e8cf6fe7e02c200a1c24221ca86863) +++ leahi_dialin/dd/modules/piston_pump.py (.../piston_pump.py) (revision f0f1a6557cb07e31eb26bb8f8c70e87902f30626) @@ -155,7 +155,7 @@ cyc = integer_to_bytearray(count) spd = float_to_bytearray(flow_rate) vlm = float_to_bytearray(volume) - payload = pmp + cmd + cyc + spd + vlm + payload = pmp + cmd + cyc + vlm + spd message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, message_id=MsgIds.MSG_ID_DD_PISTON_PUMP_START_STOP_OVERRIDE_REQUEST.value, Index: leahi_dialin/fp/modules/levels.py =================================================================== diff -u -rec8a2600b9e8cf6fe7e02c200a1c24221ca86863 -rf0f1a6557cb07e31eb26bb8f8c70e87902f30626 --- leahi_dialin/fp/modules/levels.py (.../levels.py) (revision ec8a2600b9e8cf6fe7e02c200a1c24221ca86863) +++ leahi_dialin/fp/modules/levels.py (.../levels.py) (revision f0f1a6557cb07e31eb26bb8f8c70e87902f30626) @@ -24,7 +24,7 @@ from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum from leahi_dialin.utils.checks import check_broadcast_interval_override_ms -from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray +from leahi_dialin.utils.conversions import integer_to_bytearray class FPLevels(AbstractSubSystem): Index: leahi_dialin/fp/modules/temperatures.py =================================================================== diff -u -rec8a2600b9e8cf6fe7e02c200a1c24221ca86863 -rf0f1a6557cb07e31eb26bb8f8c70e87902f30626 --- leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision ec8a2600b9e8cf6fe7e02c200a1c24221ca86863) +++ leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision f0f1a6557cb07e31eb26bb8f8c70e87902f30626) @@ -174,7 +174,7 @@ message_id=MsgIds.MSG_ID_FP_PRESSURE_TEMP_OVERRIDE_REQUEST.value, payload=payload) - self.logger.debug("Setting sensor {} to {} C".format(FPTemperaturesNames[str(sensor_index)].name, sensor_value)) + self.logger.debug("Setting sensor {} to {} C".format(list(self.fp_temperatures.keys())[sensor_index], sensor_value)) # Send message received_message = self.can_interface.send(message) Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -rec8a2600b9e8cf6fe7e02c200a1c24221ca86863 -rf0f1a6557cb07e31eb26bb8f8c70e87902f30626 --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision ec8a2600b9e8cf6fe7e02c200a1c24221ca86863) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision f0f1a6557cb07e31eb26bb8f8c70e87902f30626) @@ -218,13 +218,13 @@ Given valve ID must be one of the valve IDs listed below. @param valve: unsigned int - valve ID - @param state: int - valve state + @param state: int - valve state (0=de-energized/closed, 1=energized/open) @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) - ste = integer_to_bytearray(int(state)) + ste = integer_to_bytearray(state) vlv = integer_to_bytearray(valve) payload = rst + ste + vlv Index: leahi_dialin/td/modules/air_trap.py =================================================================== diff -u -rec8a2600b9e8cf6fe7e02c200a1c24221ca86863 -rf0f1a6557cb07e31eb26bb8f8c70e87902f30626 --- leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision ec8a2600b9e8cf6fe7e02c200a1c24221ca86863) +++ leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision f0f1a6557cb07e31eb26bb8f8c70e87902f30626) @@ -272,4 +272,78 @@ return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: self.logger.debug("timeout!!") - return False \ No newline at end of file + return False + + def cmd_air_trap_air_pump_power_raise_override(self, power: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends the air trap air pump power raise override command + Constraints: + Must be logged into TD. + Given interval must be non-zero and a multiple of the TD general task interval (50 ms). + + @param power: integer - power to override the level raise to it + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + rst = integer_to_bytearray(reset) + pwr = integer_to_bytearray(power) + payload = rst + pwr + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_td_ch_id, + message_id=MsgIds.MSG_ID_TD_AIR_PUMP_POWER_RAISE_OVERRIDE_REQUEST.value, + payload=payload) + + self.logger.debug("Override TD air trap air pump raise power level") + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + if reset == RESET: + str_res = "reset back to normal: " + else: + str_res = str(power) + self.logger.debug("Air trap air pump power raise 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] + else: + self.logger.debug("Timeout!!!!") + return False + + def cmd_air_trap_air_pump_power_lower_override(self, power: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends the air trap air pump power lower override command + Constraints: + Must be logged into TD. + Given interval must be non-zero and a multiple of the TD general task interval (50 ms). + + @param power: integer - power to override the level lower to it + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + rst = integer_to_bytearray(reset) + pwr = integer_to_bytearray(power) + payload = rst + pwr + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_td_ch_id, + message_id=MsgIds.MSG_ID_TD_AIR_PUMP_POWER_LOWER_OVERRIDE_REQUEST.value, + payload=payload) + + self.logger.debug("Override TD air trap air pump lower power level") + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + if reset == RESET: + str_res = "reset back to normal: " + else: + str_res = str(power) + self.logger.debug("Air trap air pump power lower 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] + else: + self.logger.debug("Timeout!!!!") + return False