forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Revision:
196:f76dbc081e63
Parent:
195:bcc769f5292b
Child:
197:7a05523bf588
--- a/Command.c	Tue Sep 20 10:39:30 2016 +0000
+++ b/Command.c	Fri Sep 23 05:34:50 2016 +0000
@@ -76,17 +76,15 @@
  ///////////////end flah and boot///////////
  void M_RateA(void)
  {  
-    /*Gyro.Delta500_Event=0;
-    Gyro.DeltaEXT_Event=0;*/
     switch(Gyro.ModeOut) {
     case 1: if(Gyro.Rate1_Event ) 				CMD_Rate();  		 	  break;  
     case 2: if(Gyro.Reper_Event )				CMD_Rate2(); 			  break;    //Gyro.Reper_Event выставляется при переходе синуса из - в + 
-    case 3: if(Gyro.Delta500_Event ) 			CMD_Delta_PS();           break;   
-    case 4: if(Gyro.EXT_Latch ) 				CMD_Delta_PS();           break;   
-    case 5: if(Gyro.Delta_Bins_Event500 ) 		CMD_Delta_Bins();         break;   
+    case 3: if(Gyro.Event_500Hz ) 				CMD_Delta_PS();           break;   
+    case 4: if(Gyro.EXT_Latch   ) 				CMD_Delta_PS();           break;   
+    case 5: if(Gyro.Event_500Hz ) 				CMD_Delta_Bins();         break;   
     case 6: if(Gyro.B_Delta_EventEXT ) 			CMD_B_Delta();            break;      	
-    case 7: if(Gyro.B_Delta_Event500 ) 			CMD_B_Delta();            break;      	
- }
+    case 7: if(Gyro.Event_500Hz ) 				CMD_B_Delta();            break;      	
+    }
  }
  
 void CMD_M_Param_R(void)
@@ -142,7 +140,8 @@
 }
 void CMD_B_Delta(void)
 { 	
-	Gyro.B_Delta_Event500=0;
+	//Gyro.B_Delta_Event500=0;
+	Gyro.Event_500Hz=0;
  	Gyro.B_Delta_EventEXT=0;	
  	unsigned int Temp;
 	BuffTemp[ 0] = Gyro.SOC_Out;
@@ -159,8 +158,8 @@
 }
 
 void CMD_Delta_Bins(void)
-{
-	Gyro.Delta_Bins_Event500=0;
+{   Gyro.Event_500Hz=0;
+	//Gyro.Delta_Bins_Event500=0;
 	unsigned int Temp;
 	BuffTemp[ 0] = Gyro.SOC_Out;
     BuffTemp[ 1] = Gyro.My_Addres;
@@ -178,9 +177,9 @@
 }  
 void CMD_Delta_PS(void)
 {   
-    Gyro.Delta500_Event=0;
+    //Gyro.Delta500_Event=0;
     Gyro.EXT_Latch=0;
-    
+    Gyro.Event_500Hz=0;
     unsigned int Temp;
 	BuffTemp[ 0] = Gyro.SOC_Out;
     BuffTemp[ 1] = Gyro.My_Addres;
@@ -379,14 +378,14 @@
 Temp=Gyro.CuruAngle;												//(0,28/с)
  
  //8 байт       + 4 байта от прошлых измерений
- // Gyro.CuruAngle = Gyro.CuruAngle + OldCuruAngle; 								//(72 град/с)
+//Gyro.CuruAngle = Gyro.CuruAngle + OldCuruAngle; 								//(72 град/с)
 /*  OldCuruAngle=Gyro.CuruAngle & 0xff;											//сохраняем 4 байта для след измирений
   Temp=Gyro.CuruAngle>>8; 		*/											//приводим к форме вывода 
- 	/*														
- 																				//(9 град/с)
+ 														
+ 	/*																			//(9 град/с)
 OldCuruAngle=Gyro.CuruAngle & 0x1f;											//сохраняем 5 бит для след измирений 
-  Temp=Gyro.CuruAngle>>5; */                                                  //приводим к форме вывода
-  Gyro.CuruAngle = 0;
+Temp=Gyro.CuruAngle>>5;   */                                               //приводим к форме вывода
+Gyro.CuruAngle = 0;
     BuffTemp[ 6] =(Temp >> 8) & 0xff;//старший байт разности счетчиков
     BuffTemp[ 7] =(Temp >> 0) & 0xff;//младший байт разности счетчиков
 
@@ -722,20 +721,20 @@
                   switch(TempParam) {
   				  case  Delta_500  :  CMD_Delta_PS();		 	    			break;  
 				  case  Delta_EXT  :  CMD_Delta_PS();              				break;
-				  case  PDelta_500 :  Gyro.ModeOut=3; 		 	    			break;  
+				  case  PDelta_500 :  Gyro.ModeOut=3;   Gyro.Event_500Hz=0;		break;  
 				  case  PDelta_EXT :  Gyro.ModeOut=4;              				break;
 				 }
 	  break;
 	  case 0xB0:  DropDelay();	TempParam =	TempParam=(BuffTemp[3]>>7);	        //Delta_Bins
                   switch(TempParam) {
-  				  case  PDelta_Bins:  Gyro.ModeOut=5; 		 	    			break;  
+  				  case  PDelta_Bins:  Gyro.ModeOut=5;   Gyro.Event_500Hz=0;		break;  
 				  case  Delta_Bins :  CMD_Delta_Bins();             			break;
 				 }
 	  break;
   	  case 0x0F:   DropDelay(); TempParam = (((BuffTemp[3])>>4) & 0x9); 						//B_Delta
                   switch(TempParam) {
   				  case  PB_Delta_EXT: Gyro.ModeOut=6; 		 	  				break;  
-				  case  PB_Delta_INT: Gyro.ModeOut=7;             				break;
+				  case  PB_Delta_INT: Gyro.ModeOut=7;   Gyro.Event_500Hz=0; 	break;
 				  case  B_Delta_EXT:  CMD_B_Delta();		      				break;   
     			  case  B_Delta_INT:  CMD_B_Delta();              				break;   		
     			}
@@ -906,7 +905,17 @@
                 WriteCon(Time);
                 for (int i = 0; i < 32; i++ )sprintf((Time + i * 9)," <%05d> ",Buff_Restored_sin[i]);
                 WriteCon(Time);
-             }       
+                sprintf(Time,"\r\n");
+                WriteCon(Time);
+                for (int i = 0; i < 32; i++ )sprintf((Time + i * 9)," <%05d> ",Buff_Restored_sin2[i]);
+                WriteCon(Time);
+                sprintf(Time,"\r\n");
+                WriteCon(Time);
+                sprintf((Time)," %d %d \r\n ", Gyro.tempdelta2, Gyro.tempdelta);
+                WriteCon(Time);
+                Gyro.tempdelta2=0;
+                Gyro.tempdelta=0;
+                }       
              if (Time[0] == '7') {		// выдача технологическая
                 sprintf(Time,"\r\n");
                 WriteCon(Time);
@@ -957,13 +966,13 @@
             if (Time[0] == 'l')   Gyro.LogHZ = 0;           //Отключить передачу
        ////////////////////////////////////////////////////////////////////////////////////     
                       /*Запись лога регулировки периметра*/
-            if (Time[0] == 'g')  {Gyro.LogPLC=1; Gyro.PLC_Lern=0;}          //включит передачу
-            if (Time[0] == 'h')   Gyro.StrayPLC_flag = 1;  //LPC_TIM1->MR0+1000  вносим помеху +
-            if (Time[0] == 'j')   Gyro.StrayPLC_flag = 0;  //LPC_TIM1->MR0       убираем помеху  
+            if (Time[0] == 'g')   Gyro.LogPLC=1;                                 //включит передачу
+            if (Time[0] == 'h')   Gyro.LogPLC=2;                                //десперсионка
+            if (Time[0] == 'j')   Gyro.LogPLC=0;                                 //регулировка без выдачиж
             if (Time[0] == 'b')   Gyro.StrayPLC_flag = 3;  //LPC_TIM1->MR0-1000  вносим помеху -
             if (Time[0] == 'n')   Gyro.StrayPLC_flag = 2;  //LPC_TIM1->MR0+2500  большая помеха.  
             if (Time[0] == 'k')   Gyro.LogPLC = 0;         //Отключить передачу 
-            if (Time[0] == 'd')   Gyro.ModJump = 1;        //прыжок на воду +     
+            if (Time[0] == 'd')   Gyro.LogPLC=1;        //прыжок на воду +     
             if (Time[0] == 'f')   Gyro.ModJump = 2;        //прыжок на воду -  
             //if (Time[0] == 'z')   {Gyro.ModJump = 3; Spi.DAC_B = 0x3a98; }       //прообежать по всем модам.
       //////////////////////////////////////////////////////////////////////////////////////  
@@ -972,14 +981,14 @@
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //////G=1,K=0 в терменале 
 
-          if((Gyro.LogHZ == 1)&&(Gyro.Event_500Hz==1))	//Запись для Ориджина.		
+        /*  if((Gyro.LogHZ == 1)&&(Gyro.Event_500Hz==1))	//Запись для Ориджина.		
    		   {
     		 Gyro.Event_500Hz=0;
      		 sprintf((Time),"%d \r\n",Gyro.MaxAmp);
        		 WriteCon(Time);
     		}  
       
-         
+         */
             if (Time[0] == '8') {		// выдача технологическая
                 sprintf(Time,"\r\n");
                 WriteCon(Time);