--- a/objdictgen/nodemanager.py Thu Dec 06 17:59:06 2007 +0100
+++ b/objdictgen/nodemanager.py Fri Dec 07 17:28:18 2007 +0100
@@ -683,6 +683,8 @@
node.SetEntry(index, subIndex, value)
except:
pass
+ elif editor == "dcf":
+ node.SetEntry(index, subIndex, value)
else:
subentry_infos = self.GetSubentryInfos(index, subIndex)
type = subentry_infos["type"]
@@ -1048,7 +1050,10 @@
elif dic["type"] in ["TIME_OF_DAY","TIME_DIFFERENCE"]:
editor["value"] = "time"
elif dic["type"] == "DOMAIN":
- editor["value"] = "domain"
+ if index == 0x1F22:
+ editor["value"] = "dcf"
+ else:
+ editor["value"] = "domain"
dic["value"] = dic["value"].encode('hex_codec')
elif dic["type"] == "BOOLEAN":
editor["value"] = "bool"
@@ -1080,6 +1085,14 @@
else:
return None
+ def AddToDCF(self, node_id, index, subindex, size, value):
+ if self.CurrentNode.IsEntry(0x1F22, node_id):
+ dcf_value = self.CurrentNode.GetEntry(0x1F22, node_id)
+ nbparams = BE_to_LE(dcf_value[:4])
+ new_value = LE_to_BE(nbparams + 1, 4) + dcf_value[4:]
+ new_value += LE_to_BE(index, 2) + LE_to_BE(subindex, 1) + LE_to_BE(size, 4) + LE_to_BE(value, size)
+ self.CurrentNode.SetEntry(0x1F22, node_id, new_value)
+
#-------------------------------------------------------------------------------
# Node Informations Functions
#-------------------------------------------------------------------------------