Skip to content

Commit ed0b56f

Browse files
committed
Merge pull request #44 from floGik/export_fix
export_fix: insert "" for empty string (exportDbc)
2 parents c1be1a3 + 93f3ae1 commit ed0b56f

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

canmatrix/exportdbc.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ def exportDbc(db, filename, **options):
9999
f.write((" m%d " % int(signal._multiplex)).encode(dbcExportEncoding))
100100

101101
startbit = signal.getMsbStartbit()
102-
103-
if signal._is_signed:
102+
103+
if signal._is_signed:
104104
sign = '-'
105105
else:
106-
sign = '+'
106+
sign = '+'
107107
f.write((" : %d|%d@%d%c" % (startbit, signal._signalsize,signal._is_little_endian, sign)).encode(dbcExportEncoding))
108108
f.write((" (%g,%g)" % (signal._factor, signal._offset)).encode(dbcExportEncoding))
109109
f.write((" [{}|{}]".format(signal._min, signal._max)).encode(dbcExportEncoding))
@@ -171,17 +171,23 @@ def exportDbc(db, filename, **options):
171171
#boardunit-attributes:
172172
for bu in db._BUs._list:
173173
for attrib,val in sorted(bu._attributes.items()):
174+
if not val:
175+
val = '""'
174176
f.write(('BA_ "' + attrib + '" BU_ ' + bu._name + ' ' + str(val) + ';\n').encode(dbcExportEncoding))
175177
f.write("\n".encode(dbcExportEncoding))
176178

177179
#global-attributes:
178180
for attrib,val in sorted(db._attributes.items()):
181+
if not val:
182+
val = '""'
179183
f.write(('BA_ "' + attrib + '" ' + val + ';\n').encode(dbcExportEncoding))
180184
f.write("\n".encode(dbcExportEncoding))
181185

182186
#messages-attributes:
183187
for bo in db._fl._list:
184188
for attrib,val in sorted(bo._attributes.items()):
189+
if not val:
190+
val = '""'
185191
f.write(('BA_ "' + attrib + '" BO_ %d ' % bo._Id + val + ';\n').encode(dbcExportEncoding))
186192
f.write("\n".encode(dbcExportEncoding))
187193

@@ -190,13 +196,15 @@ def exportDbc(db, filename, **options):
190196
for signal in bo._signals:
191197
for attrib,val in sorted(signal._attributes.items()):
192198
name = normalizeName(signal._name, whitespaceReplacement)
199+
if not val:
200+
val = '""'
193201
f.write(('BA_ "' + attrib + '" SG_ %d ' % bo._Id + name + ' ' + val + ';\n').encode(dbcExportEncoding))
194202
f.write("\n".encode(dbcExportEncoding))
195203

196204
#signal-values:
197205
for bo in db._fl._list:
198206
for signal in bo._signals:
199-
if len(signal._values) > 0:
207+
if signal._values:
200208
f.write(('VAL_ %d ' % bo._Id + signal._name).encode(dbcExportEncoding))
201209
for attrib,val in sorted(signal._values.items(), key=lambda x: int(x[0])):
202210
f.write((' ' + str(attrib) + ' "' + val + '"').encode(dbcExportEncoding))

0 commit comments

Comments
 (0)