Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r823fc52911140cefde287096797d6db853bf3dfd -r6d93eb977b29074f7cacade27f56371f2edf3f00 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 823fc52911140cefde287096797d6db853bf3dfd) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 6d93eb977b29074f7cacade27f56371f2edf3f00) @@ -341,6 +341,11 @@ 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 + MSG_ID_DD_DRY_BICART_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA057 + MSG_ID_DD_DRY_BICART_FILL_CYCLE_MAX_OVERRIDE_REQUEST = 0xA058 + MSG_ID_DD_DRY_BICART_FILL_REQUEST_OVERRIDE_REQUEST = 0xA059 + MSG_ID_DD_BICARB_CHAMBER_FILL_REQUEST_OVERRIDE_REQUEST = 0xA05A + MSG_ID_DD_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST = 0xA05B # Placeholder messages MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 @@ -397,12 +402,26 @@ MSG_ID_FP_INLET_PRES_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB030 MSG_ID_FP_INLET_PRES_CHECK_TIME_OVERRIDE_REQUEST = 0xB031 MSG_ID_FP_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST = 0xB032 - # MSG_ID_FP_FILTERED_COND_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xB032 - MSG_ID_FP_SET_START_STOP_OVERRIDE_REQUEST = 0xB033 - MSG_ID_FP_RO_REJECTION_RATIO_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB034 - MSG_ID_FP_RO_FILTERED_REJECTION_RATIO_OVERRIDE_REQUEST = 0xB035 - MSG_ID_FP_DEF_STATUS_REQUEST = 0xB049 - MSG_ID_FP_DEF_STATUS_RESPONSE = 0xB04A + MSG_ID_FP_FILTERED_COND_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xB033 + MSG_ID_FP_SET_START_STOP_OVERRIDE_REQUEST = 0xB034 + MSG_ID_FP_RO_REJECTION_RATIO_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB035 + MSG_ID_FP_RO_FILTERED_REJECTION_RATIO_OVERRIDE_REQUEST = 0xB036 + MSG_ID_FP_RO_GET_CALCULATED_DUTY_CYCLE_REQUEST = 0xB037 + MSG_ID_FP_RO_CALCULATED_DUTY_CYCLE_RESPONSE = 0xB038 + MSG_ID_FP_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB039 + MSG_ID_FP_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST = 0xB03A + MSG_ID_FP_FLUSH_PERMEATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB03B + MSG_ID_FP_FLUSH_PERMEATE_TIMER_OVERRIDE_REQUEST = 0xB03C + MSG_ID_FP_FLUSH_PERMEATE_ALARM_TIMER_OVERRIDE_REQUEST = 0xB03D + MSG_ID_FP_FLUSH_CONCENTRATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB03E + MSG_ID_FP_FLUSH_CONCENTRATE_TIMER_OVERRIDE_REQUEST = 0xB03F + MSG_ID_FP_DEF_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB040 + MSG_ID_FP_DEF_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST = 0xB041 + MSG_ID_FP_DEF_PRE_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB042 + MSG_ID_FP_DEF_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB043 + MSG_ID_FP_DEF_STATUS_REQUEST = 0xB044 + MSG_ID_FP_DEF_STATUS_RESPONSE = 0xB045 + MSG_ID_FP_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST = 0xB046 MSG_ID_TD_DEBUG_EVENT = 0xFFF1 MSG_ID_DD_DEBUG_EVENT = 0xFFF2 Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -r9636bffdc6b129ed07299d5bbf52056a31872769 -r6d93eb977b29074f7cacade27f56371f2edf3f00 --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 9636bffdc6b129ed07299d5bbf52056a31872769) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 6d93eb977b29074f7cacade27f56371f2edf3f00) @@ -220,3 +220,33 @@ logger = self.logger, can_interface = self.can_interface) + def cmd_conductivity_sensor_resistance_override(self, sensor_index: int, conductivity: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the conductivity resistance override command + Constraints: + Must be logged into DD. + Given sensor_index must be one of the sensors defined in ConductivitySensorsEnum + + Note: Override only works for Teensy conductivity sensor implementation. D79 is not installed with Teensy sensors. + + @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_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST, + entity_name = f'DD {sensor_name} Conductivity Sensor resistance', + override_text = f'{str(conductivity)} ohms', + logger = self.logger, + can_interface = self.can_interface) + Index: leahi_dialin/fp/modules/conductivity_sensors.py =================================================================== diff -u -rc5bfcf84ed942ca5841bf9de155aa0f495b4d28d -r6d93eb977b29074f7cacade27f56371f2edf3f00 --- leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision c5bfcf84ed942ca5841bf9de155aa0f495b4d28d) +++ leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 6d93eb977b29074f7cacade27f56371f2edf3f00) @@ -247,3 +247,34 @@ override_text = str(value), logger = self.logger, can_interface = self.can_interface) + + def cmd_conductivity_sensor_resistance_override(self, sensor_index: int, conductivity: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the conductivity resistance override command + Constraints: + Must be logged into FP. + Given sensor_index must be one of the sensors defined in ConductivitySensorsEnum + + Note: Override only works for Teensy conductivity sensor implementation. D79 is not installed with Teensy sensors. + + @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_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST, + entity_name = f'FP {sensor_name} Conductivity Sensor resistance', + override_text = f'{str(conductivity)} ohms', + logger = self.logger, + can_interface = self.can_interface) +