Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -r6d93eb977b29074f7cacade27f56371f2edf3f00 -r2ceefb8e83a86f153df1f8a8faf0aa37cfc0c088 --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 6d93eb977b29074f7cacade27f56371f2edf3f00) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 2ceefb8e83a86f153df1f8a8faf0aa37cfc0c088) @@ -250,3 +250,30 @@ logger = self.logger, can_interface = self.can_interface) + def cmd_conductivity_sensor_filtered_readings_override(self, sensor_index: int, conductivity: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the conductivity value override command + Constraints: + Must be logged into DD. + Given sensor_index must be one of the sensors defined in ConductivitySensorsEnum + + @param sensor_index: unsigned int - index of the sensor + @param conductivity: float - conductivity value to override sensor with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + reset_byte_array = integer_to_bytearray(reset) + cond_byte_array = float_to_bytearray(conductivity) + sensor_byte_array = integer_to_bytearray(sensor_index) + payload = reset_byte_array + cond_byte_array + sensor_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_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST, + entity_name = f'DD {sensor_name} Conductivity Sensor reading', + override_text = f'{str(conductivity)} microsiemens/cm', + logger = self.logger, + can_interface = self.can_interface) Index: leahi_dialin/fp/modules/conductivity_sensors.py =================================================================== diff -u -r6d93eb977b29074f7cacade27f56371f2edf3f00 -r2ceefb8e83a86f153df1f8a8faf0aa37cfc0c088 --- leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 6d93eb977b29074f7cacade27f56371f2edf3f00) +++ leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 2ceefb8e83a86f153df1f8a8faf0aa37cfc0c088) @@ -278,3 +278,31 @@ logger = self.logger, can_interface = self.can_interface) + def cmd_conductivity_sensor_filtered_readings_override(self, sensor_index: int, conductivity: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the conductivity value override command + Constraints: + Must be logged into FP. + Given sensor_index must be one of the sensors defined in ConductivitySensorsEnum + + @param sensor_index: unsigned int - index of the sensor + @param conductivity: float - conductivity value to override sensor with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + reset_byte_array = integer_to_bytearray(reset) + cond_byte_array = float_to_bytearray(conductivity) + sensor_byte_array = integer_to_bytearray(sensor_index) + payload = reset_byte_array + cond_byte_array + sensor_byte_array + + sensor_name = fp_enum_repository.FPConductivitySensorNames(sensor_index).name.split('_')[0] + return cmd_generic_override( + payload = payload, + reset = reset, + channel_id = DenaliChannels.dialin_to_fp_ch_id, + msg_id = MsgIds.MSG_ID_FP_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST, + entity_name = f'DD {sensor_name} Conductivity Sensor reading', + override_text = f'{str(conductivity)} microsiemens/cm', + logger = self.logger, + can_interface = self.can_interface) +