Fixed valve feedback data discrepancy

This commit is contained in:
aniketSaha 2025-08-04 16:24:05 +02:00
parent e8479bd8f1
commit 6c26d9d6a2

View File

@ -3,6 +3,8 @@ import canopen
import can
import time
import os
import logging
class CANBackend:
"""
@ -118,20 +120,26 @@ class CANBackend:
"Pump_sp": int.from_bytes(data[6:8], 'little') / 100.0,
})
elif cob_id == 0x2AA and len(data) >= 8:
elif cob_id == 0x2AA and len(data) >= 7:
data = list(data)
self.latest_data[1].update({
"MV02": data[0],
"MV03": data[1],
"MV04": data[2],
"MV05": data[3],
"MV06": data[4],
"MV07": data[5],
"MV08": data[6],
"MV02": 100 * data[0] / 255,
"MV03": 100 * data[1] / 255,
"MV04": 100 * data[2] / 255,
"MV05": 100 * data[3] / 255,
"MV06": 100 * data[4] / 255,
"MV07": 100 * data[5] / 255,
"MV08": 100 * data[6] / 255,
})
elif cob_id == 0x2AB and len(data) >= 1:
self.latest_data[1]["PU1_STATE"] = data[0]
elif cob_id == 0x2AB and len(data) >= 7:
self.latest_data[2].update({
"PU2_STATE" : data[0],
"Conductivity_Feed" : int.from_bytes(data[1:3], 'little') / 100.0,
"Conductivity_Permeate": int.from_bytes(data[3:5], 'little') / 100.0,
"Conductivity_Product" : int.from_bytes(data[5:7], 'little') / 100.0,
})
# ========== PU2 COB-IDs ==========
elif cob_id == 0x2AD and len(data) >= 8:
self.latest_data[2].update({
@ -164,16 +172,16 @@ class CANBackend:
"Pump_sp": int.from_bytes(data[6:8], 'little') / 100.0,
})
elif cob_id == 0x2B1 and len(data) >= 8:
elif cob_id == 0x2B1 and len(data) >= 7:
data = list(data)
self.latest_data[2].update({
"MV02": data[0],
"MV03": data[1],
"MV04": data[2],
"MV05": data[3],
"MV06": data[4],
"MV07": data[5],
"MV08": data[6],
"MV09": data[7],
"MV02": 100 * data[0] / 255,
"MV03": 100 * data[1] / 255,
"MV04": 100 * data[2] / 255,
"MV05": 100 * data[3] / 255,
"MV06": 100 * data[4] / 255,
"MV07": 100 * data[5] / 255,
"MV08": 100 * data[6] / 255,
})
# elif cob_id == 0x1B9 and len(data) >= 6: