From: lbessard Date: Thu, 21 Jun 2007 15:08:43 +0000 (+0000) Subject: Bug on Domain data writing in gen_cfile fixed X-Git-Tag: jan-benda-base~33 X-Git-Url: https://rtime.felk.cvut.cz/gitweb/CanFestival-3.git/commitdiff_plain/762a6f61163398332415a370540e5f878382fa05 Bug on Domain data writing in gen_cfile fixed Bug on closing tab fixed --- diff --git a/objdictgen/gen_cfile.py b/objdictgen/gen_cfile.py index abc8fcc..684dcb1 100644 --- a/objdictgen/gen_cfile.py +++ b/objdictgen/gen_cfile.py @@ -164,6 +164,9 @@ def GenerateFileContent(Manager, headerfilepath): if typeinfos[2] == "visible_string": texts["value"] = "\"%s\""%values texts["comment"] = "" + elif typeinfos[2] == "domain": + texts["value"] = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value]) + texts["comment"] = "" else: texts["value"] = "0x%X"%values texts["comment"] = "\t/* %s */"%str(values) @@ -206,7 +209,9 @@ def GenerateFileContent(Manager, headerfilepath): sep = "" if typeinfos[2] == "visible_string": value = "\"%s\""%value - else: + elif typeinfos[2] == "domain": + value = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value]) + else: comment = "\t/* %s */"%str(value) value = "0x%X"%value mappedVariableContent += " %s%s%s\n"%(value, sep, comment) @@ -243,7 +248,10 @@ def GenerateFileContent(Manager, headerfilepath): if typeinfos[2] == "visible_string": texts["value"] = "\"%s\""%value texts["comment"] = "" - else: + elif typeinfos[2] == "domain": + texts["value"] = "\"%s\""%''.join(["\\x%2.2x"%ord(char) for char in value]) + texts["comment"] = "" + else: texts["value"] = "0x%X"%value texts["comment"] = "\t/* %s */"%str(value) texts["name"] = FormatName(subentry_infos["name"]) @@ -463,7 +471,11 @@ CO_Data %(NodeName)s_Data = CANOPEN_NODE_DATA_INITIALIZER(%(NodeName)s); # Write Header File Content #------------------------------------------------------------------------------- + texts["file_include_name"] = headerfilepath.replace(".", "_").upper() HeaderFileContent = generated_tag + """ +#ifdef %(file_include_name)s +#define %(file_include_name)s + #include "data.h" /* Prototypes of function provided by object dictionnary */ @@ -472,10 +484,11 @@ const indextable * %(NodeName)s_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, OD /* Master node data struct */ extern CO_Data %(NodeName)s_Data; - """%texts HeaderFileContent += strDeclareHeader + HeaderFileContent += "\n#endif // %(file_include_name)s\n"%texts + return fileContent,HeaderFileContent #------------------------------------------------------------------------------- diff --git a/objdictgen/nodemanager.py b/objdictgen/nodemanager.py index 0ec8fbc..75aaf53 100755 --- a/objdictgen/nodemanager.py +++ b/objdictgen/nodemanager.py @@ -306,9 +306,8 @@ class NodeManager: result = eds_utils.GenerateNode(filepath, self.ScriptDirectory) if isinstance(result, Node): self.CurrentNode = result - if len(self.UndoBuffers) == 0: - index = self.AddNodeBuffer() - self.SetCurrentFilePath("") + index = self.AddNodeBuffer() + self.SetCurrentFilePath("") self.BufferCurrentNode() return index else: diff --git a/objdictgen/objdictedit.py b/objdictgen/objdictedit.py index b462540..1150d4b 100755 --- a/objdictgen/objdictedit.py +++ b/objdictgen/objdictedit.py @@ -29,7 +29,7 @@ import wx.grid from types import * import os, re, platform, sys, time, traceback, getopt -__version__ = "$Revision: 1.21 $" +__version__ = "$Revision: 1.22 $" from node import OD_Subindex, OD_MultipleSubindexes, OD_IdenticalSubindexes, OD_IdenticalIndexes @@ -395,10 +395,11 @@ class objdictedit(wx.Frame): # At init selected = -1 if selected >= 0: window = self.FileOpened.GetPage(selected) - self.Manager.ChangeCurrentNode(window.GetIndex()) - self.RefreshBufferState() - self.RefreshStatusBar() - self.RefreshProfileMenu() + if window: + self.Manager.ChangeCurrentNode(window.GetIndex()) + self.RefreshBufferState() + self.RefreshStatusBar() + self.RefreshProfileMenu() event.Skip() def OnHelpDS301Menu(self, event): @@ -453,6 +454,8 @@ class objdictedit(wx.Frame): if answer == wxID_YES: self.Manager.ChangeCurrentNode(0) for i in xrange(self.FileOpened.GetPageCount()): + window = self.FileOpened.GetPage(i) + self.Manager.ChangeCurrentNode(window.GetIndex()) if self.Manager.CurrentIsSaved(): self.Manager.CloseCurrent() else: