Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -rc5bfcf84ed942ca5841bf9de155aa0f495b4d28d -r2f02383569fba305dbacac4b90598cd71b3b2df1 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision c5bfcf84ed942ca5841bf9de155aa0f495b4d28d) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 2f02383569fba305dbacac4b90598cd71b3b2df1) @@ -326,6 +326,7 @@ MSG_ID_DD_RINSE_PUMP_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA053 MSG_ID_DD_RINSE_PUMP_PWM_PERCENT_OVERRIDE_REQUEST = 0xA054 MSG_ID_DD_RINSE_PUMP_TURN_ON_OFF_REQUEST = 0xA055 + MSG_ID_DD_SET_CONDUCTIVITY_MODEL_REQUEST = 0xA056 # Placeholder messages MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -rc5bfcf84ed942ca5841bf9de155aa0f495b4d28d -r2f02383569fba305dbacac4b90598cd71b3b2df1 --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision c5bfcf84ed942ca5841bf9de155aa0f495b4d28d) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 2f02383569fba305dbacac4b90598cd71b3b2df1) @@ -23,7 +23,7 @@ from leahi_dialin.common.global_vars import GlobalVariables from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override -from leahi_dialin.protocols.CAN import DenaliChannels +from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray @@ -175,27 +175,26 @@ can_interface = self.can_interface) - def cmd_conductivity_sensor_error_counter_override(self, sensor_index: int, counter: int, reset: int = NO_RESET) -> int: + def cmd_conductivity_sensor_error_counter_override(self, model_id: int) -> int: """ - Constructs and sends the conductivity error count override command + Constructs and sends the conductivity model set command. Default is Standard. + This only applies to Aly conductivity sensors that are connected to a Teensy Board. + This will also affect FP conductivity sensors. + Model IDs: + STANDARD, standard equation for conductivity + ALY_LINEAR, Aly's high range model for conductivity + UPDATED_STANDARD, Updated standard equation with a linear transformation. - @param sensor: unsigned int - sensor ID - @param counter: int - error count value to override sensor with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param model_id: unsigned int - model ID. + @return: none """ - reset_byte_array = integer_to_bytearray(reset) - error_byte_array = integer_to_bytearray(counter) - sensor_byte_array = integer_to_bytearray(sensor_index) - payload = reset_byte_array + error_byte_array + sensor_byte_array + model_byte_array = integer_to_bytearray(model_id) + payload = model_byte_array - sensor_name = dd_enum_repository.DDConductivitySensorNames(sensor_index).name.split('_')[0] - return cmd_generic_override( - payload = payload, - reset = reset, - channel_id = DenaliChannels.dialin_to_dd_ch_id, - msg_id = MsgIds.MSG_ID_DD_CONDUCTIVITY_SENSOR_ERROR_COUNTER_OVERRIDE_REQUEST, - entity_name = f'DD {sensor_name} Conductivity Sensor error counter', - override_text = str(counter), - logger = self.logger, - can_interface = self.can_interface) + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, + message_id=MsgIds.MSG_ID_DD_SET_CONDUCTIVITY_MODEL_REQUEST.value, + payload=payload) + + self.logger.debug("Sending DD conductivity sensor model request.") + self.can_interface.send(message, 0) +