old_contents: #!/usr/bin/env python
  from __future__ import print_function
  import binascii
  import csv
  import sys
  from panda import Panda
  
  def can_logger():
    
    try:
      print("Trying to connect to Panda over USB...")
      p = Panda()
      
    except AssertionError:
      print("USB connection failed. Tryining WiFi...")
      
      try:
        p = Panda("WIFI")
      except:
        print("WiFi connection timed out. Please make sure your Panda is connected and try again.")
        sys.exit(0)
  
    try:
      outputfile = open('output.csv', 'wb')
      csvwriter = csv.writer(outputfile)
      #Write Header
      csvwriter.writerow(['Bus', 'MessageID', 'Message'])
      print("Writing csv file output.csv. Press Ctrl-C to exit...\n")
    
      bus0_msg_cnt = 0
      bus1_msg_cnt = 0
      bus2_msg_cnt = 0
      
      while True:
        can_recv = p.can_recv()
  
        for address, _, dat, src  in can_recv:
          csvwriter.writerow([str(src), str(hex(address)), binascii.hexlify(dat)])
          
          if src == 0:
            bus0_msg_cnt += 1
          elif src == 1:
            bus1_msg_cnt += 1
          elif src == 2:
            bus2_msg_cnt += 1
          
          print("Message Counts... Bus 0: " + str(bus0_msg_cnt) + " Bus 1: " + str(bus1_msg_cnt) + " Bus 2: " + str(bus2_msg_cnt), end='\r')
  
    except KeyboardInterrupt:
      print("\nNow exiting. Final message Counts... Bus 0: " + str(bus0_msg_cnt) + " Bus 1: " + str(bus1_msg_cnt) + " Bus 2: " + str(bus2_msg_cnt))
      outputfile.close()
  
  if __name__ == "__main__":
    can_logger()
  
new_contents: #!/usr/bin/env python
  from __future__ import print_function
  import binascii
  import csv
  import sys
  from panda import Panda
  
  def can_logger():
    
    try:
      print("Trying to connect to Panda over USB...")
      p = Panda()
      
    except AssertionError:
      print("USB connection failed. Tryining WiFi...")
      
      try:
        p = Panda("WIFI")
      except:
        print("WiFi connection timed out. Please make sure your Panda is connected and try again.")
        sys.exit(0)
  
    try:
      outputfile = open('output.csv', 'wb')
      csvwriter = csv.writer(outputfile)
      #Write Header
      csvwriter.writerow(['Bus', 'MessageID', 'Message', 'MessageLength'])
      print("Writing csv file output.csv. Press Ctrl-C to exit...\n")
    
      bus0_msg_cnt = 0
      bus1_msg_cnt = 0
      bus2_msg_cnt = 0
      
      while True:
        can_recv = p.can_recv()
  
        for address, _, dat, src  in can_recv:
          csvwriter.writerow([str(src), str(hex(address)), binascii.hexlify(dat), len(dat)])
          
          if src == 0:
            bus0_msg_cnt += 1
          elif src == 1:
            bus1_msg_cnt += 1
          elif src == 2:
            bus2_msg_cnt += 1
          
          print("Message Counts... Bus 0: " + str(bus0_msg_cnt) + " Bus 1: " + str(bus1_msg_cnt) + " Bus 2: " + str(bus2_msg_cnt), end='\r')
  
    except KeyboardInterrupt:
      print("\nNow exiting. Final message Counts... Bus 0: " + str(bus0_msg_cnt) + " Bus 1: " + str(bus1_msg_cnt) + " Bus 2: " + str(bus2_msg_cnt))
      outputfile.close()
  
  if __name__ == "__main__":
    can_logger()
  
subject: Add message length column