--- a/etherlab/etherlab.py Mon Jun 03 08:24:08 2013 +0200
+++ b/etherlab/etherlab.py Wed Apr 02 15:03:32 2014 +0200
@@ -159,7 +159,7 @@
"BitSize": object.getBitSize(),
"Access": entry_access,
"PDOMapping": entry_pdomapping}
-
+
for TxPdo in self.getTxPdo():
ExtractPdoInfos(TxPdo, "Transmit", entries, limits)
for RxPdo in self.getRxPdo():
@@ -167,7 +167,7 @@
return entries
setattr(cls, "GetEntriesList", GetEntriesList)
-
+
def GetSyncManagers(self):
sync_managers = []
for sync_manager in self.getSm():
@@ -287,33 +287,36 @@
xml_tree = minidom.parse(xmlfile)
xmlfile.close()
- modules_infos = None
+ self.modules_infos = None
for child in xml_tree.childNodes:
if child.nodeType == xml_tree.ELEMENT_NODE and child.nodeName == "EtherCATInfo":
- modules_infos = EtherCATInfoClasses["EtherCATInfo.xsd"]["EtherCATInfo"]()
- modules_infos.loadXMLTree(child)
+ self.modules_infos = EtherCATInfoClasses["EtherCATInfo.xsd"]["EtherCATInfo"]()
+ self.modules_infos.loadXMLTree(child)
- if modules_infos is not None:
- vendor = modules_infos.getVendor()
+ if self.modules_infos is not None:
+ vendor = self.modules_infos.getVendor()
vendor_category = self.Library.setdefault(ExtractHexDecValue(vendor.getId()),
{"name": ExtractName(vendor.getName(), _("Miscellaneous")),
"groups": {}})
- for group in modules_infos.getDescriptions().getGroups().getGroup():
+ for group in self.modules_infos.getDescriptions().getGroups().getGroup():
group_type = group.getType()
vendor_category["groups"].setdefault(group_type, {"name": ExtractName(group.getName(), group_type),
"parent": group.getParentGroup(),
"order": group.getSortOrder(),
+ "value": group.getcontent()["value"],
"devices": []})
- for device in modules_infos.getDescriptions().getDevices().getDevice():
+ for device in self.modules_infos.getDescriptions().getDevices().getDevice():
device_group = device.getGroupType()
if not vendor_category["groups"].has_key(device_group):
raise ValueError, "Not such group \"%\"" % device_group
vendor_category["groups"][device_group]["devices"].append((device.getType().getcontent(), device))
+ return self.Library
+
def GetModulesLibrary(self, profile_filter=None):
if self.Library is None:
self.LoadModules()
@@ -375,6 +378,8 @@
revision_number = ExtractHexDecValue(device_infos.getType().getRevisionNo())
if (product_code == ExtractHexDecValue(module_infos["product_code"]) and
revision_number == ExtractHexDecValue(module_infos["revision_number"])):
+ self.cntdevice = device_infos
+ self.cntdeviceType = device_type
return device_infos, self.GetModuleExtraParams(vendor, product_code, revision_number)
return None, None
@@ -459,7 +464,8 @@
CTNChildrenTypes = [("EthercatNode",_EthercatCTN,"Ethercat Master")]
EditorType = LibraryEditor
-
+
+
def __init__(self):
self.ModulesLibrary = None
self.LoadModulesLibrary()
@@ -502,4 +508,3 @@
def GetModuleInfos(self, module_infos):
return self.ModulesLibrary.GetModuleInfos(module_infos)
-