Index: leahi_dialin/dd/modules/concentrate_pump.py =================================================================== diff -u -r2d5b191186134e69ad5110ba3901490be12f99d7 -rbe5dde1cc2e93cc22ebed1fc4dfd6b6082cae8a3 --- leahi_dialin/dd/modules/concentrate_pump.py (.../concentrate_pump.py) (revision 2d5b191186134e69ad5110ba3901490be12f99d7) +++ leahi_dialin/dd/modules/concentrate_pump.py (.../concentrate_pump.py) (revision be5dde1cc2e93cc22ebed1fc4dfd6b6082cae8a3) @@ -69,6 +69,10 @@ self.concentrate_pump_cp2_target_speed = 0.0 self.concentrate_pump_cp1_current_state = 0.0 self.concentrate_pump_cp2_current_state = 0.0 + self.concentrate_pump_cp1_target_rev_count = 0.0 + self.concentrate_pump_cp2_target_rev_count = 0.0 + self.concentrate_pump_cp1_measured_rev_count = 0.0 + self.concentrate_pump_cp2_measured_rev_count = 0.0 self.concentrate_pump_cp1_parked = False self.concentrate_pump_cp2_parked = False self.concentrate_pump_cp1_park_fault = False @@ -81,6 +85,8 @@ "concentrate_pump_cp1_current_set_speed", "concentrate_pump_cp1_measured_speed", "concentrate_pump_cp1_target_speed", "concentrate_pump_cp2_current_set_speed", "concentrate_pump_cp2_measured_speed", "concentrate_pump_cp2_target_speed", "concentrate_pump_cp1_current_state", "concentrate_pump_cp2_current_state", + "concentrate_pump_cp1_target_rev_count", "concentrate_pump_cp2_target_rev_count", + "concentrate_pump_cp1_measured_rev_count", "concentrate_pump_cp2_measured_rev_count", "concentrate_pump_cp1_parked", "concentrate_pump_cp2_parked", "concentrate_pump_cp1_park_fault", "concentrate_pump_cp2_park_fault"]) def _handler_concentrate_pumps_sync(self, message, timestamp=0.0): @@ -96,35 +102,49 @@ message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] self.concentrate_pump_cp1_measured_speed = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.concentrate_pump_cp2_current_set_speed = struct.unpack('f', bytearray( + self.concentrate_pump_cp1_target_speed = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.concentrate_pump_cp2_measured_speed = struct.unpack('f', bytearray( + + self.concentrate_pump_cp2_current_set_speed = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] + self.concentrate_pump_cp2_measured_speed = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] + self.concentrate_pump_cp2_target_speed = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] + self.concentrate_pump_cp1_target_rev_count = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] + self.concentrate_pump_cp1_measured_rev_count = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] + self.concentrate_pump_cp2_target_rev_count = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] + self.concentrate_pump_cp2_measured_rev_count = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10]))[0] + self.concentrate_pump_cp1_current_state = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_6]))[0] + message['message'][MsgFieldPositions.START_POS_FIELD_11:MsgFieldPositions.END_POS_FIELD_11]))[0] self.concentrate_pump_cp2_current_state = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] + message['message'][MsgFieldPositions.START_POS_FIELD_12:MsgFieldPositions.END_POS_FIELD_12]))[0] self.cp1_pulse_us = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] + message['message'][MsgFieldPositions.START_POS_FIELD_13:MsgFieldPositions.END_POS_FIELD_13]))[0] self.cp2_pulse_us = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] + message['message'][MsgFieldPositions.START_POS_FIELD_14:MsgFieldPositions.END_POS_FIELD_14]))[0] self.concentrate_pump_cp1_target_speed = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] + message['message'][MsgFieldPositions.START_POS_FIELD_15:MsgFieldPositions.END_POS_FIELD_15]))[0] self.concentrate_pump_cp2_target_speed = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10]))[0] + message['message'][MsgFieldPositions.START_POS_FIELD_16:MsgFieldPositions.END_POS_FIELD_16]))[0] self.concentrate_pump_cp1_parked = True if struct.unpack('I', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_11:MsgFieldPositions.END_POS_FIELD_11]))[0] == 1 else False + message['message'][MsgFieldPositions.START_POS_FIELD_17:MsgFieldPositions.END_POS_FIELD_17]))[0] == 1 else False self.concentrate_pump_cp2_parked = True if struct.unpack('I', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_12:MsgFieldPositions.END_POS_FIELD_12]))[0] == 1 else False + message['message'][MsgFieldPositions.START_POS_FIELD_18:MsgFieldPositions.END_POS_FIELD_18]))[0] == 1 else False self.concentrate_pump_cp1_park_fault = True if struct.unpack('I', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_13:MsgFieldPositions.END_POS_FIELD_13]))[0] == 1 else False + message['message'][MsgFieldPositions.START_POS_FIELD_19:MsgFieldPositions.END_POS_FIELD_19]))[0] == 1 else False self.concentrate_pump_cp2_park_fault = True if struct.unpack('I', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_14:MsgFieldPositions.END_POS_FIELD_14]))[0] == 1 else False + message['message'][MsgFieldPositions.START_POS_FIELD_20:MsgFieldPositions.END_POS_FIELD_20]))[0] == 1 else False self.dd_concentrate_pump_timestamp = timestamp