123

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
112:4a96133a1311
Parent:
111:8ee1ef722ba7
Child:
113:8be429494918
--- a/main.c	Mon Apr 04 03:21:25 2016 +0000
+++ b/main.c	Mon Apr 04 11:09:56 2016 +0000
@@ -67,12 +67,12 @@
     ExtLatch_Init();		  // инициализация внешней защелки.
     LoadFlashParam(FromFLASH); 	//загрузка параметров.
 
-    open_all_loops();                          //#define open_all_loops()			RgConA   = 0	(Основной регистр управления устройства (0 - включить, 1 - отключить)).
+   // open_all_loops();                          //#define open_all_loops()			RgConA   = 0	(Основной регистр управления устройства (0 - включить, 1 - отключить)).
     Output.Str.HF_reg = Device_blk.Str.HF_min; //HFO output voltage = максивальное напряжение на ГВЧ.
     init_PLC();                                //Инициализация СРП(регулировка периметра)
     init_Dither_reg();                         //инициализация вибропривода
-    RgConB = RATE_VIBRO_1; // дополнительный регистр управления = разность вибросчетчиков после фильтра скольз.среднего(#define RATE_VIBRO_1	0x0001)
-    close_all_loops();
+  //  RgConB = RATE_VIBRO_1; // дополнительный регистр управления = разность вибросчетчиков после фильтра скольз.среднего(#define RATE_VIBRO_1	0x0001)
+ //   close_all_loops();
 
     Out_G_photo(200,200);        //запись в буфер мастера принятые от функции данные (60,60) и установка флага старта передачи и занятой шины.
 
@@ -250,7 +250,7 @@
              Read_CMD();
         }
         
-   // Read_CMD();
+     // Read_CMD();
 
         Event_1Hz();
         Event_1KHz();
@@ -269,6 +269,7 @@
 		Gyro.Termo3 = Spi.ADC3;
 		Gyro.Termo4 = Spi.ADC4;
 		TempA = 65536 - Spi.ADC5;  // перевернем знак
+
 		Gyro.ADF_Accum += TempA;
 		Gyro.ADS_Accum += TempA;
 		Gyro.ADF_Count ++;
@@ -289,20 +290,49 @@
 			Gyro.ADS_NewData = 1;
 		}
 	}
+	
 	if (Gyro.ADF_NewData == 1)  // был приход новых данных После быстрого фильтра AD
 	{
-// можно запихнкть в функцию
-		Gyro.ADF_NewData = 0;	
-	}
+		Gyro.ADF_NewData = 0;
+	}// можно запихнкть в функцию
+	
 	if (Gyro.ADS_NewData == 1)  // был приход новых данных После Медленного фильтра AD
 	{
-// можно запихнкть в функцию
 		Gyro.ADS_NewData = 0;	
-	}
+	}// можно запихнкть в функцию
+	
+      if(Spi.PLC_NewData == 1)
+    {
+    	  Spi.PLC_NewData = 0;
+    	  PlcRegul();//выдача в ЦАПы
+    }
 
-
+   if(Gyro.VibroFrqRegulF == 1)
+    {
+    	  Gyro.VibroFrqRegulF = 0;
+    	  VibroFrqRegul();
+    }
+      if(Gyro.VibroAMPRegulF == 1)
+    {
+    	  Gyro.VibroAMPRegulF = 0;
+    	  VibroAMPRegul();
+    }
+    if(Gyro.VibroNoiseF == 1)
+    {
+    	  Gyro.VibroNoiseF = 0;
+    	  CalcAmpN();
+    }
+        if(Spi.SpiFlag == 1)
+    {
+    	  Spi.SpiFlag = 0;
+    	  SPI_Exchange_I(); 				//Чтение ADS_SPI
+    }
 
-
+    if(Gyro.VibroOutF== 1)
+    {
+    	  Gyro.VibroOutF = 0;
+    	  VibroOut();				//Чтение ADS_SPI
+    }
 }//while
 }  //main