AAAAAAAAAAAAAAAAAAA

Dependencies:   mbed FastPWM

Revision:
13:032f94430b0b
Parent:
12:acfe1d7232e3
Child:
14:551ee0b21bc6
--- a/main.cpp	Mon Mar 20 15:16:35 2017 +0000
+++ b/main.cpp	Mon Mar 27 15:35:40 2017 +0000
@@ -220,6 +220,7 @@
         ctest();
         if (ct == 1) {continue;}
         else {wait_us(10); printf("7\r\n"); fflush (stdout); wait_us(100);};
+        ddsreset;
         request();
         while(true){
         t.reset();
@@ -299,7 +300,7 @@
             II = mj; IG = mj+1; DI1 = mj; DI2 = mj+1;
             igmux(); imux(); DI1mux(); DI2mux();
             int xa = (int)5000/freqdata;
-            int xaa = (int)xa/10;
+            int xaa = (int)xa/5;
             uint16_t x[xa];
             adc_init();
             dma_init();
@@ -307,12 +308,12 @@
             adc_readn(x,xa);
             sort(x+xaa,x + xa);
             aread = (int)x[xa-1];
-            if ((aread > 2400) &&(test_button.read() == 1))
+            if ((aread > 4000) &&(test_button.read() == 1))
             {printf("%i,%i\r\n",mg+1, mj+1); printf("%i,%i\r\n",mg+1, mj+2);ct = 1;}
         }
     
     }
-    mclkstop;
+    //mclkstop;
      }
 
 
@@ -523,7 +524,7 @@
         //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(1);}
+       if ((j==0)&&(IE==0)){wait_ms(10);}
         for (k = 0; k<16; k++) {
                 DI1 = k; 
                 DI1mux(); 
@@ -566,10 +567,10 @@
 
 void ranging()//определение коэффициента усиления и знака
 {
-    int xa = (int)10000/freqdata;
+    int xa = (int)8000/freqdata;
     if (xa < 100){xa=100;}
-    else if (xa > 1000){xa=1000;};
-    int xaa = (int)xa/5;
+    else if (xa > 500){xa=500;};
+    int xaa = (int)xa/3;
     uint16_t x[xa];
     int s_ok=0;
     //IG = 0; II = 1;DI1 = II;DI2=IG;igmux();imux();DI1mux();DI2mux();wait_ms(10);
@@ -584,11 +585,11 @@
     sort(x+xaa,x + xa);
      //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[xa-3])-(x[xaa]+x[xaa+1]+x[xaa+2]))/3;
+    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 <= 35))) {range=100;s_ok=1;wait_us(50);} 
-        else if (((ymax > 35)&&(ymax <= 350))) {range=10;s_ok=1;wait_us(50);} 
-        else if (ymax > 350) {range=1;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);};
 //}
     PA = range; preamp();
     //printf("%i,%i,%i,%i\r\n",ymax,x[xa-(xaa+1)], x[0], range);
@@ -608,9 +609,9 @@
 {
     int ya = (int)10000/freqdata;
     float ym = 0;
-    if (ya < 100){ya=100;}
-    else if (ya > 1000){ya=1000;};
-    int yaa = (int)ya/10;
+    if (ya < 200){ya=200;}
+    else if (ya > 1500){ya=1500;};
+    int yaa = (int)ya/3;
     uint16_t y[ya];
     adc_init();
     dma_init();
@@ -618,7 +619,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-2]+y[ya-3]+y[ya-4]+y[ya-5]+y[ya-6])-(y[yaa+1]+y[yaa+2]+y[yaa+3]+y[yaa+4]+y[yaa+5]))/10;
+    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;
     yprint[yp]=(((ym)*3.3*10)/(4096*range));yp++;
     memset(y,0,sizeof y);