Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -r9a97e1f14f267d899b1604a9584284d6074f9224 -r9636bffdc6b129ed07299d5bbf52056a31872769 --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 9a97e1f14f267d899b1604a9584284d6074f9224) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 9636bffdc6b129ed07299d5bbf52056a31872769) @@ -22,7 +22,7 @@ from leahi_dialin.common.dd_defs import dd_enum_repository 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 @@ -169,7 +169,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 @@ -194,3 +193,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) +