Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r3024c73fd79f1590c89b183089b85b46a3b3eb1a -r106e58f4292b0b970a3c2084af19dca26682edc5 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 3024c73fd79f1590c89b183089b85b46a3b3eb1a) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 106e58f4292b0b970a3c2084af19dca26682edc5) @@ -354,6 +354,7 @@ MSG_ID_DD_BICARB_CHAMBER_FILL_REQUEST_OVERRIDE_REQUEST = 0xA059 MSG_ID_DD_BICART_DRAIN_REQUEST_OVERRIDE_REQUEST = 0xA05A MSG_ID_DD_BICART_CARTRIDGE_SELECT_OVERRIDE_REQUEST = 0xA05B + MSG_ID_DD_FLOATER_LEVEL_OVERRIDE_REQUEST = 0xA05C MSG_ID_DD_SET_CONDUCTIVITY_MODEL_REQUEST = 0xA100 MSG_ID_DD_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST = 0xA101 @@ -378,7 +379,7 @@ MSG_ID_FP_PRESSURE_SENSOR_FILTER_TEMPERATURE_OVERRIDE_REQUEST = 0xB00D MSG_ID_FP_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB00E MSG_ID_FP_LEVEL_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB00F - MSG_ID_FP_LEVEL_OVERRIDE_REQUEST = 0xB010 + MSG_ID_FP_FLOATER_LEVEL_OVERRIDE_REQUEST = 0xB010 MSG_ID_FP_FLOWS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB011 MSG_ID_FP_FLOW_RATE_OVERRIDE_REQUEST = 0xB012 MSG_ID_FP_FLOW_TEMP_OVERRIDE_REQUEST = 0xB013 Index: leahi_dialin/dd/modules/levels.py =================================================================== diff -u -r23ad7f4e46c52fcc77452ca6cfa171305f01cfcc -r106e58f4292b0b970a3c2084af19dca26682edc5 --- leahi_dialin/dd/modules/levels.py (.../levels.py) (revision 23ad7f4e46c52fcc77452ca6cfa171305f01cfcc) +++ leahi_dialin/dd/modules/levels.py (.../levels.py) (revision 106e58f4292b0b970a3c2084af19dca26682edc5) @@ -130,3 +130,30 @@ override_text = str(status), logger = self.logger, can_interface = self.can_interface) + + + def cmd_floater_level_status_override(self, level_sensor: int, status: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends level status override command. + Must be logged into DD. + + @param level_sensor: integer - level sensor id to override + @param status: integer - the status value to override + @param reset: (int) 1 to reset a previous override, 0 to override + @returns 1 if successful, zero otherwise + """ + reset_value = integer_to_bytearray(reset) + lvl_sen = integer_to_bytearray(level_sensor) + sts = integer_to_bytearray(status) + print("sts", sts) + payload = reset_value + sts + lvl_sen + + return cmd_generic_override( + payload = payload, + reset = reset, + channel_id = DenaliChannels.dialin_to_fp_ch_id, + msg_id = MsgIds.MSG_ID_DD_FLOATER_LEVEL_OVERRIDE_REQUEST, + entity_name = f'DD Floater Levels status', + override_text = f'{str(status)}', + logger = self.logger, + can_interface = self.can_interface) Index: leahi_dialin/fp/modules/levels.py =================================================================== diff -u -r20c821bd230fc7689a0275a2918981669ff5cc19 -r106e58f4292b0b970a3c2084af19dca26682edc5 --- leahi_dialin/fp/modules/levels.py (.../levels.py) (revision 20c821bd230fc7689a0275a2918981669ff5cc19) +++ leahi_dialin/fp/modules/levels.py (.../levels.py) (revision 106e58f4292b0b970a3c2084af19dca26682edc5) @@ -90,24 +90,26 @@ can_interface = self.can_interface) - def cmd_level_status_override(self, status: int, reset: int = NO_RESET) -> int: + def cmd_floater_level_status_override(self, level_sensor: int, status: int, reset: int = NO_RESET) -> int: """ Constructs and sends level status override command. Must be logged into FP. + @param level_sensor: integer - level sensor id to override @param status: integer - the status value to override @param reset: (int) 1 to reset a previous override, 0 to override @returns 1 if successful, zero otherwise """ reset_value = integer_to_bytearray(reset) sts = integer_to_bytearray(status) - payload = reset_value + sts + lvl_sen = integer_to_bytearray(level_sensor) + payload = reset_value + sts + lvl_sen return cmd_generic_override( payload = payload, reset = reset, channel_id = DenaliChannels.dialin_to_fp_ch_id, - msg_id = MsgIds.MSG_ID_FP_FLOW_RATE_OVERRIDE_REQUEST, + msg_id = MSG_ID_FP_FLOATER_LEVEL_OVERRIDE_REQUEST, entity_name = f'FP Levels status', override_text = f'{str(status)}', logger = self.logger,