65 size = max(size, len(item)) |
65 size = max(size, len(item)) |
66 if values[1] != "": |
66 if values[1] != "": |
67 size = max(size, int(values[1])) |
67 size = max(size, int(values[1])) |
68 typeinfos = ("UNS8", size, "visible_string", False) |
68 typeinfos = ("UNS8", size, "visible_string", False) |
69 elif values[0] == "DOMAIN": |
69 elif values[0] == "DOMAIN": |
70 size = default_string_size |
70 size = 0 |
71 for item in items: |
71 for item in items: |
72 size = max(size, len(item)) |
72 size = max(size, len(item)) |
73 typeinfos = ("UNS8", size, "domain", False) |
73 typeinfos = ("UNS8", size, "domain", False) |
74 elif values[0] == "BOOLEAN": |
74 elif values[0] == "BOOLEAN": |
75 typeinfos = ("UNS8", None, "boolean", False) |
75 typeinfos = ("UNS8", None, "boolean", False) |
186 # Entry type is VAR |
186 # Entry type is VAR |
187 if not isinstance(values, ListType): |
187 if not isinstance(values, ListType): |
188 subentry_infos = Node.GetSubentryInfos(index, 0) |
188 subentry_infos = Node.GetSubentryInfos(index, 0) |
189 typename = Node.GetTypeName(subentry_infos["type"]) |
189 typename = Node.GetTypeName(subentry_infos["type"]) |
190 typeinfos = GetValidTypeInfos(typename, [values]) |
190 typeinfos = GetValidTypeInfos(typename, [values]) |
|
191 if typename is "DOMAIN" and index in variablelist: |
|
192 if not typeinfos[1]: |
|
193 raise ValueError("\nDomain variable not initialized\nindex : 0x%04X\nsubindex 0x00"%index) |
191 texts["subIndexType"] = typeinfos[0] |
194 texts["subIndexType"] = typeinfos[0] |
192 if typeinfos[1] is not None: |
195 if typeinfos[1] is not None: |
193 texts["suffixe"] = "[%d]"%typeinfos[1] |
196 texts["suffixe"] = "[%d]"%typeinfos[1] |
194 else: |
197 else: |
195 texts["suffixe"] = "" |
198 texts["suffixe"] = "" |
233 sep = "," |
236 sep = "," |
234 if subIndex > 0: |
237 if subIndex > 0: |
235 if subIndex == len(values)-1: |
238 if subIndex == len(values)-1: |
236 sep = "" |
239 sep = "" |
237 value, comment = ComputeValue(typeinfos[2], value) |
240 value, comment = ComputeValue(typeinfos[2], value) |
|
241 if len(value) is 2 and typename is "DOMAIN": |
|
242 raise ValueError("\nDomain variable not initialized\nindex : 0x%04X\nsubindex 0x%02X"%(index, subIndex)) |
238 mappedVariableContent += " %s%s%s\n"%(value, sep, comment) |
243 mappedVariableContent += " %s%s%s\n"%(value, sep, comment) |
239 mappedVariableContent += " };\n" |
244 mappedVariableContent += " };\n" |
240 else: |
245 else: |
241 strIndex += " %(subIndexType)s%(type_suffixe)s %(NodeName)s_obj%(index)04X[] = \n {\n"%texts |
246 strIndex += " %(subIndexType)s%(type_suffixe)s %(NodeName)s_obj%(index)04X[] = \n {\n"%texts |
242 for subIndex, value in enumerate(values): |
247 for subIndex, value in enumerate(values): |