Index: leahi_dialin/fp/modules/pressure_sensors.py =================================================================== diff -u -r5b9473d9ca6a66d4d03c509fae6051710895b498 -r1a719e5c0a00853453a57ebd7b01cc6394ebbcc5 --- leahi_dialin/fp/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 5b9473d9ca6a66d4d03c509fae6051710895b498) +++ leahi_dialin/fp/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 1a719e5c0a00853453a57ebd7b01cc6394ebbcc5) @@ -26,71 +26,71 @@ @unique -class FPPressureSensorNames(DialinEnum): - M1_PRES = 0 - M3_PRES = 1 - P8_PRES = 2 - P13_PRES = 3 - P17_PRES = 4 - X1_PRES = 5 +class ROPressureSensorNames(DialinEnum): + M1_PRESSURE_SENSOR_WATER_INLET_PRE_REG = 0 + M3_PRESSURE_SENSOR_WATER_INLET_POST_REG = 1 + P8_PRESSURE_SENSOR_WATER_INLET_PRE_COND = 2 + P13_PRESSURE_SENSOR_PRE_RO_FILTER = 3 + P17_PRESSURE_SENSOR_POST_RO_FILTER = 4 + X1_PRESSURE_SENSOR_PRE_RO_PUMP = 5 -class FPPressureSensors(AbstractSubSystem): +class ROPressureSensors(AbstractSubSystem): """ - Dialin API sub-class for FP pressure sensor related commands. + Dialin API sub-class for RO pressure sensor related commands. """ def __init__(self, can_interface, logger: Logger): """ - FPPressureSensors constructor + ROPressureSensors constructor """ super().__init__() self.can_interface = can_interface self.logger = logger if self.can_interface is not None: - channel_id = DenaliChannels.fp_sync_broadcast_ch_id + channel_id = DenaliChannels.ro_sync_broadcast_ch_id msg_id = MsgIds.MSG_ID_RO_PRESSURES_DATA.value self.can_interface.register_receiving_publication_function(channel_id, msg_id, self._handler_pressure_sync) - self.fp_pressure_timestamp = 0.0 - self.m1_pres = 0.0 - self.m3_pres = 0.0 - self.p8_pres = 0.0 - self.p13_pres = 0.0 - self.p17_pres = 0.0 - self.x1_pres = 0.0 - self.m1_pres_temp = 0.0 - self.m3_pres_temp = 0.0 - self.p8_pres_temp = 0.0 - self.p13_pres_temp = 0.0 - self.p17_pres_temp = 0.0 - self.x1_pres_temp = 0.0 + self.ro_pressure_timestamp = 0.0 + self.m1_water_inlet_pre_reg_pressure = 0.0 + self.m3_water_inlet_post_reg_pressure = 0.0 + self.p8_water_inlet_pre_cond_pressure = 0.0 + self.p13_pre_ro_filter_pressure = 0.0 + self.p17_post_ro_filter_pressure = 0.0 + self.x1_pre_ro_pump_pressure = 0.0 + self.m1_water_inlet_pre_reg_temp = 0.0 + self.m3_water_inlet_post_reg_temp = 0.0 + self.p8_water_inlet_pre_cond_temp = 0.0 + self.p13_pre_ro_filter_temp = 0.0 + self.p17_post_ro_filter_temp = 0.0 + self.x1_pre_ro_pump_temp = 0.0 @publish([ - "fp_pressure_timestamp", - "m1_pres", - "m3_pres", - "p8_pres", - "p13_pres", - "p17_pres", - "x1_pres", - "m1_pres_temp", - "m3_pres_temp", - "p8_pres_temp", - "p13_pres_temp", - "p17_pres_temp", - "x1_pres_temp" + "ro_pressure_timestamp", + "m1_water_inlet_pre_reg_pressure", + "m3_water_inlet_post_reg_pressure", + "p8_water_inlet_pre_cond_pressure", + "p13_pre_ro_filter_pressure", + "p17_post_ro_filter_pressure", + "x1_pre_ro_pump_pressure", + "m1_water_inlet_pre_reg_temp", + "m3_water_inlet_post_reg_temp", + "p8_water_inlet_pre_cond_temp", + "p13_pre_ro_filter_temp", + "p17_post_ro_filter_temp", + "x1_pre_ro_pump_temp" ]) def _handler_pressure_sync(self, message, timestamp=0.0): """ - Handles published FP pressure sensor data messages. Pressure data are captured + Handles published RO pressure sensor data messages. Pressure data are captured for reference. - @param message: published FP pressure sensor data message + @param message: published RO pressure sensor data message @return: none """ @@ -120,27 +120,27 @@ pre_pump_temp = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_12:MsgFieldPositions.END_POS_FIELD_12])) - self.m1_pres = pre_reg_wi[0] - self.m3_pres = post_reg_wi[0] - self.p8_pres = pre_cond_wi[0] - self.p13_pres = pre_ro[0] - self.p17_pres = post_ro[0] - self.x1_pres = pre_pump[0] + self.m1_water_inlet_pre_reg_pressure = pre_reg_wi[0] + self.m3_water_inlet_post_reg_pressure = post_reg_wi[0] + self.p8_water_inlet_pre_cond_pressure = pre_cond_wi[0] + self.p13_pre_ro_filter_pressure = pre_ro[0] + self.p17_post_ro_filter_pressure = post_ro[0] + self.x1_pre_ro_pump_pressure = pre_pump[0] - self.m1_pres_temp = pre_reg_wi_temp[0] - self.m3_pres_temp = post_reg_wi_temp[0] - self.p8_pres_temp = pre_cond_wi_temp[0] - self.p13_pres_temp = pre_ro_temp[0] - self.p17_pres_temp = post_ro_temp[0] - self.x1_pres_temp = pre_pump_temp[0] + self.m1_water_inlet_pre_reg_pressure = pre_reg_wi_temp[0] + self.m3_water_inlet_post_reg_pressure = post_reg_wi_temp[0] + self.p8_water_inlet_pre_cond_pressure = pre_cond_wi_temp[0] + self.p13_pre_ro_filter_pressure = pre_ro_temp[0] + self.p17_post_ro_filter_pressure = post_ro_temp[0] + self.x1_pre_ro_pump_temp = pre_pump_temp[0] - self.fp_pressure_timestamp = timestamp + self.ro_pressure_timestamp = timestamp def cmd_pressure_sensor_override(self, sensor: int, pressure: float, reset: int = NO_RESET) -> int: """ - Constructs and sends a measured FP pressure override command message. + Constructs and sends a measured RO pressure override command message. Constraints: - Must be logged into FP. + Must be logged into RO. @param sensor: int - switch between filtered override and raw override @param pressure: float - measured pressure (in PSI) to override with @@ -153,11 +153,11 @@ prs = float_to_bytearray(pressure) payload = rst + prs + sen - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_ro_ch_id, message_id=MsgIds.MSG_ID_RO_PRESSURE_OVERRIDE_REQUEST.value, payload=payload) - self.logger.debug("override FP pressure sensor") + self.logger.debug("override RO pressure sensor") # Send message received_message = self.can_interface.send(message) @@ -168,7 +168,7 @@ str_res = "reset back to normal. " else: str_res = str(pressure) + " PSI. " - self.logger.debug("FP pressure overridden to " + str_res + + self.logger.debug("RO pressure overridden to " + str_res + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] @@ -178,10 +178,10 @@ def cmd_pressure_sensors_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ - Constructs and sends the FP pressure data broadcast interval override command. + Constructs and sends the RO pressure data broadcast interval override command. Constraints: - Must be logged into FP. - Given interval must be non-zero and a multiple of the FP general task interval (50 ms). + Must be logged into RO. + Given interval must be non-zero and a multiple of the RO general task interval (50 ms). @param ms: integer - interval (in ms) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -195,11 +195,11 @@ mis = integer_to_bytearray(ms) payload = rst + mis - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_ro_ch_id, message_id=MsgIds.MSG_ID_RO_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST.value, payload=payload) - self.logger.debug("override FP pressure broadcast interval") + self.logger.debug("override RO pressure broadcast interval") # Send message received_message = self.can_interface.send(message) @@ -211,7 +211,7 @@ str_res = "reset back to normal: " else: str_res = str(ms) + " ms: " - self.logger.debug("FP pressure broadcast interval overridden to " + str_res + + self.logger.debug("RO pressure broadcast interval overridden to " + str_res + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX]