fork

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
198:fb22ba6aad54
Parent:
197:7a05523bf588
Child:
199:2728719cdc64
--- a/SPI.c	Wed Oct 19 10:55:05 2016 +0000
+++ b/SPI.c	Thu Oct 20 09:29:05 2016 +0000
@@ -75,10 +75,10 @@
 }
 void  PLCRegul(void)
 {
- 
- if (CountV64 == 0) 
+ int templm=0;
+ if (CountV64 == 0)
         {
-          for (int i = 0; i < 32; i++ )
+         for (int i = 0; i < 32; i++ )
                 {
                 	SinPls+=  BuffADC_64Point[i];
                 }
@@ -87,17 +87,17 @@
                 	SinMns+=  BuffADC_64Point[i];
                 }
         ADCDIF = SinPls - SinMns;    
-      //  Spi.DAC_B-=ADCDIF>>6;
+        Spi.DAC_B-=ADCDIF>>7;
         
-          if(ADCDIF>0) Spi.DAC_B-=3;
-          else Spi.DAC_B+=3;
+      /*    if(ADCDIF>0) Spi.DAC_B-=3;
+          else Spi.DAC_B+=3;*/
           
         if      ( Spi.DAC_B < 15300 )	Spi.DAC_B = 32000;            //проверка на переваливание за границу.  
         else if ( Spi.DAC_B > 53000 ) 	Spi.DAC_B = 32000;
-/*
-          sprintf((Time),"%d %d %d %d %d \r\n", SinPls, SinMns, ADCDIF, ADCDIF>>5, Spi.DAC_B);//выдаем в терминал для постройки граффика регулировки периметра.
-          WriteCon(Time);
-          */
+    
+        sprintf((Time),"%d %d %d \r\n", ADCDIF>>7, Spi.DAC_B, Gyro.test );//выдаем в терминал для постройки граффика регулировки периметра.
+        WriteCon(Time);
+          
    		SinPls=0;
    		SinMns=0;
         }
@@ -113,11 +113,9 @@
     Gyro.DeltaT = Spi.ADC4;
     
     TempA = (0xffff - Spi.ADC5);  		// перевернем знак  и умножим на два (было 32000...0 стало 0 ...32000 /*сдвиг(<<1) стало 0 ...64000*/)
-    TempTermLM = Spi.ADC1; 
     
     Gyro.ADF_Accum += TempA;
     Gyro.ADS_Accum += TempA;
-    Gyro.ADS_AccumTermLM+=TempTermLM;
     Gyro.ADF_Count ++;
     Gyro.ADS_Count ++;
 
@@ -129,10 +127,8 @@
     }
     if (Gyro.ADS_Count > 255) {				// если прошло 256 тактов виброподвеса
         Gyro.AD_Slow = Gyro.ADS_Accum << 7;		//обновляем данные и приводим в один масштаб
-        Gyro.TermLM = Gyro.ADS_AccumTermLM << 3;
         Gyro.ADS_Count = 0;
         Gyro.ADS_Accum = 0;
-        Gyro.ADS_AccumTermLM=0;
         Gyro.ADS_NewData = 1;  
     }
 }
@@ -145,25 +141,21 @@
     
     ADC5New = LPC_SSP0->DR;// Чтение АЦП
    // Spi.ADC5_Accum += LPC_SSP0->DR;
+   
+    Spi.ADC5_Accum += ADC5New;	
     Spi.ADC4_Accum += LPC_SSP0->DR;
     Spi.ADC3_Accum += LPC_SSP0->DR;
     Spi.ADC2_Accum += LPC_SSP0->DR;
-    Spi.ADC1_Accum += LPC_SSP0->DR;
-    Spi.ADC5_Accum += ADC5New;	
-   
+    /*Spi.ADC1_Accum +*/Gyro.test = LPC_SSP0->DR;
+ 
+        /*sprintf((Time),"%d \r\n", Gyro.test);//выдаем в терминал для постройки граффика регулировки периметра.
+        WriteCon(Time);*/
        
-   // ADC5Dif = (ADC5New) - (ADC5Old);
-   // ADC5Old=ADC5New; 
-
-     /*    
-sprintf((Time)," %d\r\n", (Buff_Restored_Mod[CountV64]));
-WriteCon(Time);
-   */
     while (LPC_SSP0->SR & RX_SSP_notEMPT) 	{
     DummySPI = LPC_SSP0->DR;   //если буфер SPI не пуст.//очистить буфер.
     }
     DAC_OutPut();
-    if (CountV31 == 0) {						// просто фильтруем по 32 точкам.
+   /* if (CountV31 == 0) {						// просто фильтруем по 32 точкам.
          										// выставояем бит, что есть новы данные
         Spi.ADC1 = Spi.ADC1_Accum >> 5;			// подгоотавливаем данные (в той эе сетке) те 	 ADC1  0..65535
         Spi.ADC2 = Spi.ADC2_Accum >> 5;
@@ -177,53 +169,15 @@
         Spi.ADC5_Accum  = 0;
         Spi.ADC_NewData = 1;
    
-    }
+    }*/
    
  
 
 
         BuffADC_64Point[CountV64]=ADC5New;
         Buff_ADC_5[CountV255] = (0x7fff-ADC5New)<<2;
+        
         PLCRegul();
-
-
-
-/*
-        PulseADC_16Point += Buff_ADC_5[CountV255];
-        PulseADC_16Point -= Buff_ADC_5[(CountV255-16)& 0xff];                    			// заполнение буфера накопленых приращений за 16 тактов
-        BuffADC_16Point[CountV64] = (Pulse_16Point);
-
-        PulseADC_32Point +=  Buff_ADC_5[CountV255];
-        PulseADC_32Point -=  Buff_ADC_5[(CountV255-32)& 0xff ];  								// заполнение буфера накопленых приращений за 32 тактов
-        BuffADC_32Point[CountV64] = (PulseADC_32Point );
-  
-        PulseADC_32PointD +=  Buff_ADC_5[CountV255];
-        PulseADC_32PointD -=  Buff_ADC_5[(CountV255-32)& 0xff];									// заполнение буфера накопленых приращений за 32 тактов Двойныз
-        PulseADC_32PointD +=  Buff_ADC_5[(CountV255-48)& 0xff];									//
-        PulseADC_32PointD -=  Buff_ADC_5[(CountV255-64)& 0xff];									// 
-        BuffADC_32PointD[CountV64] = PulseADC_32PointD ;    
-    */
-       /* PulseADC_64Point +=  (Buff_ADC_5[CountV255]);
-        PulseADC_64Point -=  Buff_ADC_5[(CountV255-64) & 0xff];  								// заполнение буфера накопленых приращений за два 64 тактов
-        BuffADC_64Point[CountV64] = (PulseADC_64Point);*/
-        //ADCDIF +=  BuffADC_64Point[CountV64];
-        /// Buff_Restored_Mod[CountV64] = BuffADC_32PointD[CountV64] - BuffADC_64Point[CountV64];
-       
-       /* if(ADC5Old>3)
-        {
-        sprintf((Time),"%d %d \r\n",  BuffADC_64Point[CountV64], Buff_Restored_Mod[CountV64]);
-   		WriteCon(Time);
-   		ADC5Old=0;
-   		}
-   		else ADC5Old++;
-        */
- //   BackLightOFF
-     
-       // ADCDIF +=  BuffADC_64Point[CountV64]/*>>5*/;
-    /* sprintf((Time),"%d %d\r\n", ADC5New, PulseADC_64Point);
-   		WriteCon(Time);*/
-
-
 }
 
 void ShowMod(void)//технологическая функция для просмотра в ориджине мод на всем диапазпне цап