Added dictionary for docking parameters

This commit is contained in:
aniketSaha 2025-08-06 10:22:37 +02:00
parent 6d29fa0059
commit 5f03efb2cb

View File

@ -26,6 +26,7 @@ class CANBackend:
self.connected = False
self.lock = threading.Lock()
self.latest_data = {
0: {}, #Docking Parameters
1: {}, # PU1 data
2: {}, # PU2 data
}
@ -172,21 +173,6 @@ class CANBackend:
"Pump_sp": int.from_bytes(data[6:8], 'little') / 100.0,
})
elif cob_id == 0x2AC and len(data) >= 8:
self.latest_data[2].update({
"Qdrain_sp": int.from_bytes(data[4:6], 'little'),
"TankLevel": int.from_bytes(data[6:8], 'little'),
})
elif cob_id == 0x2B3 and len(data) >= 8:
self.latest_data[2].update({
"Inlet_flow": int.from_bytes(data[0:2], 'little') / 100.0,
"Outlet_flow": int.from_bytes(data[2:4], 'little') / 100.0,
"Pressure_perm": int.from_bytes(data[4:6], 'little') / 1000.0,
"Pressure_ro": int.from_bytes(data[6:8], 'little') / 1000.0,
})
elif cob_id == 0x2B1 and len(data) >= 7:
data = list(data)
self.latest_data[2].update({
@ -226,6 +212,22 @@ class CANBackend:
print("Conductivity_Product",int.from_bytes(data[5:7], 'little') / 100.0)
# ========== Docking Parameters ==========
elif cob_id == 0x2AC and len(data) >= 8:
self.latest_data[0].update({
"Qdrain_sp": int.from_bytes(data[4:6], 'little'),
"TankLevel": int.from_bytes(data[6:8], 'little'),
})
elif cob_id == 0x2B3 and len(data) >= 8:
self.latest_data[0].update({
"Inlet_flow": int.from_bytes(data[0:2], 'little') / 100.0,
"Outlet_flow": int.from_bytes(data[2:4], 'little') / 100.0,
"Pressure_perm": int.from_bytes(data[4:6], 'little') / 1000.0,
"Pressure_ro": int.from_bytes(data[6:8], 'little') / 1000.0,
})
# # ========== PU1 DRIFT CHECK ==========
# if cob_id in (0x2A6, 0x2A8): # FM1 or MV03_sp updates for PU1
# mv03_sp = self.latest_data[1].get("MV03_sp")