Changes between Version 1 and Version 2 of BlueCANReader


Ignore:
Timestamp:
05/03/13 06:17:13 (11 years ago)
Author:
Boris Ioffe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BlueCANReader

    v1 v2  
    1515ID0 ID1 ID2 ID3 --- CAN ID
    1616}}}
     17
     18
     19{{{
     20def parseLine(line):
     21    msgLength = line[0] & 0b1111
     22    isExtended = (line[0] >> 4) & 1
     23    isRTR = (line[0] >> 5) & 1
     24    payload = line[1:msgLength+1]
     25    id = line[-4:]
     26    id =  id[0] + (id[1] << 8) + (id[2] << 16) + (id[3] << 24)
     27    #print msgLength, isExtended, isRTR, [hex(x) for x in payload], hex(id)
     28    return id, payload
     29
     30
     31
     32while True:
     33    s = ser.read()
     34    if s == ";":
     35        buffer = buffer[1:]
     36        print [x for x in buffer]
     37        print buffer
     38        id,strData = parseLine(buffer)
     39        buffer = bytearray()
     40#        strID, strData = parseLine(buffer)
     41#        id = int(strID, base=16)
     42        priority, source_id, pgn, destination_id  = parseCanID(id)
     43#
     44        print strformat.format(i, buffer, id, (priority, source_id, pgn, destination_id)), strData, msgdict.get(pgn)
     45#        i+=1
     46#        buffer = ''
     47    else:
     48        buffer.append(ord(s))
     49}}}
     50