etherlab/EthercatMaster.py
branchpython3
changeset 3750 f62625418bff
parent 2703 32ffdb32b14e
equal deleted inserted replaced
3749:fda6c1a37662 3750:f62625418bff
     7 #                          RTES Lab : CRKim, JBLee, youcu
     7 #                          RTES Lab : CRKim, JBLee, youcu
     8 #                          Higen Motor : Donggu Kang
     8 #                          Higen Motor : Donggu Kang
     9 #
     9 #
    10 # See COPYING file for copyrights details.
    10 # See COPYING file for copyrights details.
    11 
    11 
    12 from __future__ import absolute_import
    12 
    13 import os
    13 import os
    14 from copy import deepcopy
    14 from copy import deepcopy
    15 from functools import reduce
    15 from functools import reduce
    16 from lxml import etree
    16 from lxml import etree
    17 
    17 
   296             try:
   296             try:
   297                 self.Config, error = \
   297                 self.Config, error = \
   298                     EtherCATConfigParser.LoadXMLString(config_xmlfile.read())
   298                     EtherCATConfigParser.LoadXMLString(config_xmlfile.read())
   299                 if error is None:
   299                 if error is None:
   300                     config_is_saved = True
   300                     config_is_saved = True
   301             except Exception, e:
   301             except Exception as e:
   302                 error = e.message
   302                 error = e.message
   303             config_xmlfile.close()
   303             config_xmlfile.close()
   304             
   304             
   305             if error is not None:
   305             if error is not None:
   306                 self.GetCTRoot().logger.write_error(
   306                 self.GetCTRoot().logger.write_error(
   649                 device, _module_extra_params = self.GetModuleInfos(type_infos)
   649                 device, _module_extra_params = self.GetModuleInfos(type_infos)
   650         if device is not None:
   650         if device is not None:
   651             # Test OD
   651             # Test OD
   652             entries = device.GetEntriesList(limits)
   652             entries = device.GetEntriesList(limits)
   653             #entries = self.CTNParent.GetEntriesList()
   653             #entries = self.CTNParent.GetEntriesList()
   654             entries_list = entries.items()
   654             entries_list = list(entries.items())
   655             entries_list.sort()
   655             entries_list.sort()
   656             entries = []
   656             entries = []
   657             current_index = None
   657             current_index = None
   658             current_entry = {}
   658             current_entry = {}
   659             for (index, _subindex), entry in entries_list:
   659             for (index, _subindex), entry in entries_list:
   815                     if sync_manager_direction:
   815                     if sync_manager_direction:
   816                         sync_managers.append(LOCATION_VAR_OUTPUT)
   816                         sync_managers.append(LOCATION_VAR_OUTPUT)
   817                     else:
   817                     else:
   818                         sync_managers.append(LOCATION_VAR_INPUT)
   818                         sync_managers.append(LOCATION_VAR_INPUT)
   819 
   819 
   820                 entries = device.GetEntriesList().items()
   820                 entries = list(device.GetEntriesList().items())
   821                 entries.sort()
   821                 entries.sort()
   822                 for (index, subindex), entry in entries:
   822                 for (index, subindex), entry in entries:
   823                     var_size = self.GetSizeOfType(entry["Type"])
   823                     var_size = self.GetSizeOfType(entry["Type"])
   824                     if var_size is not None:
   824                     if var_size is not None:
   825                         var_class = VARCLASSCONVERSION.get(entry["PDOMapping"], None)
   825                         var_class = VARCLASSCONVERSION.get(entry["PDOMapping"], None)