equal
deleted
inserted
replaced
7 # Copyright (C) 2013: Real-Time & Embedded Systems (RTES) Lab. University of Seoul, Korea |
7 # Copyright (C) 2013: Real-Time & Embedded Systems (RTES) Lab. University of Seoul, Korea |
8 # |
8 # |
9 # See COPYING file for copyrights details. |
9 # See COPYING file for copyrights details. |
10 |
10 |
11 from __future__ import absolute_import |
11 from __future__ import absolute_import |
|
12 from builtins import str as text |
12 import wx |
13 import wx |
|
14 |
13 |
15 |
14 mailbox_protocols = ["AoE", "EoE", "CoE", "FoE", "SoE", "VoE"] |
16 mailbox_protocols = ["AoE", "EoE", "CoE", "FoE", "SoE", "VoE"] |
15 |
17 |
16 |
18 |
17 def ExtractHexDecValue(value): |
19 def ExtractHexDecValue(value): |
892 vendor_specific_data = "" |
894 vendor_specific_data = "" |
893 # vendor_spec_strings : list of vendor specific "strings" for preventing duplicated strings |
895 # vendor_spec_strings : list of vendor specific "strings" for preventing duplicated strings |
894 vendor_spec_strings = [] |
896 vendor_spec_strings = [] |
895 for element in device.getType().getcontent(): |
897 for element in device.getType().getcontent(): |
896 data += element |
898 data += element |
897 if data != "" and isinstance(data, unicode): |
899 if data != "" and isinstance(data, text): |
898 for vendor_spec_string in vendor_spec_strings: |
900 for vendor_spec_string in vendor_spec_strings: |
899 if data == vendor_spec_string: |
901 if data == vendor_spec_string: |
900 self.OrderIdx = vendor_spec_strings.index(data)+1 |
902 self.OrderIdx = vendor_spec_strings.index(data)+1 |
901 typeflag = True |
903 typeflag = True |
902 break |
904 break |
911 vendor_specific_data += "{:0>2x}".format(ord(data[character])) |
913 vendor_specific_data += "{:0>2x}".format(ord(data[character])) |
912 data = "" |
914 data = "" |
913 |
915 |
914 # element2-1; <EtherCATInfo>-<Descriptions>-<Devices>-<Device>-<GroupType> |
916 # element2-1; <EtherCATInfo>-<Descriptions>-<Devices>-<Device>-<GroupType> |
915 data = device.getGroupType() |
917 data = device.getGroupType() |
916 if data is not None and isinstance(data, unicode): |
918 if data is not None and isinstance(data, text): |
917 for vendor_spec_string in vendor_spec_strings: |
919 for vendor_spec_string in vendor_spec_strings: |
918 if data == vendor_spec_string: |
920 if data == vendor_spec_string: |
919 self.GroupIdx = vendor_spec_strings.index(data)+1 |
921 self.GroupIdx = vendor_spec_strings.index(data)+1 |
920 grouptypeflag = True |
922 grouptypeflag = True |
921 break |
923 break |
935 for _vendor_id, vendor in self.Controler.CTNParent.CTNParent.ModulesLibrary.Library.iteritems(): |
937 for _vendor_id, vendor in self.Controler.CTNParent.CTNParent.ModulesLibrary.Library.iteritems(): |
936 for group_type, group_etc in vendor["groups"].iteritems(): |
938 for group_type, group_etc in vendor["groups"].iteritems(): |
937 for device_item in group_etc["devices"]: |
939 for device_item in group_etc["devices"]: |
938 if device == device_item[1]: |
940 if device == device_item[1]: |
939 data = group_type |
941 data = group_type |
940 if data is not None and isinstance(data, unicode): |
942 if data is not None and isinstance(data, text): |
941 for vendor_spec_string in vendor_spec_strings: |
943 for vendor_spec_string in vendor_spec_strings: |
942 if data == vendor_spec_string: |
944 if data == vendor_spec_string: |
943 self.GroupIdx = vendor_spec_strings.index(data)+1 |
945 self.GroupIdx = vendor_spec_strings.index(data)+1 |
944 grouptypeflag = True |
946 grouptypeflag = True |
945 break |
947 break |
959 for _vendorId, vendor in self.Controler.CTNParent.CTNParent.ModulesLibrary.Library.iteritems(): |
961 for _vendorId, vendor in self.Controler.CTNParent.CTNParent.ModulesLibrary.Library.iteritems(): |
960 for group_type, group_etc in vendor["groups"].iteritems(): |
962 for group_type, group_etc in vendor["groups"].iteritems(): |
961 for device_item in group_etc["devices"]: |
963 for device_item in group_etc["devices"]: |
962 if device == device_item[1]: |
964 if device == device_item[1]: |
963 data = group_etc["name"] |
965 data = group_etc["name"] |
964 if data != "" and isinstance(data, unicode): |
966 if data != "" and isinstance(data, text): |
965 for vendor_spec_string in vendor_spec_strings: |
967 for vendor_spec_string in vendor_spec_strings: |
966 if data == vendor_spec_string: |
968 if data == vendor_spec_string: |
967 groupnameflag = True |
969 groupnameflag = True |
968 break |
970 break |
969 if groupnameflag is False: |
971 if groupnameflag is False: |
978 |
980 |
979 # element4; <EtherCATInfo>-<Descriptions>-<Devices>-<Device>-<Name(LcId is "1033" or "1"?)> |
981 # element4; <EtherCATInfo>-<Descriptions>-<Devices>-<Device>-<Name(LcId is "1033" or "1"?)> |
980 for element in device.getName(): |
982 for element in device.getName(): |
981 if element.getLcId() == 1 or element.getLcId() == 1033: |
983 if element.getLcId() == 1 or element.getLcId() == 1033: |
982 data = element.getcontent() |
984 data = element.getcontent() |
983 if data != "" and isinstance(data, unicode): |
985 if data != "" and isinstance(data, text): |
984 for vendor_spec_string in vendor_spec_strings: |
986 for vendor_spec_string in vendor_spec_strings: |
985 if data == vendor_spec_string: |
987 if data == vendor_spec_string: |
986 self.NameIdx = vendor_spec_strings.index(data)+1 |
988 self.NameIdx = vendor_spec_strings.index(data)+1 |
987 devnameflag = True |
989 devnameflag = True |
988 break |
990 break |
998 data = "" |
1000 data = "" |
999 |
1001 |
1000 # element5-1; <EtherCATInfo>-<Descriptions>-<Devices>-<Device>-<Image16x14> |
1002 # element5-1; <EtherCATInfo>-<Descriptions>-<Devices>-<Device>-<Image16x14> |
1001 if device.getcontent() is not None: |
1003 if device.getcontent() is not None: |
1002 data = device.getcontent() |
1004 data = device.getcontent() |
1003 if data is not None and isinstance(data, unicode): |
1005 if data is not None and isinstance(data, text): |
1004 for vendor_spec_string in vendor_spec_strings: |
1006 for vendor_spec_string in vendor_spec_strings: |
1005 if data == vendor_spec_string: |
1007 if data == vendor_spec_string: |
1006 self.ImgIdx = vendor_spec_strings.index(data)+1 |
1008 self.ImgIdx = vendor_spec_strings.index(data)+1 |
1007 imageflag = True |
1009 imageflag = True |
1008 break |
1010 break |
1022 for _vendor_id, vendor in self.Controler.CTNParent.CTNParent.ModulesLibrary.Library.iteritems(): |
1024 for _vendor_id, vendor in self.Controler.CTNParent.CTNParent.ModulesLibrary.Library.iteritems(): |
1023 for group_type, group_etc in vendor["groups"].iteritems(): |
1025 for group_type, group_etc in vendor["groups"].iteritems(): |
1024 for device_item in group_etc["devices"]: |
1026 for device_item in group_etc["devices"]: |
1025 if device == device_item[1]: |
1027 if device == device_item[1]: |
1026 data = group_etc |
1028 data = group_etc |
1027 if data is not None and isinstance(data, unicode): |
1029 if data is not None and isinstance(data, text): |
1028 for vendor_spec_string in vendor_spec_strings: |
1030 for vendor_spec_string in vendor_spec_strings: |
1029 if data == vendor_spec_string: |
1031 if data == vendor_spec_string: |
1030 self.ImgIdx = vendor_spec_strings.index(data)+1 |
1032 self.ImgIdx = vendor_spec_strings.index(data)+1 |
1031 imageflag = True |
1033 imageflag = True |
1032 break |
1034 break |