fork

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
157:1069c80f4944
Parent:
155:94e7ac5fea58
Child:
158:0c8342e1837a
--- a/SPI.c	Mon May 09 20:03:26 2016 +0000
+++ b/SPI.c	Tue May 10 14:11:25 2016 +0000
@@ -38,63 +38,62 @@
 
 void ADS_Acum(void)
 {
-	// можно апихнкть в функцию
-		Spi.ADC_NewData = 0;	
-		Gyro.Termo 	= Spi.ADC1;
-		Gyro.In1   	= Spi.ADC2;
-		Gyro.In2   	= Spi.ADC3;
-		Gyro.DeltaT = Spi.ADC4;
-		TempA = (0x7fff - Spi.ADC5) << 1;  		// перевернем знак  и умножим на два (было 32000...0 стало 0 ...64000)
+    // можно апихнкть в функцию
+    Spi.ADC_NewData = 0;
+    Gyro.Termo 	= Spi.ADC1;
+    Gyro.In1   	= Spi.ADC2;
+    Gyro.In2   	= Spi.ADC3;
+    Gyro.DeltaT = Spi.ADC4;
+    TempA = (0x7fff - Spi.ADC5) << 1;  		// перевернем знак  и умножим на два (было 32000...0 стало 0 ...64000)
 
-		Gyro.ADF_Accum += TempA;
-		Gyro.ADS_Accum += TempA;
-		Gyro.ADF_Count ++;
-		Gyro.ADS_Count ++;
+    Gyro.ADF_Accum += TempA;
+    Gyro.ADS_Accum += TempA;
+    Gyro.ADF_Count ++;
+    Gyro.ADS_Count ++;
 
-		if (Gyro.ADF_Count > 15)					// если прошло 16 тактов виброподвеса
-		{
-			Gyro.AD_Fast = Gyro.ADF_Accum << 12;	//обновляем данные и приводим в один масштаб 
-			Gyro.ADF_Count = 0;//                                                                   
-			Gyro.ADF_Accum = 0;
-			Gyro.ADF_NewData = 1;
-		}
-		if (Gyro.ADS_Count > 255)					// если прошло 256 тактов виброподвеса
-		{
-			Gyro.AD_Slow = Gyro.ADS_Accum << 8;		//обновляем данные и приводим в один масштаб
-			Gyro.ADS_Count = 0;
-			Gyro.ADS_Accum = 0;
-			Gyro.ADS_NewData = 1;
-		}
+    if (Gyro.ADF_Count > 15) {				// если прошло 16 тактов виброподвеса
+        Gyro.AD_Fast = Gyro.ADF_Accum << 12;	//обновляем данные и приводим в один масштаб
+        Gyro.ADF_Count = 0;//
+        Gyro.ADF_Accum = 0;
+        Gyro.ADF_NewData = 1;
+    }
+    if (Gyro.ADS_Count > 255) {				// если прошло 256 тактов виброподвеса
+        Gyro.AD_Slow = Gyro.ADS_Accum << 8;		//обновляем данные и приводим в один масштаб
+        Gyro.ADS_Count = 0;
+        Gyro.ADS_Accum = 0;
+        Gyro.ADS_NewData = 1;
+    }
 }
 
 void SPI_Exchange(void)  // новая функция чтения, в нецй не должно быть ничего лишнего
-	{
-	unsigned int DummySPI;
-	Spi.ADC5_Accum += LPC_SSP0->DR;		// Чтение АЦП
+{
+    unsigned int DummySPI;
+    Spi.ADC5_Accum += LPC_SSP0->DR;		// Чтение АЦП
     Spi.ADC4_Accum += LPC_SSP0->DR;
     Spi.ADC3_Accum += LPC_SSP0->DR;
     Spi.ADC2_Accum += LPC_SSP0->DR;
     Spi.ADC1_Accum += LPC_SSP0->DR;
-    while (LPC_SSP0->SR & RX_SSP_notEMPT) 	{DummySPI = LPC_SSP0->DR;} 		                //если буфер SPI не пуст.//очистить буфер. 
-   
-   
+    while (LPC_SSP0->SR & RX_SSP_notEMPT) 	{
+        DummySPI = LPC_SSP0->DR;   //если буфер SPI не пуст.//очистить буфер.
+    }
+
+
     DAC_OutPut();
-    
-  	if (CountV31 == 0)							// просто фильтруем по 32 точкам. 
-  	{
-  							// выставояем бит, что есть новы данные
-		Spi.ADC1 = Spi.ADC1_Accum >> 5;			// подгоотавливаем данные (в той эе сетке) те 	 ADC1  0..65535
-		Spi.ADC2 = Spi.ADC2_Accum >> 5;
-		Spi.ADC3 = Spi.ADC3_Accum >> 5;
-		Spi.ADC4 = Spi.ADC4_Accum >> 5;
-		Spi.ADC5 = Spi.ADC5_Accum >> 5;
-  		Spi.ADC1_Accum  = 0;				    // сбрасывкем аккамулятор
-    	Spi.ADC2_Accum  = 0;		
-    	Spi.ADC3_Accum  = 0;		
-    	Spi.ADC4_Accum  = 0;		
-    	Spi.ADC5_Accum  = 0;		
-  		Spi.ADC_NewData = 1;
-  	}
+
+    if (CountV31 == 0) {						// просто фильтруем по 32 точкам.
+        // выставояем бит, что есть новы данные
+        Spi.ADC1 = Spi.ADC1_Accum >> 5;			// подгоотавливаем данные (в той эе сетке) те 	 ADC1  0..65535
+        Spi.ADC2 = Spi.ADC2_Accum >> 5;
+        Spi.ADC3 = Spi.ADC3_Accum >> 5;
+        Spi.ADC4 = Spi.ADC4_Accum >> 5;
+        Spi.ADC5 = Spi.ADC5_Accum >> 5;
+        Spi.ADC1_Accum  = 0;				    // сбрасывкем аккамулятор
+        Spi.ADC2_Accum  = 0;
+        Spi.ADC3_Accum  = 0;
+        Spi.ADC4_Accum  = 0;
+        Spi.ADC5_Accum  = 0;
+        Spi.ADC_NewData = 1;
+    }
 
 
 }
@@ -103,28 +102,28 @@
 
 
 
- /*
-	  	    if 		( Gyro.PLC_Delta >	( 100 * 65536)) k=256;
-	  	    else if ( Gyro.PLC_Delta < 	(-100 * 65536)) k=256;
-	  	    
-	  	    else if ( Gyro.PLC_Delta >	( 55 * 65536)) k=64;
-	  	    else if ( Gyro.PLC_Delta < 	(-55 * 65536)) k=64;
-	  	    
-	  	    else if ( Gyro.PLC_Delta >	( 40 * 65536)) k=30;
-	  	    else if ( Gyro.PLC_Delta < 	(-40 * 65536)) k=30;
-	  	    
-	  	    else if ( Gyro.PLC_Delta >  ( 25 * 65536)) k=20;
-	  	    else if ( Gyro.PLC_Delta < 	(-25 * 65536)) k=20;
-	  	    
-	  	    else if ( Gyro.PLC_Delta >  ( 15*65536)) k=16;
-	  	    else if ( Gyro.PLC_Delta < 	(-15*65536)) k=16;
+/*
+  	    if 		( Gyro.PLC_Delta >	( 100 * 65536)) k=256;
+  	    else if ( Gyro.PLC_Delta < 	(-100 * 65536)) k=256;
+
+  	    else if ( Gyro.PLC_Delta >	( 55 * 65536)) k=64;
+  	    else if ( Gyro.PLC_Delta < 	(-55 * 65536)) k=64;
+
+  	    else if ( Gyro.PLC_Delta >	( 40 * 65536)) k=30;
+  	    else if ( Gyro.PLC_Delta < 	(-40 * 65536)) k=30;
 
-	  	    else if ( Gyro.PLC_Delta >  ( 5*65536)) k=12;
-	  	    else if ( Gyro.PLC_Delta < 	(-5*65536)) k=12;
-	  	    
-	  	    else if ( Gyro.PLC_Delta >  ( 2*65536)) k=6;
-	  	    else if ( Gyro.PLC_Delta < 	(-2*65536)) k=6;
-	  	 */   	  	
+  	    else if ( Gyro.PLC_Delta >  ( 25 * 65536)) k=20;
+  	    else if ( Gyro.PLC_Delta < 	(-25 * 65536)) k=20;
+
+  	    else if ( Gyro.PLC_Delta >  ( 15*65536)) k=16;
+  	    else if ( Gyro.PLC_Delta < 	(-15*65536)) k=16;
+
+  	    else if ( Gyro.PLC_Delta >  ( 5*65536)) k=12;
+  	    else if ( Gyro.PLC_Delta < 	(-5*65536)) k=12;
+
+  	    else if ( Gyro.PLC_Delta >  ( 2*65536)) k=6;
+  	    else if ( Gyro.PLC_Delta < 	(-2*65536)) k=6;
+  	 */
 
 
 
@@ -133,142 +132,118 @@
 
 void PlcRegul(void)			//Программа расчет напряжения для модулятора//выполняется 1.25 микросек.
 {
-	    LoopOn
-	    int PLC_In;
-        int tempDelta;
-        int tempDac;
 
-    
-
-
-		PLC_In = Gyro.AD_Slow;											//выбираем даные для фильтрации
-//		PLC_In = Gyro.AD_Fast;
-        //или+,или-(знак)
-		Gyro.PLC_Delta 	  = PLC_In - Gyro.PLC_Old;						// узнаем приращение
-		Gyro.PLC_DeltaADD = Gyro.PLC_Delta * Gyro.PLC_ADC_DOld;			//приращение с учетом знака (и количества) прошлого приращения
-		Gyro.PLC_Old 	  = PLC_In;										// запоминание значения
-
-		
-  
-   
+    int PLC_In;
+    int tempDac;
 
 
-/*
- //////////////////////////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////смотрим все моды/////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////////////////////////   
-  if( (Gyro.PLC_Lern<1011)&&(Gyro.PLC_Error2Mode != 0))//пробигаем по нескольким значениям цап(60*0х3с=0хВВ8) для определения максимальной амплитуды.
-    { 
-      //if(AD_MAX < Gyro.AD_Slow) {AD_MAX = Gyro.AD_Slow;}
-      ttt=1;
-      Gyro.PLC_Lern++;
-      Spi.DAC_B += 0x3c;
-      if(AD_MAX < Gyro.AD_Slow) AD_MAX = Gyro.AD_Slow;
-      sprintf((Time),"%d %d %d \r\n", Spi.DAC_B, Gyro.AD_Slow, AD_MAX);
-      WriteCon(Time);
-    }
+//	 PLC_In = Gyro.AD_Fast;
+    //или+,или-(знак)
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////////////////////////   
+    PLC_In = Gyro.AD_Slow;											//выбираем даные для фильтрации
+    Gyro.PLC_Delta 	  = PLC_In - Gyro.PLC_Old;						// узнаем приращение
+    Gyro.PLC_DeltaADD = Gyro.PLC_Delta * Gyro.PLC_ADC_DOld;			//приращение с учетом знака (и количества) прошлого приращения
+    Gyro.PLC_Old 	  = PLC_In;										// запоминание значения
+    
+    Gyro.PlC_MaxD=(unsigned int)(AD_MAX-Gyro.AD_Slow);              //ищем разницу между желаемой и действительной амплитудами.                                                                        **
+    /*
+     //////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////смотрим все моды/////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////////////////////////////////////////////
+      if( (Gyro.PLC_Lern<1011)&&(Gyro.PLC_Error2Mode != 0))//пробигаем по нескольким значениям цап(60*0х3с=0хВВ8) для определения максимальной амплитуды.
+        {
+          //if(AD_MAX < Gyro.AD_Slow) {AD_MAX = Gyro.AD_Slow;}
+          ttt=1;
+          Gyro.PLC_Lern++;
+          Spi.DAC_B += 0x3c;
+          if(AD_MAX < Gyro.AD_Slow) AD_MAX = Gyro.AD_Slow;
+          sprintf((Time),"%d %d %d \r\n", Spi.DAC_B, Gyro.AD_Slow, AD_MAX);
+          WriteCon(Time);
+        }
 
-*/
+    ///////////////////////////////////////////////////////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    */
+    //                                                                                                     3600 (размер моды порядка 3000)
+    if((Gyro.PLC_Lern < 60) && (Gyro.PLC_Error2Mode != 0)) { //пробигаем по нескольким значениям цап(60*0х3с=0хВВ8) для определения максимальной амплитуды.
+        Gyro.PLC_Lern++;                                     //инкрементируем счетчик поиска максимальной амплитуды
+        if(AD_MAX < Gyro.AD_Slow) AD_MAX = Gyro.AD_Slow;     //если максимальная амплитуда меньше текущей записываем новую максимальную амплитуду.                                                                 *
+        Spi.DAC_B += 0x3c;                                   //добовляем в значение цапа 60
+    } //работает только первые ~30-40 секунд (37 сек).
 
 
 
-                                                       //                                      3600 (размер моды порядка 3000)
-    if( (Gyro.PLC_Lern<60)&&(Gyro.PLC_Error2Mode != 0))//пробигаем по нескольким значениям цап(60*0х3с=0хВВ8) для определения максимальной амплитуды.
-    { 
-      Gyro.PLC_Lern++;                                  //инкрементируем счетчик поиска максимальной амплитуды
-      if(AD_MAX < Gyro.AD_Slow) AD_MAX = Gyro.AD_Slow;  //если максимальная амплитуда меньше текущей записываем новую максимальную амплитуду.
-      Spi.DAC_B += 0x3c;                                //добовляем в значение цапа 60
-    } //работает только первые ~30-40 секунд (37 сек).
-          
-	if(AD_MAX < Gyro.AD_Slow) {AD_MAX = Gyro.AD_Slow;   l=0;}			//обновление максимального значения амплитуды обнуление счетчика малого понижения амплитуды.
-	else l++;                                                           //инкрементируем счетчик малого понижения желаемой амплитуды (максимальной замеченной)
-	
-	tempDelta=(unsigned int)(AD_MAX-Gyro.AD_Slow);                      //ищем разницу между желаемой и действительной амплитудами.
-													                    //ели небыло обновления максимальной амплитуды инкрементируем счетчика малого понижения амплитуды.
-	if((l>100)&&(Gyro.PLC_Lern>59)) {AD_MAX -= 3107200; l=0;}		    //если счетчик малого понижения амплитуды больше 100(аммплитуда не обновлялась 100 раз). 
+    if(AD_MAX < Gyro.AD_Slow) { AD_MAX = Gyro.AD_Slow; l=0; }//обновление максимального значения амплитуды обнуление счетчика малого понижения амплитуды.                                                          *
+    else l++;                                                         //инкрементируем счетчик малого понижения желаемой амплитуды (максимальной замеченной)
+ 
+    //ели небыло обновления максимальной амплитуды инкрементируем счетчика малого понижения амплитуды.
+    if((l>50)&&(Gyro.PLC_Lern>59)) { AD_MAX -= 3107200; l=0; } //если счетчик малого понижения амплитуды больше 100(аммплитуда не обновлялась 100 раз). 
+  
+    if(Gyro.RgConA&0x2) {	       // если  контур регулирования замкнут
+         /*			else if ( Gyro.PLC_Delta > 	(3500 * 65536)) 	{Spi.DAC_B += 2500;	Gyro.PLC_Error2Mode = 5; 	Gyro.PLC_ADC_DOld = 0;}		// проверка на двух модовость
+        			else if ( Gyro.PLC_Delta < 	(-3500 * 65536)) 	{Spi.DAC_B += 2500;	Gyro.PLC_Error2Mode = 5; 	Gyro.PLC_ADC_DOld = 0;}		// проверка на двух модовость*/
+        if      ( Gyro.PLC_Error2Mode > 0)   { Gyro.PLC_Error2Mode --; Gyro.PLC_ADC_DOld = 0;}  // если ошибка(нахожление в двух модовом)
+        else if ( Gyro.PLC_DeltaADD > 0)     { Gyro.PLC_ADC_DOld =  1;}
+        else if ( Gyro.PLC_DeltaADD < 0)     { Gyro.PLC_ADC_DOld = -1;}
+        else                                 { Gyro.PLC_ADC_DOld =  1;}
+    } 
+    else {Gyro.PLC_Error2Mode = 1; Gyro.PLC_DeltaADD = 0;}
+
+    if(Gyro.PlC_MaxD>(50<<18)) {							// 3 режим регулирования
+        tempDac=(unsigned int)(Gyro.PlC_MaxD>>18);
+        if(tempDac>1500) tempDac=1500;   //ограничение на регулирование если очень большая разница амплитуд
+        Spi.DAC_B += Gyro.PLC_ADC_DOld * tempDac;      //новое значение в цап (±1 * значение регулировки)
+        tempDac   =  Gyro.PLC_ADC_DOld * tempDac;      //используется только для выдачи
+        flagmod=3;
+    } 
+    else if(Gyro.PlC_MaxD>(12<<18)) {					// 2 режим регулирования
+        tempDac=(unsigned int)(Gyro.PlC_MaxD>>18);
+        Spi.DAC_B += Gyro.PLC_ADC_DOld * (tempDac);
+        tempDac    = Gyro.PLC_ADC_DOld * (tempDac);     //используется только для выдачи
+        flagmod=2;
+    } 
+    else if(Gyro.PlC_MaxD<(2<<18)) {                     //режим если дельта равна 0;
+        tempDac=2;
+        Spi.DAC_B += Gyro.PLC_ADC_DOld * tempDac;
+        flagmod=1;
+    } 
+    else {
+        tempDac=(unsigned int)(Gyro.PlC_MaxD>>19); 			// 1 режим регулирования
+        Spi.DAC_B += Gyro.PLC_ADC_DOld *tempDac;
+        tempDac = Gyro.PLC_ADC_DOld * tempDac;
+        flagmod=1;
+    }
 
 
-	    if(Gyro.RgConA&0x2)											    // если  контур регулирования замкнут
-	    {	
-			if 		( Gyro.PLC_Error2Mode > 0)				{Gyro.PLC_Error2Mode --;						Gyro.PLC_ADC_DOld = 0;} 	// если ошибка(нахожление в двух модовом)
-			else if ( Gyro.PLC_Delta > 	(3500 * 65536)) 	{Spi.DAC_B += 2500;	Gyro.PLC_Error2Mode = 5; 	Gyro.PLC_ADC_DOld = 0;}		// проверка на двух модовость
-			else if ( Gyro.PLC_Delta < 	(-3500 * 65536)) 	{Spi.DAC_B += 2500;	Gyro.PLC_Error2Mode = 5; 	Gyro.PLC_ADC_DOld = 0;}		// проверка на двух модовость
-	  	    else if ( Gyro.PLC_DeltaADD > 0)        		{Gyro.PLC_ADC_DOld =  1;}
-	  	    else if ( Gyro.PLC_DeltaADD < 0)      			{Gyro.PLC_ADC_DOld = -1;}
-			else
-			{
-				Gyro.PLC_ADC_DOld = 1;
-			}
-		}
-		else {Gyro.PLC_Error2Mode = 1; Gyro.PLC_DeltaADD = 0;}
-		
-		
-		
-		
+    if(flagmod==3) {k++;         	//если максимальный режим регулирования //инкрементируем счетчик большого понижения амплитуды
+      if(k>100){k=0;AD_MAX -= 13107200;} //если счетчик бльше 50 //обнуляем счетчик //уменьшаем максимальную амплитуду.   
+    }
+    else k=0;						//если это не серия максимальных регулировок обнуляем счетчик.
+
+    
+    
+      if  ( Spi.DAC_B < 1000 )	{Spi.DAC_B = 32000; Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;}            //проверка на переваливание за границу.  
+ else if ( Spi.DAC_B > 63000 ) 	{Spi.DAC_B = 32000; Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;}
+       
 
-		if(tempDelta>(50<<18)) 								// 3 режим регулирования 
-		{   
-		    tempDac=(unsigned int)(tempDelta>>18);
-		    if(tempDac>400) {tempDac=400;}                 //ограничение на регулирование если очень большая разница амплитуд
-			Spi.DAC_B += Gyro.PLC_ADC_DOld * tempDac;      //новое значение в цап
-			tempDac   =  Gyro.PLC_ADC_DOld * tempDac;      //используется только для выдачи
-			flagmod=3;
-		}
-        else if(tempDelta>(12<<18)) 						// 2 режим регулирования
-		{
-			tempDac=(unsigned int)(tempDelta>>18);
-			Spi.DAC_B += Gyro.PLC_ADC_DOld * (tempDac);
-			tempDac    = Gyro.PLC_ADC_DOld * (tempDac);     //используется только для выдачи
-			flagmod=2;
-		}
-		else if(tempDelta<(2<<18))                         //режим если дельта равна 0;
-		{
-		 tempDac=2;
-		 Spi.DAC_B += Gyro.PLC_ADC_DOld * tempDac;
-		 flagmod=1;
-		}
-        else
-        {
-           	tempDac=(unsigned int)(tempDelta>>19); 			// 1 режим регулирования
-           	Spi.DAC_B += Gyro.PLC_ADC_DOld *tempDac;
-			tempDac = Gyro.PLC_ADC_DOld * tempDac;
-			flagmod=1;
-		}
-		
-		
-		if(flagmod==3){         		//если максимальный режим регулирования 
-		   k++;                		//инкрементируем счетчик большого понижения амплитуды
-		   if(k>35)          		//если счетчик бльше 35
-			  {
-			   k=0;                	//обнуляем счетчик
-			   AD_MAX -= 13107200;	//уменьшаем максимальную амплитуду.
-			  }
-			}       
-		else k=0;						//если это не серия максимальных регулировок обнуляем счетчик.
-		
-			
-		
-		if ( Spi.DAC_B < 1000 ) 	{Spi.DAC_B = 32000;  Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;}//проверка на переваливание за границу.
-		if ( Spi.DAC_B > 63000 ) 	{Spi.DAC_B = 32000;  Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;}
-		
-		if(Gyro.LogPLC==1)
-		{
-		//sprintf((Time),"%d %d %d %d\r\n",Gyro.PLC_Lern, Spi.DAC_B, Gyro.AD_Slow, Gyro.AD_Slow>>18 );//выдаем в терминал для постройки граффика регулировки периметра.
+
+    ///////////////////////
+    //////////лог//////////
+    ///////////////////////
+    if(Gyro.LogPLC==1) {
+        //sprintf((Time),"%d %d %d %d\r\n",Gyro.PLC_Lern, Spi.DAC_B, Gyro.AD_Slow, Gyro.AD_Slow>>18 );//выдаем в терминал для постройки граффика регулировки периметра.
         //WriteCon(Time);
-		sprintf((Time),"%d %d %d %d %d %d %d %d\r\n", Spi.DAC_B, temp9, tempDelta>>18, tempDac, flagmod, AD_MAX, Gyro.AD_Slow, k);//выдаем в терминал для постройки граффика регулировки периметра.
+        sprintf((Time),"%d %d %d %d %d %d %d %d\r\n", Spi.DAC_B, temp9, Gyro.PlC_MaxD>>18, tempDac, flagmod, AD_MAX, Gyro.AD_Slow, k);//выдаем в терминал для постройки граффика регулировки периметра.
         WriteCon(Time);
-        }
-LoopOff
- }
-
+    }
+}
 
 
 
 
 /*
+
 void PlcRegul(void)			//Программа расчет напряжения для модулятора
 {
 		int PLC_In;
@@ -283,18 +258,18 @@
 		Gyro.PLC_Old 		= PLC_In;										// запоминание значения
 
 	    if(Gyro.RgConA&0x2)											// если включон контур регулирования
-	    {	
+	    {
 			if 		(Gyro.PLC_Error2Mode > 0)				{Gyro.PLC_Error2Mode --; 						Gyro.PLC_ADC_DOld = 0; } 	// если ошибка(нахожление в двух модовом)
 			else if ( Gyro.PLC_Delta > 	(3000 * 65536)) 	{Spi.DAC_B += 2500;	Gyro.PLC_Error2Mode = 5; 	Gyro.PLC_ADC_DOld = 0;}		// проверка на двух модовость
 			else if ( Gyro.PLC_Delta < 	(-3000 * 65536)) 	{Spi.DAC_B += 2500;	Gyro.PLC_Error2Mode = 5; 	Gyro.PLC_ADC_DOld = 0;}
-	  	 
-	  	    else if (Gyro.PLC_DeltaADD > 0)  
+
+	  	    else if (Gyro.PLC_DeltaADD > 0)
 			{
-	
+
 //				Gyro.PLC_ADC_DOld =	(Gyro.PLC_DeltaADD /6553600 )+1;
 			Gyro.PLC_ADC_DOld = 1;
 			}
-	  	    else if (Gyro.PLC_DeltaADD < 0)  
+	  	    else if (Gyro.PLC_DeltaADD < 0)
 			{
 
 //				Gyro.PLC_ADC_DOld =	(Gyro.PLC_DeltaADD /6553600 )-1;
@@ -305,60 +280,61 @@
 				Gyro.PLC_ADC_DOld = 1;
 			}
 		}
-		else 
+		else
 		{
 			Gyro.PLC_Error2Mode = 1; Gyro.PLC_DeltaADD = 0;
 		}
-		
-	
+
+
 		Spi.DAC_B += Gyro.PLC_ADC_DOld * 16;
-		
-		
+
+
 		if ( Spi.DAC_B < 1000 ) 	{Spi.DAC_B = 32000;  Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;}
 		if ( Spi.DAC_B > 63000 ) 	{Spi.DAC_B = 32000;  Gyro.PLC_Error2Mode = 5; Gyro.PLC_DeltaADD = 0;}
-		
+
 		if(Gyro.LogPLC==1)
 		{
-		
-		sprintf((Time),"%d %d %d %d %d %d\r\n", Spi.DAC_B, temp9,flagmod, AD_MAX, Gyro.AD_Slow, k);//выдаем в терминал для постройки граффика регулировки периметра.
-        WriteCon(Time);
+		 sprintf((Time),"%d %d %d %d %d %d\r\n", Spi.DAC_B, temp9,flagmod, AD_MAX, Gyro.AD_Slow, k);//выдаем в терминал для постройки граффика регулировки периметра.
+         WriteCon(Time);
         }
- 
+
  }
 
 
 */
-void PlcRegul_old(void)  // на всяни	й случай
+void PlcRegul_old(void)  // на всякий случай
 {
-	int Delta;
-	 	
-	ADD_AMP+=Spi.ADC5;
-    Count_AMP++; 
-     if(Count_AMP>=(32*32+8)) 
-     {
-		Delta = ADD_AMP - Cur_Amp;
-		
-	    if(Gyro.RgConA&0x2)
-	    {
-			if 		(Znak_Amp > 1)			{Znak_Amp --;}
-			else if ( Delta > 30000000 ) 	{AD_Regul += 5000000; Znak_Amp = 5;}
-			else if ( Delta < (-3000000)) 	{AD_Regul += 5000000;	Znak_Amp = 5;}
-	  	    else if ((Delta * Znak_Amp) > 0)  
-			{
-			Znak_Amp = 1;
-			AD_Regul -= (Delta * Znak_Amp * 10);	
-			}
-			else
-			{
-			Znak_Amp = -1;
-			AD_Regul -= (Delta * Znak_Amp * 10);	
-			}
-			
-		Spi.DAC_B  = (AD_Regul + 0x1fffffff)/65536;
-		}
-     	Cur_Amp=ADD_AMP; Count_AMP=0; ADD_AMP=0;
-	 }
-	 
+    int Delta;
+
+    ADD_AMP+=Spi.ADC5;
+    Count_AMP++;
+    if(Count_AMP>=(32*32+8)) {
+        Delta = ADD_AMP - Cur_Amp;
+
+        if(Gyro.RgConA&0x2) {
+            if 		(Znak_Amp > 1)			{
+                Znak_Amp --;
+            } else if ( Delta > 30000000 ) 	{
+                AD_Regul += 5000000;
+                Znak_Amp = 5;
+            } else if ( Delta < (-3000000)) 	{
+                AD_Regul += 5000000;
+                Znak_Amp = 5;
+            } else if ((Delta * Znak_Amp) > 0) {
+                Znak_Amp = 1;
+                AD_Regul -= (Delta * Znak_Amp * 10);
+            } else {
+                Znak_Amp = -1;
+                AD_Regul -= (Delta * Znak_Amp * 10);
+            }
+
+            Spi.DAC_B  = (AD_Regul + 0x1fffffff)/65536;
+        }
+        Cur_Amp=ADD_AMP;
+        Count_AMP=0;
+        ADD_AMP=0;
+    }
+
 }
 
 
@@ -366,42 +342,41 @@
 
 void DAC_OutPut(void)//выдача в цапы
 {
-	LPC_SSP0->DR=0x5555;
+    LPC_SSP0->DR=0x5555;
     LPC_SSP0->DR=0x5555;
     LPC_SSP0->DR=0x5555;
 
     if (CountV31 & 1) {                      	//если нечетный такт то
         LPC_SSP0->DR = WRITE_DAC0;   					//e.команда для ЦАП_0 передавать.
         LPC_SSP0->DR = (Spi.DAC_A);         	//e. передача 12 бит
-    }
-     else { //если такт четный.
-      LPC_SSP0->DR = WRITE_DAC1 ; //e.команда для ЦАП_1 передавать.
-        	
-		switch( Gyro.StrayPLC_flag) {
-			
-        case 0://режим без воздействия
-        LPC_SSP0->DR = (Spi.DAC_B); 
-        temp9=Spi.DAC_B;
-        break;
-        
-        case 1://малое воздействие
-        temp9=Spi.DAC_B + Gyro.StrayPLC_Pls;
-        LPC_SSP0->DR = temp9;
-        break;
-        
-        case 3://малое воздействие
-        temp9=Spi.DAC_B + Gyro.StrayPLC_Mns;
-        LPC_SSP0->DR = temp9;
-        break;
-        
-		case 2://большое воздействие
-		temp9=Spi.DAC_B + Gyro.StrayPLC_2Mode;
-        LPC_SSP0->DR = temp9;//вгоняем в многомодовый режим
-        break;
-        
-    	}  		
-     // LPC_SSP0->DR = Spi.DAC_B;        	//e. передача 12 бит
-      	 
+    } else { //если такт четный.
+        LPC_SSP0->DR = WRITE_DAC1 ; //e.команда для ЦАП_1 передавать.
+
+        switch( Gyro.StrayPLC_flag) {
+
+            case 0://режим без воздействия
+                LPC_SSP0->DR = (Spi.DAC_B);
+                temp9=Spi.DAC_B;
+                break;
+
+            case 1://малое воздействие +
+                temp9=Spi.DAC_B + Gyro.StrayPLC_Pls;
+                LPC_SSP0->DR = temp9;
+                break;
+
+            case 3://малое воздействие -
+                temp9=Spi.DAC_B + Gyro.StrayPLC_Mns;
+                LPC_SSP0->DR = temp9;
+                break;
+
+            case 2://большое воздействие +
+                temp9=Spi.DAC_B + Gyro.StrayPLC_2Mode;
+                LPC_SSP0->DR = temp9;//вгоняем в многомодовый режим
+                break;
+
+        }
+        // LPC_SSP0->DR = Spi.DAC_B;        	//e. передача 12 бит
+
     }
 }
 
@@ -438,7 +413,7 @@
 void SPI_Exchange(void)
 {
     unsigned int DummySPI;
-  
+
 
     Spi.ADC5 = LPC_SSP0->DR;
     Spi.ADC4 = LPC_SSP0->DR;
@@ -447,7 +422,7 @@
     Spi.ADC1 = LPC_SSP0->DR;
 
     Input.ArrayIn[2]= Spi.ADC5;
-   
+
     DAC_OutPut();
 
 //  LPC_DAC->CR = (((SinPLC[CountV64]*35/5)+24300));// модулятор
@@ -456,13 +431,13 @@
     DummySPI = LPC_SSP0->DR;	                                //очистить буфер.
 
     //заполнение буферов еденичных значений АЦП.
-    Buff_ADC_1	[CountV31]  = Spi.ADC1;              
+    Buff_ADC_1	[CountV31]  = Spi.ADC1;
     Buff_ADC_2	[CountV31]  = Spi.ADC2;
     Buff_ADC_3	[CountV31]  = Spi.ADC3;
     Buff_ADC_4	[CountV31]  = Spi.ADC4;
     Buff_ADC_5	[CountV255] = Spi.ADC5;    // ампл ацп.
 
-  
+
    	Temp_AMP64P += Buff_ADC_5[CountV255];
     Temp_AMP64P -= Buff_ADC_5[(CountV255-64) & 0xff];                    // заполнение буфера накопленых приращений за 8 тактов
     Buff_AMP64P[CountV255] = (unsigned int) (Temp_AMP64P);