projects
/
goodfet
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changes to a bug on the spit method
[goodfet]
/
client
/
GoodFETMCPCAN.py
diff --git
a/client/GoodFETMCPCAN.py
b/client/GoodFETMCPCAN.py
index
aa06b26
..
dcb3da3
100644
(file)
--- a/
client/GoodFETMCPCAN.py
+++ b/
client/GoodFETMCPCAN.py
@@
-290,18
+290,14
@@
class GoodFETMCPCAN(GoodFETSPI):
toprint=toprint+("%02x "%ord(bar))
return toprint;
toprint=toprint+("%02x "%ord(bar))
return toprint;
+
+ ## This code could be drastica
def packet2parsed(self,data):
dp1 = ord(data[0])
dp2 = ord(data[1])
dp5 = ord(data[4])
def packet2parsed(self,data):
dp1 = ord(data[0])
dp2 = ord(data[1])
dp5 = ord(data[4])
- #converts the CAN message to a string
- msg="";
- for bar in data:
- msg=msg+("%02x"%ord(bar))
-
- packet = {'msg':msg}
-
+ packet = {}
#get the ide bit. allows us to check to see if we have an extended
#frame
packet['ide'] = (dp2 & 0x0f)>>3
#get the ide bit. allows us to check to see if we have an extended
#frame
packet['ide'] = (dp2 & 0x0f)>>3
@@
-310,38
+306,29
@@
class GoodFETMCPCAN(GoodFETSPI):
#get lower nibble, last 2 bits
eId = dp2 & 0x03
eId = eId<<8 | ord(data[2])
#get lower nibble, last 2 bits
eId = dp2 & 0x03
eId = eId<<8 | ord(data[2])
- packet['eID'] = eId<<8 | ord(data[3])
- packet['rtr'] = dp5>>6 & 0x01
+ eId = eId<<8 | ord(data[3])
+ rtr = dp5>>6 & 0x01
+ packet['eID'] = " eID: %06d" %(eId)
+ packet['rtr'] = " rtr: %d" % (rtr)
else:
packet['rtr'] = dp2>>4 & 0x01
else:
packet['rtr'] = dp2>>4 & 0x01
-
- #error check, 2nd msb of the lower nibble of byte 2 should be 0
- if( (dp2 & 0x04) == 4 ):
- packet['error'] = 1
- #error check an always 0 bit
- if( (dp5 & 0xf0) == 240):
- packet['error'] = 1
+
# Create the standard ID. from the message
packet['sID'] = dp1<<3 | dp2>>5
# Create the standard ID. from the message
packet['sID'] = dp1<<3 | dp2>>5
+ packet['length'] = dp5 & 0x0f
-
- length = dp5 & 0x0f
- packet['length'] = length
+ #generate the data section
+ for i in range(0,packet['length']):
+ idx = 5 + i
+ dbidx = 'db%d'%i
+ packet[dbidx] = data[idx]
- if( length > 8):
- packet['error'] = 1
- #generate the data section
- for i in range(0,length):
- idx = 5+i
- dbidx = 'db%d' % i
- packet[dbidx] = data[idx]
return packet
return packet
-
def peek8(self,adr):
"""Read a byte from the given address. Untested."""
data=self.SPItrans([0x03,adr&0xFF,00]);
def peek8(self,adr):
"""Read a byte from the given address. Untested."""
data=self.SPItrans([0x03,adr&0xFF,00]);
@@
-384,4
+371,4
@@
class GoodFETMCPCAN(GoodFETSPI):
# TXRTSCTRL = x0D
# TXRTSCTRL = x0D
-
\ No newline at end of file
+