New rates, rate error message for GoodThopter.
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Tue, 30 Oct 2012 19:27:18 +0000 (19:27 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Tue, 30 Oct 2012 19:27:18 +0000 (19:27 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1300 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

client/GoodFETMCPCAN.py

index a22f50a..b75c034 100644 (file)
@@ -80,12 +80,29 @@ class GoodFETMCPCAN(GoodFETSPI):
             CNF2=0xB8;
             CNF3=0x05;
         elif rate==500:
             CNF2=0xB8;
             CNF3=0x05;
         elif rate==500:
-            pass;
-        elif rate==83.3:
-            #What jackass made the rate uneven?
+            #500 kHz, 20 TQ
+            CNF1=0x00;
+            CNF2=0xBA;
+            CNF3=0x07;
             pass;
         elif rate==100:
             pass;
         elif rate==100:
+            #100 kHz, 20 TQ
+            CNF1=0x04;
+            CNF2=0xBA;
+            CNF3=0x07;
             pass;
             pass;
+        elif rate==1000:
+            #1,000 kHz, 10 TQ
+            CNF1=0x00;
+            CNF2=0xA0;
+            CNF3=0x02;
+            print "WARNING: Because of chip errata, this probably won't work."
+        else:
+            print "Given unsupported rate of %i kHz.";
+            print "Defaulting to 125kHz.";
+            CNF1=0x04;
+            CNF2=0xB8;
+            CNF3=0x05;
         self.poke8(0x2a,CNF1);
         self.poke8(0x29,CNF2);
         self.poke8(0x28,CNF3);
         self.poke8(0x2a,CNF1);
         self.poke8(0x29,CNF2);
         self.poke8(0x28,CNF3);