AAAAAAAAAAAAAAAAAAA

Dependencies:   mbed FastPWM

Revision:
14:551ee0b21bc6
Parent:
13:032f94430b0b
Child:
15:6c8afb8fa44d
--- a/main.cpp	Mon Mar 27 15:35:40 2017 +0000
+++ b/main.cpp	Sat Apr 01 15:11:03 2017 +0000
@@ -230,7 +230,7 @@
         t.stop(); 
         //fout();
         //////////////////////////
-        for (yp = 0; yp < (256*belt); yp++) {printf("%.4f\r\n",yprint[yp]);};
+        for (yp = 0; yp < (256*belt); yp++) {printf("%.6f\r\n",yprint[yp]);};
         /////////////////////////
    // printf("1000r useconds %i\r\n", t.read_ms());
           wait_us(1);
@@ -272,7 +272,7 @@
     printf("# type: matrix\r\n");
     printf("# rows: 256\r\n");
     printf("# columns: 1\r\n");
-    for (yp = 0; yp < 256*belt; yp++) {printf("%.4g\r\n",yprint[yp]);};
+    for (yp = 0; yp < 256*belt; yp++) {printf("%.6g\r\n",yprint[yp]);};
     memset(yprint,0,sizeof yprint);
     printf("\r\n");
     printf("# name: time\r\n");
@@ -510,7 +510,7 @@
         for (IE = 0; IE < belt; IE++) {
         emux();
         //wait_ms(20);
-        PA=1; range=1;preamp();
+        PA=10; range=10;preamp();
         channel();
     }
     //mclkstop;
@@ -523,12 +523,14 @@
    for (j = 0; j<16; j++) {
         //button_check();
         if (j==15) {IG = j; II = 0;} else {IG = j; II = j+1;}
-        DI2=j;igmux(); imux();DI2mux();
-       if ((j==0)&&(IE==0)){wait_ms(10);}
+        igmux(); imux();
+       //if ((j==0)&&(IE==0)){wait_ms(1);}
         for (k = 0; k<16; k++) {
-                DI1 = k; 
+                if (k==15) {DI1 = k;DI2 = 0;} else {DI1 = k; DI2 = k+1; }
+                if ((DI1==II)||(DI1==IG)||(DI2==II)||(DI2==IG)){yprint[yp]=(0);yp++;continue;}
                 DI1mux(); 
-                wait_us(100);
+                DI2mux();
+                wait_us(10);
                 measure();
               //  printf("\r\n");
              }
@@ -574,7 +576,7 @@
     uint16_t x[xa];
     int s_ok=0;
     //IG = 0; II = 1;DI1 = II;DI2=IG;igmux();imux();DI1mux();DI2mux();wait_ms(10);
-    PA=1; preamp();
+    PA=10; range=10;preamp();
     //while(s_ok==0){
     adc_init();
     dma_init();
@@ -586,10 +588,15 @@
      //printf("sorted\r\n");
     //for (s_ok = 0; s_ok < xa; s_ok++) {printf("%i\r\n",x[s_ok]);};
     ymax = (int)((x[xa-1]+x[xa-2])-(x[xaa]+x[xaa+1]))/2;
-        if (ymax <= 4) {range=1000;s_ok=1;wait_us(50);} 
-        else if (((ymax > 4)&&(ymax <= 40))) {range=100;s_ok=1;wait_us(50);} 
-        else if (((ymax > 40)&&(ymax <= 400))) {range=10;s_ok=1;wait_us(50);} 
-        else if (ymax > 400) {range=1;s_ok=1;wait_us(50);};
+    if (ymax/PA <= 0.4) {range=1000;s_ok=1;wait_us(20);} 
+        else if (((ymax/PA > 0.4)&&(ymax/PA <= 4))) {range=100;s_ok=1;wait_us(10);} 
+        else if (((ymax/PA > 4)&&(ymax/PA <= 40))) {range=10;s_ok=1;wait_us(10);} 
+        else if (ymax/PA > 40) {range=1;s_ok=1;wait_us(10);};
+        
+      /*  if (ymax <= 3) {range=1000;s_ok=1;wait_us(50);} 
+        else if (((ymax/PA > 3)&&(ymax <= 35))) {range=100;s_ok=1;wait_us(50);} 
+        else if (((ymax/PA > 35)&&(ymax <= 4096))) {range=10;s_ok=1;wait_us(50);} 
+        else if (ymax/PA > 300) {range=1;s_ok=1;wait_us(50);};*/
 //}
     PA = range; preamp();
     //printf("%i,%i,%i,%i\r\n",ymax,x[xa-(xaa+1)], x[0], range);
@@ -610,7 +617,7 @@
     int ya = (int)10000/freqdata;
     float ym = 0;
     if (ya < 200){ya=200;}
-    else if (ya > 1500){ya=1500;};
+    else if (ya > 1000){ya=1000;};
     int yaa = (int)ya/3;
     uint16_t y[ya];
     adc_init();
@@ -619,7 +626,7 @@
     adc_readn(y,ya);
    // for (yp = 0; yp < 400; yp++) {printf("%i\r\n",y[yp]);};
     sort(y+yaa,y + ya);
-    ym = ((y[ya-1]+y[ya-2]+y[ya-3]+y[ya-4])-(y[yaa]+y[yaa+1]+y[yaa+2]+y[yaa+3]))/8;
+    ym = ((y[ya-2]+y[ya-3]+y[ya-4]+y[ya-5])-(y[yaa+1]+y[yaa+2]+y[yaa+3]+y[yaa+4]))/8;
     yprint[yp]=(((ym)*3.3*10)/(4096*range));yp++;
     memset(y,0,sizeof y);