Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -rc5bfcf84ed942ca5841bf9de155aa0f495b4d28d -r784a986cc5c71b4297c8993bfa3d386388f6972e --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision c5bfcf84ed942ca5841bf9de155aa0f495b4d28d) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 784a986cc5c71b4297c8993bfa3d386388f6972e) @@ -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 @@ -174,7 +174,6 @@ logger = self.logger, can_interface = self.can_interface) - def cmd_conductivity_sensor_error_counter_override(self, sensor_index: int, counter: int, reset: int = NO_RESET) -> int: """ Constructs and sends the conductivity error count override command @@ -199,3 +198,30 @@ override_text = str(counter), logger = self.logger, can_interface = self.can_interface) + + def cmd_set_conductivity_sensor_model(self, model_id: int) -> int: + """ + 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 model_id: unsigned int - model ID. + @return: none + """ + model_byte_array = integer_to_bytearray(model_id) + payload = model_byte_array + + return cmd_generic_override( + payload = payload, + reset = 0, + channel_id = DenaliChannels.dialin_to_dd_ch_id, + msg_id = MsgIds.MSG_ID_DD_SET_CONDUCTIVITY_MODEL_REQUEST, + entity_name = f'DD set Conductivity Model ID', + override_text = str(model_id), + logger = self.logger, + can_interface = self.can_interface) +