Liangzhen Lai / Mbed 2 deprecated DDRO_software_slave

Dependencies:   mbed

Revision:
1:90a2068dd130
Parent:
0:2a52ec2fb0e0
Child:
2:152e0a3ec192
--- a/main.cpp	Sat Sep 29 19:23:08 2012 +0000
+++ b/main.cpp	Tue Oct 02 01:21:39 2012 +0000
@@ -172,96 +172,165 @@
 
 void read_leakage(char* ro_data)
 {
-    pc.putc('1');
-    pc.getc();
-    
+    double reading1, reading2;
     CLK.detach();
     leakage_enable = 1;
+    /*
+    S4 = 1;
+    S5 = 0;
+    ref_clk=0;
+    wait(0.1);
+    for(int i=0; i<100; i++) {
+        ref_clk=0;
+        wait(0.1);
+        ref_clk=1;
+        wait(0.002*i);
+        ref_clk=0;
+        reading1 = leakage1.read();
+        reading1 *= 3.3;
+        reading2 = leakage2.read();
+        reading2 *= 3.3;
+        pc.printf("00%d: %f  %f\n",i, reading1, reading2);
+    }
+    
+    S4 = 1;
+    S5 = 1;
+    ref_clk=0;
+    wait(0.1);
+    for(int i=0; i<100; i++) {
+        ref_clk=0;
+        wait(0.1);
+        ref_clk=1;
+        wait(0.002*i);
+        ref_clk=0;
+        reading1 = leakage1.read();
+        reading1 *= 3.3;
+        reading2 = leakage2.read();
+        reading2 *= 3.3;
+        pc.printf("10%d: %f %f\n",i, reading1, reading2);
+    }
+    */
+
+    //
     S4 = 0;
     S5 = 0;
     ref_clk=0;
-    
-    pc.putc('2');
-    pc.getc();
-    
-    wait_us(10);
+    wait(0.1);
+
     ref_clk=1;
-    
-    pc.putc('3');
-    pc.getc();
-    
-    wait(0.1);
+    wait_us(2000);
+
     ref_clk=0;
-    
-    pc.putc('4');
-    pc.getc();
-    
+    wait_us(100);
+
     unsigned short RVTP=leakage1.read_u16();
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+
+    pc.printf("RVTP: %f \t %f\n", reading1, reading2);
+    ref_clk=1;
+    wait_us(10);
+
+    ref_clk=0;
+    wait_us(100);
+
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+    pc.printf("RVTP: %f \t %f\n", reading1, reading2);
+
+    //
     S4 = 0;
     S5 = 1;
     ref_clk=0;
-    
-    pc.putc('5');
-    pc.getc();
-    
-    wait_us(10);
+    wait(0.1);
+
     ref_clk=1;
-    
-    pc.putc('6');
-    pc.getc();
-    
-    wait(0.1);
+    wait_us(2000);
+
     ref_clk=0;
-    
-    pc.putc('7');
-    pc.getc();
-    
+    wait_us(100);
+
     unsigned short HVTP=leakage1.read_u16();
+
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+    pc.printf("HVTP: %f \t %f\n", reading1, reading2);
+    ref_clk=1;
+    wait_us(10);
+
+    ref_clk=0;
+    wait_us(100);
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+    pc.printf("HVTP: %f \t %f\n", reading1, reading2);
+
+    //
     S4 = 1;
     S5 = 0;
     ref_clk=0;
-    
-    pc.putc('8');
-    pc.getc();
-    
-    wait_us(10);
+    wait(0.1);
+
     ref_clk=1;
-    wait(0.1);
-    
-    pc.putc('9');
-    pc.getc();
-    
+    wait_us(2000);
+
     ref_clk=0;
-    
-    pc.putc('A');
-    pc.getc();
-    
+    wait_us(100);
+
     unsigned short RVTN=leakage2.read_u16();
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+    pc.printf("RVTN: %f \t %f\n", reading1, reading2);
+    ref_clk=1;
+    wait_us(10);
+
+    ref_clk=0;
+    wait_us(100);
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+    pc.printf("RVTN: %f \t %f\n", reading1, reading2);
+
+    //
     S4 = 1;
     S5 = 1;
     ref_clk=0;
-    
-    pc.putc('B');
-    pc.getc();
-    
-    wait_us(10);
+    wait(0.1);
+
     ref_clk=1;
-    wait(0.1);
-    
-    pc.putc('C');
-    pc.getc();
-    
+    wait_us(2000);
+
     ref_clk=0;
-    
-    pc.putc('D');
-    pc.getc();
-    
+    wait_us(100);
+
     unsigned short HVTN=leakage2.read_u16();
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+    pc.printf("HVTN: %f \t %f\n", reading1, reading2);
+    ref_clk=1;
+    wait_us(10);
+
+    ref_clk=0;
+    wait_us(100);
+    reading1 = leakage1.read();
+    reading2 = leakage2.read();
+    reading1 *= 3.3;
+    reading2 *= 3.3;
+    pc.printf("HVTN: %f \t %f\n", reading1, reading2);
     leakage_enable = 0;
-    
-    pc.putc('E');
-    pc.getc();
-    
+
     ro_data[64*5+4] = (RVTP%0x100);
     ro_data[64*5+5] = (RVTP/0x100);
     ro_data[64*5+6] = (HVTP%0x100);