fork

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
208:19150d2b528f
Parent:
205:775d54fdf646
Child:
209:224e7331a061
--- a/pin.c	Fri Jan 13 08:27:28 2017 +0000
+++ b/pin.c	Tue Feb 07 10:11:35 2017 +0000
@@ -1,5 +1,6 @@
 #include "Global.h"
-
+int Try=0,TimeDischarg=0;
+int Light=0;
 void PinCheng(void)
 {
 //================ блок управления ногой поджига======================
@@ -21,8 +22,6 @@
     if((Gyro.PinReg & PinRegBit_2V) != (Gyro.PinRegOld & PinRegBit_2V)) {
         if(Gyro.PinReg & PinRegBit_2V) ClrV2  else SetV2
             }
-
-
        */    
             
 if((Gyro.PinReg & PinRegBitTXE) != (Gyro.PinRegOld & PinRegBitTXE)) {
@@ -33,22 +32,65 @@
 
 
 void Discharg ()//проверка битового поля поджига  и  установка значения бита поджига
-{
+{   
+   /* sprintf((Time),"%d %d\r\n",Gyro.RgConA, Gyro.RgConB);
+    WriteCon(Time);  */
+      
      if (Gyro.Discharg)
-      {Gyro.Discharg = Gyro.Discharg >> 1;
+      {   
+          Spi.DAC_A = GyroP.Str.DAC_current_Start;
+          Gyro.Discharg = Gyro.Discharg >> 1;
+          Gyro.RgConA = 0x0000;
+          Gyro.RgConB = 0x0000;
          //Проверка здвигового поля(последовательности) поджига
          //если последний бит 1 то установить бит поджига в еденицу, иначе в 0;
-         if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD; else Gyro.PinReg &= ~PinRegBitD;
-          
+          if (Gyro.Discharg & 0x1) Gyro.PinReg |= PinRegBitD; 
+          else Gyro.PinReg &= ~PinRegBitD;
       }
+      else if(TimeDischarg<3)
+      {
+       TimeDischarg++;
+         if(TimeDischarg==1)
+         {
+                if (Spi.ADC5>25000)
+                  { 
+                  if (Try<10)
+                     {  
+                      Gyro.Discharg =  StartDischarg  << ShiftStart0;
+                      Gyro.BackLight = StartBackLight << ShiftStart0;
+                      TimeDischarg=0;
+                      Try++;
+                     }
+                  }
+                 else
+                  { 
+                    Spi.DAC_A = GyroP.Str.DAC_current_Work;
+                    Gyro.LaserOn=1;
+                    Gyro.RgConA = 0xffff;
+                    Gyro.RgConB = 0xffff;
+                    TimeDischarg=5;
+                    Try=0;
+                  }
+          } 
+       } 
+       else
+       {
+          /* if(Spi.ADC5>30000) { Gyro.LaserOn=0;  Gyro.RgConA = 0x0;  Gyro.RgConB = 0x0;}
+           else 
+                {  
+                  //Gyro.RgConA = 0xffff;
+                 // Gyro.RgConB = 0xffff;
+                  Gyro.LaserOn=1;
+                  Try=0;
+                }*/
+       }   
 }
 void BackLight ()
 {
      if (Gyro.BackLight) 
-     {   Gyro.BackLight = Gyro.BackLight >> 1;
+      {   Gyro.BackLight = Gyro.BackLight >> 1;
          //Проверка здвигового поля(последовательности) подсветки
          //если последний бит в битовом поле 1 то установить бит подсветки в еденицу, иначе в 0;
-         if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL;
-        
-     }
+         if (Gyro.BackLight & 0x1) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL;       
+      } 
 }
\ No newline at end of file