forkd

Dependencies:   mbed

Fork of LGstaandart by Dmitry Kovalev

Revision:
231:079835d508ef
Parent:
228:a8195e1b1123
Child:
232:130a2b5003e6
--- a/Command.c	Tue Jan 09 13:25:45 2018 +0000
+++ b/Command.c	Thu Jan 25 13:59:43 2018 +0000
@@ -48,37 +48,15 @@
  	}
   
 }
-/*
-void WriteFlash(void)
-  {
- 	  
-   SystemInitDef();
-   WriteCon("\r\n Start Prepare Sectors");
-   if(u32IAP_PrepareSectors(5, 5) == IAP_STA_CMD_SUCCESS)
-     {
-      WriteCon("\r\nPrepare Sectors OK");
-      WriteCon("\r\n Start Erase");
-      u32IAP_EraseSectors(IMG_START_SECTOR, IMG_END_SECTOR);
-      WriteCon("\r\n AND Erase");
-     }
-     else WriteCon("\r\nPrepare Sectors ERROR ");  
-          SystemInit1(); 
-          Gyro.FlashMod = 0;
-     }
-  */
+
  void EraseFlash(void)
  {
  	rr = u32IAP_PrepareSectors(19, 21);
-	/*sprintf((Time)," dffddfd <%07d> ",rr);
-	WriteCon(Time);*/
     rr = u32IAP_EraseSectors(19, 21);
-   /* sprintf((Time)," dffddfd <%07d> ",rr);
-    WriteCon(Time);*/
-    }
+ }
  
  void WriteFlash(void)
- 
- 	{  
+  	{  
  	Gyro.FlashMod = 0;
  	
  	//SystemInitDef();
@@ -109,7 +87,7 @@
  	NVIC_DisableIRQ(TIMER3_IRQn);
  	NVIC_DisableIRQ(EINT3_IRQn);
   Gyro.FlashMod = 0;
-  WriteCon("\r\n Pirivet Flash");
+
 
   pDestT= (unsigned int) (0x030000);
   Flash = (GyroParam*) pDestT;
@@ -161,9 +139,6 @@
 
 void CMD_Rate7(void)
 {
-    //Buff_Restored_Mod[CountV31]    BuffADC_znak[q]
-  // (CountV64)&0x3f]*Gyro.ModAmp туды 
-   //BuffADC_64Point[ (CountFaza + Gyro.PLC_Phase)  & 0x3f]
     BuffClear();
     
     unsigned int Temp;
@@ -171,32 +146,15 @@
     int Temp1;
    	float Temp2;
     static unsigned int t=0;
-
+  
 	BuffTemp[0] = Gyro.SOC_Out;
     BuffTemp[1] = Gyro.My_Addres;
-    MinWorms=BuffADC_10v_F[10];
-    MaxWorms=BuffADC_10v_F[10];
-    for(int q=0; q<64; q++)
-   		{
-   		if(MinWorms > BuffADC_10v_F[q]) MinWorms = (BuffADC_10v_F[q]);
-   		if(MaxWorms < BuffADC_10v_F[q]) MaxWorms = (BuffADC_10v_F[q]);  		
-   		}
-        AmpWorms = (MaxWorms-MinWorms)>>1;
-        
-   		for(int q=0; q<64; q++)
-   			{
-   		     ADC_Worm[q] = (BuffADC_10v_F[q] - (MinWorms+AmpWorms));// от -128 до 128
-   			}
-   		
-   		for(int q=32; q<64; q++)
-   			{
-   			 ADC_Worm[q] = ADC_Worm[q] * (-1);
-   			}
-   	
-   	    for(int q=0; q<64; q++)
-   	    	{
-   	    	 ADC_Worm[q] = ADC_Worm[q] + AmpWorms+1;
-   	    	 Temp = (ADC_Worm[q])>>9;
+   
+   			
+   			
+   			for(int q=0; q<64; q++)
+   	    	{	   	    	
+   	    	 Temp = (WormFilt2[q]>>6) + 128;
    		 	 BuffTemp[q+2] = (Temp) & 0xff;//младший байт разности счетчиков
    			}
 
@@ -253,30 +211,167 @@
    Param = GyroP.Array[NP];
    BuffTemp[2] =(GyroP.Array[NP] >> 8) & 0xff;//старший байт требуемого параметра
    BuffTemp[3] =(GyroP.Array[NP] >> 0) & 0xff;//младший байт требуемого параметра
-   
+
    Check(BuffTemp, 6);
    WriteConN (BuffTemp,6);
    /*sprintf((Time),"READ  Param = <%07d>   GyroP.Array[NP] = <%07d>  NP= <%07d>   Gyro.CaunPlus+Gyro.CaunMin-5000 <%07d>  \r\n",Param,  GyroP.Array[NP],  NP, GyroP.Str.PLC_Lern);
    WriteCon(Time);*/
    NP=0;
 }
+
+
+
+
+
+float Float(unsigned int TermoHi,unsigned int TermoLo)
+{
+   char  Data[4];
+   int SecDelta;
+   int TempTD;
+   union
+   {
+     float num;
+     char byte[4];
+   } SimpleFloat;
+   
+  Data[0]=TermoLo&0xfff;
+  Data[1]=TermoLo>>8;
+  Data[2]=TermoHi&0xfff;
+  Data[3]=TermoHi>>8;
+   				 				
+  for(int i = 0; i < 4; i++)
+  	 {
+   		SimpleFloat.byte[i] = Data[i];
+   	 }
+
+   	  
+     return 	 SimpleFloat.num*10000;
+	
+}
+void Switch(unsigned int NP)
+{ 
+    unsigned int  TempTermodataHi, TempTermodataLo;
+	switch(NP) 
+   {
+                case  63: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_0  = GyroP.Str.TStatic_0;   break;
+				case  64: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_1  = GyroP.Str.TStatic_1;   break;
+				case  65: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_2  = GyroP.Str.TStatic_2;   break;
+				case  66: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_3  = GyroP.Str.TStatic_3;   break;
+				case  67: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_4  = GyroP.Str.TStatic_4;   break;
+				case  68: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_5  = GyroP.Str.TStatic_5;   break;
+				case  69: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_6  = GyroP.Str.TStatic_6;   break;
+				case  70: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_7  = GyroP.Str.TStatic_7;   break;
+				case  71: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_8  = GyroP.Str.TStatic_8;   break;
+				case  72: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_9  = GyroP.Str.TStatic_9;   break;
+				case  73: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_10 = GyroP.Str.TStatic_10;  break;
+				case  74: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_11 = GyroP.Str.TStatic_11;  break;
+				case  75: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_12 = GyroP.Str.TStatic_12;  break;
+				case  76: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_13 = GyroP.Str.TStatic_13;  break;   
+	 			  				
+     										
+				case  160: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_0  = GyroP.Str.TDCool_0;   break;
+				case  161: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_1  = GyroP.Str.TDCool_1;   break;
+				case  162: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_2  = GyroP.Str.TDCool_2;   break;
+				case  163: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_3  = GyroP.Str.TDCool_3;   break;
+				case  164: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_4  = GyroP.Str.TDCool_4;   break;
+				case  165: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_5  = GyroP.Str.TDCool_5;   break;
+				case  166: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_6  = GyroP.Str.TDCool_6;   break;
+				case  167: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_7  = GyroP.Str.TDCool_7;   break;
+				case  168: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_8  = GyroP.Str.TDCool_8;   break;
+				case  169: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_9  = GyroP.Str.TDCool_9;   break;
+				case  170: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_10 = GyroP.Str.TDCool_10;  break;
+				case  171: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_11 = GyroP.Str.TDCool_11;  break;
+				case  172: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_12 = GyroP.Str.TDCool_12;  break;
+				case  173: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_13 = GyroP.Str.TDCool_13;  break;     				
+				
+              
+                case  78:           TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_0  = Float(GyroP.Str.TermoDeltaStatic_0, GyroP.Str.TermoDeltaStatic_1 );  			break;	       							
+                case  80:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_1  = Float(GyroP.Str.TermoDeltaStatic_2, GyroP.Str.TermoDeltaStatic_3 );  			break;				  											
+                case  82:           TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_2  = Float(GyroP.Str.TermoDeltaStatic_4, GyroP.Str.TermoDeltaStatic_5 ); 		 		break;	    											
+                case  84:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_3  = Float(GyroP.Str.TermoDeltaStatic_6, GyroP.Str.TermoDeltaStatic_7 );  			break;		   										
+                case  86:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_4  = Float(GyroP.Str.TermoDeltaStatic_8, GyroP.Str.TermoDeltaStatic_9 );  			break;	   											
+                case  88:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_5  = Float(GyroP.Str.TermoDeltaStatic_10,GyroP.Str.TermoDeltaStatic_11);  			break;	   										
+    		    case  90:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_6  = Float(GyroP.Str.TermoDeltaStatic_12,GyroP.Str.TermoDeltaStatic_13);  			break;									
+                case  92:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_7  = Float(GyroP.Str.TermoDeltaStatic_14,GyroP.Str.TermoDeltaStatic_15);  			break;										
+                case  94:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_8  = Float(GyroP.Str.TermoDeltaStatic_16,GyroP.Str.TermoDeltaStatic_17);  			break;								
+                case  96:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_9  = Float(GyroP.Str.TermoDeltaStatic_18,GyroP.Str.TermoDeltaStatic_19); 				break;											
+                case  98:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_10 = Float(GyroP.Str.TermoDeltaStatic_20,GyroP.Str.TermoDeltaStatic_21);  			break;									
+                case  100:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_11 = Float(GyroP.Str.TermoDeltaStatic_22,GyroP.Str.TermoDeltaStatic_23);  			break;								
+                case  102:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_12 = Float(GyroP.Str.TermoDeltaStatic_24,GyroP.Str.TermoDeltaStatic_25);  			break;										
+                case  104:			TermoCorrStatic.TermoDeltaStatic.Str.TermoDeltaStatic_13 = Float(GyroP.Str.TermoDeltaStatic_26,GyroP.Str.TermoDeltaStatic_27);  			break;									
+                case  175: 	        TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_0  = Float(GyroP.Str.TermoDynamicDataHeat0, GyroP.Str.TermoDynamicDataHeat1 );  	break;									
+                case  177:      	TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_1  = Float(GyroP.Str.TermoDynamicDataHeat2, GyroP.Str.TermoDynamicDataHeat3 );  	break;      									
+                case  179:   		TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_2  = Float(GyroP.Str.TermoDynamicDataHeat4, GyroP.Str.TermoDynamicDataHeat5 );		break;										
+                case  181:		    TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_3  = Float(GyroP.Str.TermoDynamicDataHeat6, GyroP.Str.TermoDynamicDataHeat7 );     break;								
+                case  183:    		TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_4  = Float(GyroP.Str.TermoDynamicDataHeat8, GyroP.Str.TermoDynamicDataHeat9 );     break;	     					
+                case  185:   		TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_5  = Float(GyroP.Str.TermoDynamicDataHeat10,GyroP.Str.TermoDynamicDataHeat11); 	break;								
+                case  187:   		TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_6  = Float(GyroP.Str.TermoDynamicDataHeat12,GyroP.Str.TermoDynamicDataHeat13);     break;	  							
+                case  189:    		TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_7  = Float(GyroP.Str.TermoDynamicDataHeat14,GyroP.Str.TermoDynamicDataHeat15);     break;								
+                case  191:       	TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_8  = Float(GyroP.Str.TermoDynamicDataHeat16,GyroP.Str.TermoDynamicDataHeat17);  	break;											
+                case  193:    		TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_9  = Float(GyroP.Str.TermoDynamicDataHeat18,GyroP.Str.TermoDynamicDataHeat19);     break;  												
+                case  195:			TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_10 = Float(GyroP.Str.TermoDynamicDataHeat20,GyroP.Str.TermoDynamicDataHeat21);     break; 										
+                case  197:			TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_11 = Float(GyroP.Str.TermoDynamicDataHeat22,GyroP.Str.TermoDynamicDataHeat23);   	break;										
+                case  199:			TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_12 = Float(GyroP.Str.TermoDynamicDataHeat24,GyroP.Str.TermoDynamicDataHeat25);   	break;												
+                case  201:			TermoCorrDynamic.TermoDeltaDynamic.Str.TermoDeltaDynamic_13 = Float(GyroP.Str.TermoDynamicDataHeat26,GyroP.Str.TermoDynamicDataHeat27);     break;                
+	}
+	
+}
 void CMD_M_Param_W(void)
 {
    unsigned int NP=0;
    unsigned int Param,temp,flash;
-   
+   unsigned int  TempTermodataHi, TempTermodataLo;
+   float Ttemp;
+  
    NP     =  BuffTemp[3];
    Param  = (BuffTemp[4]<<8);
    Param |=  BuffTemp[5];
  
    GyroP.Array[NP] = Param;
    flash=GyroP.Array[115];
- 
+   sprintf((Time),"READ  NP= <%07d>  Param = <%07d> \r\n",  NP, Param);
+   WriteCon(Time);
+   Gyro.NP=NP;
+  // Switch(NP);
+   
    switch(NP) 
    {
+   	            case  63: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_0  = GyroP.Str.TStatic_0;   break;
+				case  64: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_1  = GyroP.Str.TStatic_1;   break;
+				case  65: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_2  = GyroP.Str.TStatic_2;   break;
+				case  66: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_3  = GyroP.Str.TStatic_3;   break;
+				case  67: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_4  = GyroP.Str.TStatic_4;   break;
+				case  68: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_5  = GyroP.Str.TStatic_5;   break;
+				case  69: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_6  = GyroP.Str.TStatic_6;   break;
+				case  70: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_7  = GyroP.Str.TStatic_7;   break;
+				case  71: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_8  = GyroP.Str.TStatic_8;   break;
+				case  72: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_9  = GyroP.Str.TStatic_9;   break;
+				case  73: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_10 = GyroP.Str.TStatic_10;  break;
+				case  74: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_11 = GyroP.Str.TStatic_11;  break;
+				case  75: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_12 = GyroP.Str.TStatic_12;  break;
+				case  76: TermoCorrStatic.TermoTempStatic.Str.TermoTempStatic_13 = GyroP.Str.TStatic_13;  break;   
+		 			  				
+     										
+				case  160: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_0  = GyroP.Str.TDCool_0;   break;
+				case  161: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_1  = GyroP.Str.TDCool_1;   break;
+				case  162: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_2  = GyroP.Str.TDCool_2;   break;
+				case  163: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_3  = GyroP.Str.TDCool_3;   break;
+				case  164: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_4  = GyroP.Str.TDCool_4;   break;
+				case  165: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_5  = GyroP.Str.TDCool_5;   break;
+				case  166: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_6  = GyroP.Str.TDCool_6;   break;
+				case  167: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_7  = GyroP.Str.TDCool_7;   break;
+				case  168: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_8  = GyroP.Str.TDCool_8;   break;
+				case  169: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_9  = GyroP.Str.TDCool_9;   break;
+				case  170: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_10 = GyroP.Str.TDCool_10;  break;
+				case  171: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_11 = GyroP.Str.TDCool_11;  break;
+				case  172: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_12 = GyroP.Str.TDCool_12;  break;
+				case  173: TermoCorrDynamic.TermoTempDynamic.Str.TermoTempDynamic_13 = GyroP.Str.TDCool_13;  break;     				 			
+   			
+
+                 
    				//case  0: Gyro.My_Addres 	= GyroP.Str.My_Addres; 													break;
    				case  1: Gyro.HFO_ref		= (unsigned int)(GyroP.Str.HFO_ref)  ;      							break;
-   				case  2: Gyro.HFO_Gain 		= 		GyroP.Str.HFO_Gain; 											break;
+   				case  2: Gyro.HFO_Gain 		= GyroP.Str.HFO_Gain; 											break;
      			case  3: if(Gyro.LG_Type)  Gyro.HFO_Max=0xffff-GyroP.Str.DAC_current_Work;                                                //((int)(GyroP.Str.DAC_current_Work*0.67)-2000);
      					 else			   Spi.DAC_A = ((((int)(GyroP.Str.DAC_current_Work+ 0x7fff)&0xffff)+22544)*0.65); 	break;  
      			
@@ -333,21 +428,9 @@
      			case 105:Gyro.ResetLevelCool	= (unsigned int)((GyroP.Str.ResetLevelCool-0x7fff)&0xffff);	 	     		    break;
      			case 55: Gyro.ResetLevelHeat	= (unsigned int)((GyroP.Str.ResetLevelHeat-0x7fff)&0xffff);					  	break;
      			
-     			
-     			
-     			
-     																//27
-				
-			  ///  Gyro.PLCDelay			= GyroP.Str.PLCDelay;  	
-																		//105
-                
-     			/*
-     			case 39: Gyro.ResetLevelCool	= 0x7fff+GyroP.Str.ResetLevelCool; 			     		   break;
-     			case 31: Gyro.ResetLevelHeat	= 0x7fff+GyroP.Str.ResetLevelHeat;					    			break;	*/													//27
-				 	
-					
-																		//105
-               
+	
+		    default : Gyro.ParamFlag=1;
+
    }
      			
     NP=0; 	
@@ -366,6 +449,16 @@
 void CMD_Maintenance(void)
 {
     unsigned int Temp;
+    
+    
+    	sprintf((Time),"%d       %d\r\n",  Spi.DAC_B,   PlcWormDeltaout);
+        WriteCon(Time);
+  
+   /* sprintf((Time),"%d\r\n",convertStrToTime(__DATE__));
+    WriteCon(Time);*/
+    
+    
+    
     Gyro.ModeOut = 0;
     Gyro.Device_Mode = 0;
          for(int q=0; q<64; q++)
@@ -376,7 +469,7 @@
     BuffTemp[0] =  Gyro.SOC_Out;
     BuffTemp[1] =  Gyro.My_Addres;
 
-    Temp = 0xffff; //Gyro.Firmware_Version;    
+    Temp = Gyro.Firmware_Version;//17543; //Gyro.Firmware_Version;    
     BuffTemp[2] =  (Temp >> 0) & 0xff;
     BuffTemp[3] =  (Temp >> 8) & 0xff; 
 	
@@ -631,6 +724,10 @@
 
 void CMD_Rate(void)
 { 
+
+
+    
+ 
     Gyro.Rate1_Event=0;
    	unsigned int Temp;
    	int Temp1;
@@ -642,20 +739,19 @@
     BuffTemp[ 2] =(  Gyro.CaunPlusReper   >> 8) & 0xff;//старший байт счетчика +.		3 --сарший байт счентчика +
     BuffTemp[ 3] =(  Gyro.CaunPlusReper   >> 0) & 0xff;//младший байт счетчика +.		4 --младший байт счетчика +
  
-    BuffTemp[ 4] =(	  Gyro.CaunMinReper  >> 8) & 0xff;//старший байт счетчика -.			5 --сарший байт счентчика -
-    BuffTemp[ 5] =(	  Gyro.CaunMinReper  >> 0) & 0xff;//младший байт счетчика -.			6 --младший байт счетчика -
+    BuffTemp[ 4] =(	 Gyro.CaunMinReper  >> 8) & 0xff;//старший байт счетчика -.			5 --сарший байт счентчика -
+    BuffTemp[ 5] =(	 Gyro.CaunMinReper  >> 0) & 0xff;//младший байт счетчика -.			6 --младший байт счетчика -
 
-	
 		Gyro.CuruAngle = Gyro.CuruAngle + OldCuruAngle; 						//(72 град/с)
 		OldCuruAngle=Gyro.CuruAngle & 0x3f;										//сохраняем 5 бит для след измирений 
 		Temp=Gyro.CuruAngle>>6;                                          	//приводим к форме вывода
 
-    
+    Gyro.AngelCompens=0;
     Gyro.CuruAngle = 0;
     BuffTemp[ 6] =(Temp >> 8) & 0xff;//старший байт разности счетчиков			7 --младший байт разности счетчиков
     BuffTemp[ 7] =(Temp >> 0) & 0xff;//младший байт разности счетчиков			8 --старший байт разности счетчиков
 
-  
+
     BuffTemp[38] =(Temp >> 24) & 0xff;;															//39 приращение угла
     BuffTemp[39] =(Temp >> 16) & 0xff;;															//40 формат 22.10
     BuffTemp[40] =(Temp >> 8)  & 0xff;;															//41 1бит знак
@@ -671,11 +767,7 @@
 	BuffTemp[10] = (Temp1 >> 8) & 0xff;//выход регулятора гвч;					11 --выход регулятора ГВЧ
     BuffTemp[11] = (Temp1 >> 0) & 0xff;										  //12 --выход регулятора ГВЧ
    
-   
-   /*
-    if(Gyro.LG_Type) Temp =(int)(tempDeltaRegul);
-    else  Temp =(unsigned int)((0x7fff-Spi.ADC5)*0.79)<<1;*/
-    
+
     Temp =(int)(tempDeltaRegul);                                                 //для призмы
     tempDeltaRegul=0;
     BuffTemp[12]=(Temp >> 8) & 0xff;//// HFO									13 --сигнал ошибки регулятора ГВЧ
@@ -1191,7 +1283,10 @@
     	int a=0;
     	
     	
-    	
+   	if (Time[0] == 'r') 
+                	{			//Mod 250 Hz 		PLCRegul250();
+				//		InitPlcFilt ()   ;
+                  	}
     	
     	              if (Time[0] == 'y') 
                 	{			//Mod 250 Hz 		PLCRegul250();
@@ -1206,181 +1301,18 @@
              if (Time[0] == 'C') Spi.DAC_A+=32;
              if (Time[0] == 'c') Spi.DAC_A-=32;
              
-              if (Time[0] == 'k') PLC_ERR_DAC_F = 0;
-              
+          
              if (Time[0] == 'V') Spi.DAC_A+=160;
              if (Time[0] == 'v') Spi.DAC_A-=160;
             
-             if (Time[0] == 'X') Spi.DAC_B+=2000;
-             if (Time[0] == 'x') Spi.DAC_B-=2000;
+             if (Time[0] == 'X') Spi.DAC_B+=1653;
+             if (Time[0] == 'x') Spi.DAC_B-=1653;
+             if (Time[0] == 'Z') Spi.DAC_B+=3306;
+             if (Time[0] == 'z') Spi.DAC_B-=3306;
 /////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////
 //////////////////////Выбор FlashMod///////////////////////////
 ////////////////////////////////////////////////////////////////
- /* 
-            if (Time[0] == 'B') Gyro.FlashMod=1;  
-            if (Time[0] == 'R') {Gyro.FlashMod=3;}
-            if (Time[0] == 'E') {Gyro.FlashMod=4;}
-///////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-
-
-
-
-           if (Time[0] == 'f') {		// выдача технологическая
-               Gyro.ModAmp += 1;
-            sprintf((Time),"%d \r\n",  Gyro.ModAmp);
-    		WriteCon(Time);
-            }
-            if (Time[0] == 'd') {		// выдача технологическая
-               Gyro.ModAmp -= 1;
-               sprintf((Time),"%d \r\n",  Gyro.ModAmp);
-    		   WriteCon(Time);
-            }
-             if (Time[0] == 'V') {		// выдача технологическая
-                F_vib += 1;
-                 LPC_MCPWM->LIM1 = F_vib;
-  				 LPC_MCPWM->LIM2 = F_vib;       
-  				sprintf((Time),"%d \r\n", F_vib);
-    		   WriteCon(Time);
-  				  }
-             if (Time[0] == 'v') {		// выдача технологическая
-              F_vib -= 1;
-               LPC_MCPWM->LIM1 = F_vib;
-   				 LPC_MCPWM->LIM2 = F_vib;
-   				 
-             }       
-             
-             
-             
-
-             
-             
-             
-             if (Time[0] == 'p') {		// выдача технологическая
-              // PlcOFF //Gyro.RgConA&0x8=0;
-              
-               if(Gyro.LogMod) Gyro.LogMod=0;
-               else  Gyro.LogMod=5;
-              // MODFlag=1;
-            //   Spi.DAC_B = 32767;
-            }
-             if (Time[0] == 'o') {		// выдача технологическая
-             if(TypeMod==0)TypeMod=5;
-             else              TypeMod=0;
-             
-            //   Spi.DAC_B = 32000;
-             } 
-             if (Time[0] == 'h') 
-            {		// выдача технологическая
-               for(int q=0; q<64; q++)
-            		{
-                	sprintf((Time),"%i \r\n",(BuffADC_znak[q]));
-    	   			WriteCon(Time);
-            		}
-            	
-            }       
-             
-
-            if (Time[0] == 'b') 
-            {		// выдача технологическая
-            	sprintf((Time),"10000 \r\n");
-    	   		WriteCon(Time);
-               for(int q=0; q<64; q++)
-            		{
-                  	
-                  	if(((CountV255+q)&0xff)==0)
-                  	{
-                  	sprintf((Time),"12000 \r\n");
-    	   			WriteCon(Time); 
-    	   			}
-    	   			else
-    	   			{	
-                  	sprintf((Time),"%d \r\n",	BuffADC_1Point[(CountV64+q)&0xff] );
-    	   			WriteCon(Time); 
-    	   			}	
-    	   			
-                	
-                	}
-            } 
-             
-                    if (Time[0] == 'n') 
-            {		// выдача технологическая
-               for(int q=0; q<64; q++)
-            		{
-                  	sprintf((Time),"%d   ", Buff_OUT[q]);
-    	   			WriteCon(Time); 
-    	   			sprintf((Time),"%d \r\n",ModArraySin[(q+Gyro.PLC_Phase)&0x3f]);
-    	   			WriteCon(Time); 
-    	   				
-                	}
-                	Spi.DAC_B+=500;
-            } 
-                    if (Time[0] == 'm') 
-            {		// выдача технологическая
-               for(int q=0; q<64; q++)
-            		{
-                  	sprintf((Time),"%d \r\n",	BuffADC_64Point[q] );
-    	   			WriteCon(Time); 	
-                	}
-            } 
-           
-
-            
-            
-            
-            
-          
-                         
-                if (Time[0] == 'u') 
-                	{		// выдача технологическая
-               		Gyro.ShowMod2=1;  //Mod vibro Hz 
-                  	}  
-                 if (Time[0] == 'U') 
-                	{		// выдача технологическая
-               		Gyro.ShowMod2=0;  //Mod vibro Hz 
-                  	}            
-                  
-  
-                if (Time[0] == 'f') 
-                	{		// выдача технологическая
-               		 Gyro.CuruAngleLog = 0;  //Mod vibro Hz 
-                  	}  
-                if (Time[0] == 'd') 
-                	{		// выдача технологическая
-               		 Gyro.CuruAngleLog = 1;  //Mod vibro Hz 
-                  	}  
-                if (Time[0] == 'l') 
-                {		// выдача технологическая
-                Gyro.My_Addres			= GyroP.Str.My_Addres; 								 //  Gyro.My_Addres			= 0; 
-   				Gyro.GLD_Serial 		= GyroP.Str.GLD_Serial;	    
-    	    	Gyro.FrqHZ				= GyroP.Str.FrqHZ;
-    			Gyro.Frq 				= GyroP.Str.FrqHZ<<16;
-    			Gyro.FrqHZmin 			= GyroP.Str.FrqHZmin<<16;
-    			Gyro.FrqHZmax			= GyroP.Str.FrqHZmax<<16;
-    			Gyro.FrqChengSpeed		= GyroP.Str.FrqChengSpeed;
-                Gyro.PLC_Gain			= GyroP.Str.PLC_Gain;
-                Gyro.PLC_Phase          = GyroP.Str.PLC_Phase;
-    			Gyro.ModAmp				= GyroP.Str.ModAmp;
-                Gyro.FrqPhase			= GyroP.Str.FrqPhase;
-    			Gyro.AmpPer				= GyroP.Str.AmpPer;
-    			Gyro.Amp    			= GyroP.Str.AmpPer<<16;
-    		    Gyro.AmpSpeed 			= GyroP.Str.AmpSpeed;
-    			Gyro.AmpPerDel			= GyroP.Str.AmpPerDel;
-    			temp=((GyroP.Str.VB_Fdf_Hi<<16) | GyroP.Str.VB_Fdf_Lo);
-    			temp=temp/18.2;
-    			Gyro.AmpTarget=(unsigned int)(temp);
-    			Gyro.AmpPerMin 			= GyroP.Str.AmpPerMin;
-    			Gyro.AmpPerMax 			= GyroP.Str.AmpPerMax;
-    			Gyro.AmpMin 			= GyroP.Str.AmpMin;
-    			Gyro.AmpTD  			= GyroP.Str.AmpTD;
-                Spi.DAC_A = GyroP.Str.DAC_current_Work;
-    			Gyro.Gain_Sin 			= GyroP.Str.Gain_Sin;
-    			Gyro.Gain_Cos 			= GyroP.Str.Gain_Cos;
-    			Out_G_photo(Gyro.Gain_Sin, Gyro.Gain_Cos); 
-                }
-             */    
            
       }
 }