import numpy as np PUs_states = [{"PU_MODE": "OFF","ploop_setpoint":0.0},{"PU_MODE": "OFF","ploop_setpoint":0.0},{"PU_MODE": "OFF","ploop_setpoint":0.0}] # data[i] is PU_i dictionnary # Placeholder for CAN backend class CANBackend: def __init__(self): self.connected = False def connect(self, node_id: int, eds_path: str) -> bool: # Placeholder for connection logic self.connected = True return True def shutdown(self): self.connected = False def read_current_state(self,pu_number: int): # Placeholder for reading mode command return PUs_states[pu_number-1] def send_thermal_loop_cleaning(self, mode: str): # Placeholder for thermal loop cleaning pass def send_state_command(self, state: str, pu_number : int, ploop_setpoint : float): # Placeholder for sending mode command PUs_states[pu_number-1] = {"PU_MODE": state, "ploop_setpoint":ploop_setpoint} def get_latest_data(self): # Placeholder for getting latest TPDO data return {"FM2" : round(1000*np.random.random(),1),"PS1" : round(10*np.random.random(),2)}