added comments, rearranged code to be more readable
authorchrishoder <chrishoder@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Fri, 22 Feb 2013 19:44:00 +0000 (19:44 +0000)
committerchrishoder <chrishoder@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Fri, 22 Feb 2013 19:44:00 +0000 (19:44 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1522 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

client/FordExperiments.py
client/GoodFETMCPCANCommunication.py
client/experiments.py

index d57db1c..b2fdc33 100644 (file)
@@ -14,7 +14,7 @@ import math
 tT = time
 class FordExperiments(GoodFETMCPCANCommunication):
     
-    def __init__(self, dataLocation):
+    def __init__(self, dataLocation = "../../contrib/ThayerData/"):
         GoodFETMCPCANCommunication.__init__(self, dataLocation)
         #super(FordExperiments,self).__init__(self) #initialize chip
         self.freq = 500;
index b80f7be..ef37869 100644 (file)
@@ -3,13 +3,11 @@
 #
 # (C) 2012 Travis Goodspeed <travis at radiantmachines.com>
 #
+#  Edited By: Chris Hoder    2013
+#             Ted Summers    2013
+#             Grayson Zulauf 2013
 #
-# Ted's working copy
-#   1) getting hot reads on frequency
-#   2) allow sniffing in "normal" mode to get ack bits
-#       --check if that's whats causing error flags in board-to-board transmission
-#
-#
+
 
 import sys;
 import binascii;
@@ -24,7 +22,7 @@ import Queue
 
 class GoodFETMCPCANCommunication:
     
-    def __init__(self, dataLocation):
+    def __init__(self, dataLocation = "../../contrib/ThayerData/"):
        self.client=GoodFETMCPCAN();
        """ Communication with the bus"""
        self.client.serInit()
@@ -795,6 +793,25 @@ class GoodFETMCPCANCommunication:
     # row[4] = Data Byte 1
     #    .... up to Data Byte 8 ( THIS ASSUMES A PACKET OF LENGTH 8!!!
     def writeData(self,packets,freq):
+        """
+        This method will write a list of packets to the bus at the given frequency. This method assumes a packet 
+        length of 8 for all packets as well as a standard id.
+        
+        @type packets: List of Lists
+        @param packets: The list of packets to be injected into the bus. Each element of packets is a list that is 
+        a packet to be injected onto the bus. These packets are assumed to be in the following format::
+                 row[0] time delay relative to the last packet. if 0 or empty there will be no delay
+                 row[1] = Standard ID (integer)
+                 row[2] = Data Length (0-8) (if it is zero we assume an Remote Transmit Request)
+                 row[3] = Data Byte 0
+                 row[4] = Data Byte 1
+                 ...
+                 row[10] = Data Byte 7
+        
+        @type freq: number
+        @param freq: Frequency of the CAN bus
+        
+        """
         self.client.serInit()
         self.spitSetup(freq)
         for row in packets:
index 7de389f..0cffedb 100644 (file)
@@ -22,11 +22,11 @@ class experiments(GoodFETMCPCANCommunication):
     
     """
     
-    def __init__(self, data_location):
+    def __init__(self, data_location = "../../contrib/ThayerData/"):
         """ 
         Constructor
-        @type datalocation: string
-        @param datalocation: path to the folder where data will be stored
+        @type data_location: string
+        @param data_location: path to the folder where data will be stored
         """
         GoodFETMCPCANCommunication.__init__(self, data_location)
         #super(experiments,self).__init(self)
@@ -38,8 +38,8 @@ class experiments(GoodFETMCPCANCommunication):
         This method will sweep through the range of standard ids given from low to high.
         This will actively filter for 6 ids at a time and sniff for the given amount of
         time in seconds. If at least one message is read in then it will go individually
-        through the 6 ids and sniff only for that id for the given amount of time. All the
-        data gathered will be saved.  This does not save any sniffed packets.
+        through the 6 ids and sniff only for that id for the given amount of time.
+        This does not save any sniffed packets.
         
         @type  freq: number
         @param freq: The frequency at which the bus is communicating
@@ -384,7 +384,7 @@ class experiments(GoodFETMCPCANCommunication):
                 
                 value = random.randint(0, 255) #generate pseudo-random integer value
                 packet[i+5] = value
-            print packet
+            #print packet
             #put a rough time stamp on the data and get all the data bytes    
             row = [time.time(), id_new,8] 
             """@todo: allow for varied packet lengths"""