fork

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
190:289514f730ee
Parent:
189:8a16378724c4
Child:
191:40028201ddad
--- a/vibro.c	Mon Aug 22 10:39:08 2016 +0000
+++ b/vibro.c	Tue Aug 23 14:03:16 2016 +0000
@@ -3,48 +3,37 @@
 GyroParam GyroP;
 
 volatile unsigned int Cheng_AMP_Flag=0;
-int    reper=0;
+//int    reper=0;
 int    Rate2VibFlag;
-void Discharg ()//проверка битового поля поджига  и  установка значения бита поджига
-{
-	 if (Gyro.Discharg)
-	  {
-	 	 //Проверка здвигового поля(последовательности) поджига
-         //если последний бит 1 то установить бит поджига в еденицу, иначе в 0;
-         if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD; else Gyro.PinReg &= ~PinRegBitD;
-         Gyro.Discharg = Gyro.Discharg >> 1; 
-      }
-}
-void BackLight ()
-{
-	 if (Gyro.BackLight) 
-	 {	
-	     //Проверка здвигового поля(последовательности) подсветки
-         //если последний бит в битовом поле 1 то установить бит подсветки в еденицу, иначе в 0;
-         if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL;
-         Gyro.BackLight = Gyro.BackLight >> 1;
-     }
-}
+
 void VibroOut(void) 	// выставка ног вибро
 {
-    if(CountV31>=16) {//первая нога вибро
+    if(CountV31>=16) 
+      {//первая нога вибро
          // левая граница вЫкл вибро 1 > Time_vibro <ПРАВАЯ  граница вЫкл вибро 1
-        if((Time_vibro>Gyro.AmpN1) && (Time_vibro<Gyro.AmpN2))	{
+        if((Time_vibro>Gyro.AmpN1) && (Time_vibro<Gyro.AmpN2))	
+        {
             Gyro.PinReg &= ~PinRegBit_1V;//установить в регистре PinReg бит "вибро 1" в "0"
-        } else {
+        } 
+        else 
+        {
             Gyro.PinReg |= PinRegBit_1V;//установить в регистре PinReg бит "вибро 1" в "1"
         }
 
-    } else {//вторая нога вибро
-        if((Time_vibro>Gyro.AmpN1)&&(Time_vibro<Gyro.AmpN2))	{
-            Gyro.PinReg &= ~PinRegBit_2V; /*LoopOff*////установить в регистре PinReg бит "вибро 2" в "0"
-        } else {
+      } 
+    else {//вторая нога вибро
+        if((Time_vibro>Gyro.AmpN1)&&(Time_vibro<Gyro.AmpN2))	
+        {
+            Gyro.PinReg &= ~PinRegBit_2V; //установить в регистре PinReg бит "вибро 2" в "0"
+        } 
+        else
+        {
             Gyro.PinReg |= PinRegBit_2V;//установить в регистре PinReg бит "вибро 2" в "1"
         }
     }
 }
 
-void CalcAmpN(void)
+void CalcAmpN(void)//расчет точек старта и стопа импульса вибропривода и расчет частоты ошумления.
 {
     
     static int PeriodCount = 0;
@@ -71,7 +60,7 @@
            
          Nmax    =  (unsigned int)((100000/(Gyro.Frq>>16))-1);      
          Gyro.AmpN1=(unsigned int)((Nmax*(100-Gyro.AmpPer+Gyro.AmpPerDel))/(Gyro.Frq>>16));//левая граница амплитуды
-         Gyro.AmpN2=(unsigned int)((Nmax/2)-Gyro.AmpN1);                        //правая граница амплитуды
+         Gyro.AmpN2=(unsigned int)((Nmax/2)-Gyro.AmpN1);                                   //правая граница амплитуды
          
          Cheng_AMP_Flag=0;       
         }
@@ -95,14 +84,13 @@
 {
    	Gyro.CaunPlus = CaunAddPlus;//амплитуда по модулю из востановленного синиуса Buff_Restored_sin
 	CaunAddPlus = 0;
-	Gyro.CaunMin  = CaunAddMin;//амплитуда по модулю из востановленного синиуса Buff_Restored_sin
+	Gyro.CaunMin  = CaunAddMin; //амплитуда по модулю из востановленного синиуса Buff_Restored_sin
 	CaunAddMin = 0;
 			
-  	Gyro.MaxAmp = Gyro.CaunPlus + Gyro.CaunMin;//расчет максимальной амплитуды из востановленного синуса р-р.
+  	Gyro.MaxAmp = Gyro.CaunPlus + Gyro.CaunMin;          //расчет максимальной амплитуды из востановленного синуса р-р.
     Gyro.Amp   -= (Gyro.MaxAmp - 3000) * Gyro.AmpSpeed;  // расчет амплитуды ВП с учетом разници
-    /*
-    if((Gyro.Amp>>16) > Gyro.AmpPerMax)   {Gyro.Amp = (Gyro.AmpPerMax << 16);}   // временное ограничение роста амплитуды ВП в случае неподоженного гироскопа//////////
-    if((Gyro.Amp>>16) > Gyro.AmpPerMin)   {Gyro.Amp = (Gyro.AmpPerMin << 16);}*/   // временное ограничение роста амплитуды ВП в случае неподоженного гироскопа//////////*/
+/*if((Gyro.Amp>>16) > Gyro.AmpPerMax)   {Gyro.Amp = (Gyro.AmpPerMax << 16);}   // временное ограничение роста амплитуды ВП в случае неподоженного гироскопа//////////
+  if((Gyro.Amp>>16) > Gyro.AmpPerMin)   {Gyro.Amp = (Gyro.AmpPerMin << 16);}*/   // временное ограничение роста амплитуды ВП в случае неподоженного гироскопа//////////
     if(Gyro.RgConA&0x20)     {Gyro.AmpPer = Gyro.Amp>>16;} //приведение амплитуды ВП к виду 0%-100%
     
 }
@@ -119,7 +107,7 @@
 }
 
 //////////////////////////////////////////////////////////////////////////////
-/////////////////////////функция работы вибропривода//////////////////////////
+/////////////////////////основного 32 тактного цикла//////////////////////////
 //////////////////////////////////////////////////////////////////////////////
 void cheng(void)
 {