def SetParamsAttribute(self, path, value): if path == "CanFestivalNode.NodeId": nodeid = self.CanFestivalNode.getNodeId() if value != nodeid: slaves = self.GetSlaveIDs() dir = (value - nodeid) / abs(value - nodeid) while value in slaves and value >= 0: value += dir if value < 0: value = nodeid value, refresh = ConfigTreeNode.SetParamsAttribute(self, path, value) refresh_network = False # Filter IEC_Channel and Name, that have specific behavior if path == "BaseParams.IEC_Channel" and self._View is not None: self._View.SetBusId(self.GetCurrentLocation()) elif path == "BaseParams.Name": self.SetNetworkName(value) refresh_network = True elif path == "CanFestivalNode.NodeId": refresh_network = True if refresh_network and self._View is not None: wx.CallAfter(self._View.RefreshBufferState) return value, refresh
def SetParamsAttribute(self, path, value): self.GetSlaveInfos() position = self.BaseParams.getIEC_Channel() if path == "SlaveParams.Type": self.CTNParent.SetSlaveType(position, value) slave_type = self.CTNParent.GetSlaveType(self.GetSlavePos()) value = (slave_type["device_type"], slave_type) # if self._View is not None: # wx.CallAfter(self._View.EtherCATManagementTreebook.SlaveStatePanel.RefreshSlaveInfos()) # self._View.EtherCATManagementTreebook.SlaveStatePanel.RefreshSlaveInfos() # self._View.EtherCATManagementTreebook.PDOMonitoringPanel.PDOInfoUpdate() # self._View.EtherCATManagementTreebook.SmartView.Create_SmartView() return value, True elif path == "SlaveParams.Alias": self.CTNParent.SetSlaveAlias(position, value) return value, True value, refresh = ConfigTreeNode.SetParamsAttribute(self, path, value) # Filter IEC_Channel, Slave_Type and Alias that have specific behavior if path == "BaseParams.IEC_Channel" and value != position: self.CTNParent.SetSlavePosition(position, value) return value, refresh
def SetParamsAttribute(self, path, value): result = ConfigTreeNode.SetParamsAttribute(self, path, value) # Filter IEC_Channel and Name, that have specific behavior if path == "BaseParams.IEC_Channel" and self._View is not None: self._View.SetBusId(self.GetCurrentLocation()) return result