From 54d827eaf1f1eafba7c920e5fe2157499dfd5677 Mon Sep 17 00:00:00 2001 From: Adam Urban Date: Sat, 4 Nov 2017 17:32:24 -0400 Subject: [PATCH] Add WiFi support, message counts to can_logger example --- examples/can_logger.py | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/examples/can_logger.py b/examples/can_logger.py index da1bf260..e613cfba 100755 --- a/examples/can_logger.py +++ b/examples/can_logger.py @@ -1,27 +1,53 @@ #!/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. Press Ctrl-C to exit...") - + 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(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("Exiting...") + 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__":