--- a/canfestival/NetworkEditor.py Tue Mar 26 12:44:44 2013 +0900
+++ b/canfestival/NetworkEditor.py Tue Mar 26 23:24:30 2013 +0100
@@ -2,7 +2,7 @@
from subindextable import EditingPanel
-from networkedit import NetworkEditorTemplate
+from networkeditortemplate import NetworkEditorTemplate from editors.ConfTreeNodeEditor import ConfTreeNodeEditor
--- a/canfestival/canfestival.py Tue Mar 26 12:44:44 2013 +0900
+++ b/canfestival/canfestival.py Tue Mar 26 23:24:30 2013 +0100
@@ -9,12 +9,12 @@
from nodelist import NodeList
from nodemanager import NodeManager
import config_utils, gen_cfile, eds_utils
-from networkedit import networkedit
-from objdictedit import objdictedit
import canfestival_config as local_canfestival_config
from ConfigTreeNode import ConfigTreeNode
from commondialogs import CreateNodeDialog
+from subindextable import IECTypeConversion, SizeConversion +from PLCControler import LOCATION_CONFNODE, LOCATION_MODULE, LOCATION_GROUP, LOCATION_VAR_INPUT, LOCATION_VAR_OUTPUT, LOCATION_VAR_MEMORY from SlaveEditor import SlaveEditor, MasterViewer
from NetworkEditor import NetworkEditor
@@ -26,6 +26,32 @@
AddCatalog(os.path.join(CanFestivalPath, "objdictgen", "locale"))
#--------------------------------------------------
+#-------------------------------------------------- +def GetSlaveLocationTree(slave_node, current_location, name): + for index, subindex, size, entry_name in slave_node.GetMapVariableList(): + subentry_infos = slave_node.GetSubentryInfos(index, subindex) + typeinfos = slave_node.GetEntryInfos(subentry_infos["type"]) + "name": "0x%4.4x-0x%2.2x: %s" % (index, subindex, entry_name), + "type": LOCATION_VAR_MEMORY, + "IEC_type": IECTypeConversion.get(typeinfos["name"]), + "var_name": "%s_%4.4x_%2.2x" % ("_".join(name.split()), index, subindex), + "location": "%s%s"%(SizeConversion[size], ".".join(map(str, current_location + + "type": LOCATION_CONFNODE, + "location": ".".join([str(i) for i in current_location]) + ".x", +#-------------------------------------------------- #--------------------------------------------------
@@ -139,7 +165,13 @@
self._View.SetBusId(self.GetCurrentLocation())
+ def GetVariableLocationTree(self): + current_location = self.GetCurrentLocation() + return GetSlaveLocationTree(self.CurrentNode, + self.GetCurrentLocation(), + self.BaseParams.getName()) def CTNGenerate_C(self, buildpath, locations):
@@ -277,7 +309,23 @@
if refresh_network and self._View is not None:
wx.CallAfter(self._View.RefreshBufferState)
+ def GetVariableLocationTree(self): + current_location = self.GetCurrentLocation() + nodeindexes = self.SlaveNodes.keys() + return {"name": self.BaseParams.getName(), + "type": LOCATION_CONFNODE, + "location": self.GetFullIEC_Channel(), + "children": [GetSlaveLocationTree(self.Manager.GetCurrentNodeCopy(), + [GetSlaveLocationTree(self.SlaveNodes[nodeid]["Node"], + current_location + (nodeid,), + self.SlaveNodes[nodeid]["Name"]) + for nodeid in nodeindexes] _GeneratedMasterView = None
def _ShowGeneratedMaster(self):
self._OpenView("Generated master")