Index: leahi_dialin/fp/modules/flow_sensors.py =================================================================== diff -u -r5b9473d9ca6a66d4d03c509fae6051710895b498 -r1a719e5c0a00853453a57ebd7b01cc6394ebbcc5 --- leahi_dialin/fp/modules/flow_sensors.py (.../flow_sensors.py) (revision 5b9473d9ca6a66d4d03c509fae6051710895b498) +++ leahi_dialin/fp/modules/flow_sensors.py (.../flow_sensors.py) (revision 1a719e5c0a00853453a57ebd7b01cc6394ebbcc5) @@ -26,15 +26,15 @@ @unique -class FPFlowSensorNames(DialinEnum): - P7_FLOW = 0 # Water inlet flow sensor (FMS P7) - P16_FLOW = 1 # RO outlet flow sensor (FMP P16) +class ROFlowSensorNames(DialinEnum): + P7_FLOW_SENSOR_WATER_INLET = 0 # Water inlet flow sensor (FMS P7) + P16_FLOW_SENSOR_RO_OUTLET = 1 # RO outlet flow sensor (FMP P16) -class FPFlowSensors(AbstractSubSystem): +class ROFlowSensors(AbstractSubSystem): """ - API sub-class for FP flow sensor related commands. + Dialin API sub-class for flow sensor related commands. """ def __init__(self, can_interface, logger: Logger): @@ -49,45 +49,45 @@ 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_FLOW_DATA.value self.can_interface.register_receiving_publication_function(channel_id, msg_id, self._handler_flow_sensor_sync) - self.p7_flow = 0.0 - self.p16_flow = 0.0 - self.p7_temp = 0.0 - self.p16_temp = 0.0 + self.p7_flowFMS = 0.0 + self.p16_flowFMP = 0.0 + self.p7_tempFMS = 0.0 + self.p16_tempFMP = 0.0 - self.fp_flow_timestamp = 0 + self.ro_flow_timestamp = 0 - @publish(["fp_flows_timestamp", - "p7_flow", "p16_flow", - "p7_temp", "p16_temp"]) + @publish(["ro_levels_timestamp", + "p7_flowFMS", "p16_flowFMP", + "p7_tempFMS", "p16_tempFMP"]) def _handler_flow_sensor_sync(self, message, timestamp=0.0): """ Handles published flow sensor message @param message: published flow sensor data message @returns none """ - self.p7_flow = struct.unpack('f', bytearray( + self.p7_flowFMS = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.p16_flow = struct.unpack('f', bytearray( + self.p16_flowFMP = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.p7_temp = struct.unpack('f', bytearray( + self.p7_tempFMS = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.p16_temp = struct.unpack('f', bytearray( + self.p16_tempFMP = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.fp_flows_timestamp = timestamp + self.ro_flow_timestamp = timestamp def cmd_flow_sensor_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ - Constructs and sends an FP flow sensor broadcast interval override command message. + Constructs and sends an RO flow sensor broadcast interval override command message. 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: (int) Publish time interval in ms @param reset: (int) 1 to reset a previous override, 0 to override @@ -100,11 +100,11 @@ interval_value = integer_to_bytearray(ms) payload = reset_value + interval_value - 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_FLOWS_PUBLISH_INTERVAL_OVERRIDE_REQUEST.value, payload=payload) - self.logger.debug("Sending {} ms publish interval to the FP flow sensor module".format(ms)) + self.logger.debug("Sending {} ms publish interval to the RO flow sensor module".format(ms)) # Send message received_message = self.can_interface.send(message) @@ -119,7 +119,7 @@ def cmd_flow_rate_override(self, flow_sensor: int, rate: int, reset: int = NO_RESET) -> int: """ Constructs and sends flow rate override command. - Must be logged into FP. + Must be logged into RO. @param flow_sensor: integer - the sensor to override its value. @param rate: integer - the rate value to override. @@ -130,7 +130,7 @@ lvl = integer_to_bytearray(flow_sensor) sts = float_to_bytearray(rate) payload = reset_value + sts + lvl - 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_FLOW_RATE_OVERRIDE_REQUEST.value, payload=payload) @@ -148,7 +148,7 @@ def cmd_flow_temp_override(self, flow_sensor: int, temp: float, reset: int = NO_RESET) -> int: """ Constructs and sends flow temp override command. - Must be logged into FP. + Must be logged into RO. @param flow_sensor: integer - the sensor to override its value @param temp: float - the temperature value to override @@ -159,7 +159,7 @@ lvl = integer_to_bytearray(flow_sensor) sts = float_to_bytearray(temp) payload = reset_value + sts + lvl - 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_FLOW_TEMP_OVERRIDE_REQUEST.value, payload=payload)