Skip to content

Commit 1e8490b

Browse files
authored
Merge pull request brendan-w#144 from Ircama/ircama-header-fix
Fix bugs related to header management
2 parents de81b2b + 1d4a0de commit 1e8490b

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

obd/OBDCommand.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ def clone(self):
6565
self.bytes,
6666
self.decode,
6767
self.ecu,
68-
self.fast)
68+
self.fast,
69+
self.header)
6970

7071
@property
7172
def mode(self):
@@ -106,24 +107,30 @@ def __constrain_message_data(self, message):
106107
if len(message.data) > self.bytes:
107108
# chop off the right side
108109
message.data = message.data[:self.bytes]
109-
logger.debug("Message was longer than expected. Trimmed message: " + repr(message.data))
110+
logger.debug(
111+
"Message was longer than expected. Trimmed message: " +
112+
repr(message.data))
110113
elif len(message.data) < self.bytes:
111114
# pad the right with zeros
112115
message.data += (b'\x00' * (self.bytes - len(message.data)))
113-
logger.debug("Message was shorter than expected. Padded message: " + repr(message.data))
116+
logger.debug(
117+
"Message was shorter than expected. Padded message: " +
118+
repr(message.data))
114119

115120
def __str__(self):
121+
if self.header != ECU_HEADER.ENGINE:
122+
return "%s: %s" % (self.header + self.command, self.desc)
116123
return "%s: %s" % (self.command, self.desc)
117-
124+
118125
def __repr(self):
119126
return "OBDCommand(%s, %s)" % (self.name, self.command)
120127

121128
def __hash__(self):
122129
# needed for using commands as keys in a dict (see async.py)
123-
return hash(self.command)
130+
return hash(self.header + self.command)
124131

125132
def __eq__(self, other):
126133
if isinstance(other, OBDCommand):
127-
return self.command == other.command
134+
return self.command == other.command and self.header == other.header
128135
else:
129136
return False

0 commit comments

Comments
 (0)