Dmitry Kovalev / Mbed 2 deprecated LGstaandart

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers vibro.h Source File

vibro.h

00001 #ifndef VIBRO_H
00002 #define VIBRO_H
00003 
00004 #define ClrV1  LPC_GPIO1->FIOSET=(1<<25);
00005 #define SetV1  LPC_GPIO1->FIOCLR = (1<<25);
00006 
00007 #define TXOn  LPC_GPIO2->FIOSET=(1<<7);
00008 #define TXOff LPC_GPIO2->FIOCLR = (1<<7);
00009 
00010 #define  ClrV2 LPC_GPIO1->FIOSET = (1<<28);
00011 #define  SetV2 LPC_GPIO1->FIOCLR = (1<<28);
00012 
00013 #define  LoopOn  LPC_GPIO1->FIOSET  = (1<<30);
00014 #define  LoopOff LPC_GPIO1->FIOCLR  = (1<<30);
00015 #define  StartV1  0
00016 #define  StartV2 15
00017 #define  TIME_INTERVAL  (7812)
00018 
00019  
00020 #define  Rate1       0x01    
00021 #define  Rate2       0x02  
00022 #define  Rate3       0x3 
00023 #define  Rate7       0x7
00024 
00025 #define  PRate1      0x81
00026 #define  PRate2      0x82
00027 #define  PRate3      0x83 
00028 #define  PRate7      0x87  
00029 #define  PRate5K     0x94
00030 #define  Rate5K      0x14
00031  
00032 ////////////////////////////////////////////////////////
00033 ////Дефайны для декодирования запроса параметров Rate///
00034 ////////////////////////////////////////////////////////
00035    #define   Delta_500   0x20
00036    #define   Delta_EXT   0x0
00037    
00038    #define  Delta_PS_INT   0x80
00039    #define  Delta_PS_EXT   0x0
00040    
00041    
00042    
00043    #define  PDelta_500   0x90
00044    #define  PDelta_EXT   0x10
00045    
00046    
00047    #define   Delta_Bins  0x0
00048    #define  PDelta_Bins  0x1
00049    
00050    
00051    #define  PB_Delta_EXT 0x9
00052    #define   B_Delta_EXT 0x1
00053    #define  PB_Delta_INT 0x8
00054    #define   B_Delta_INT 0x0
00055 ///////////////////////////////////////////////////////////   
00056   
00057 #define FrqOFF  Gyro.RgConA &= ~AFRQ;   //установить контур регулировки частоты в "0"
00058 #define FrqON   Gyro.RgConA |=  AFRQ;   //установить контур регулировки частоты в "1"
00059 
00060   
00061 #define AVibOFF  Gyro.RgConA &= ~AVBT;   //установить контур регулировки частоты в "0"
00062 #define AVibON   Gyro.RgConA |=  AVBT;   //установить контур регулировки частоты в "1"
00063 
00064 #define HFOOFF  Gyro.RgConA &= ~AHFO;  //установить контур накачки в "0"
00065 #define HFOON   Gyro.RgConA |= AHFO;   //установить контур накачки в "1"
00066 
00067 #define PlcOFF  Gyro.RgConA &= ~APLC;  //установить контур регулировки периметра в "0"
00068 #define PlcON   Gyro.RgConA |= APLC;   //установить контур регулировки периметра в "1"
00069   
00070 #define  AFRQ   (1<<6)
00071 #define  AVBT   (1<<5)
00072 #define  MPLC   (1<<4)  
00073 #define  APLC   (1<<3)  
00074 #define  AHFO   (1<<1)
00075 
00076     
00077 #define LedOFF  Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0"
00078 #define LedON   Gyro.PinReg |= PinRegBitLED;   //установить бит светодиода в "1"
00079 
00080 #define  StartBackLight       0xf
00081 #define  StartDischarg        0xc
00082 
00083 #define  PinRegBitTXE   (1<<5)
00084 #define  PinRegBitLED   (1<<4)
00085 #define  PinRegBitD     (1<<3)
00086 #define  PinRegBitL     (1<<2)
00087 #define  PinRegBit_2V   (1<<1)
00088 #define  PinRegBit_1V   (1<<0)
00089 
00090 #define  ShiftStart0       0x0
00091 #define  ShiftStart1       0x1
00092 #define  ShiftStart2       0x2
00093 #define  ShiftStart3       0x3
00094 
00095 #define DropDelayGLD_0 100
00096 #define DropDelayGLD_1 100
00097 #define DropDelayGLD_2 100
00098 #define DropDelayGLD_3 100
00099 
00100 
00101 extern int tempAMP;
00102 
00103 //int           qei;
00104 //int           QEIznak1,QEIznak2;
00105 //unsigned int  StrayHZ; //помеха
00106 //unsigned int  StrayHZ_flag;
00107 //int           flag;
00108 //unsigned int  StrayPLC_Pls; //помеха +
00109 //int           StrayPLC_Mns; //помеха -
00110 //unsigned int  StrayPLC_2Mode;
00111 //unsigned int  StrayPLC_flag;
00112 //unsigned int  ModJump;
00113 //unsigned int  TimJump;
00114 //unsigned int  flagGph_W;
00115 //unsigned int  Test_time;
00116 //unsigned int  Test_time1;
00117 //unsigned int Rate1_Flag;  
00118 //unsigned int Rate2_Flag;
00119 //int AmpSC;//переменная для других ошумлений
00120 //unsigned int Delta500_Event;
00121 //unsigned int Delta_Bins_Event500;
00122 //unsigned int B_Delta_Event500;
00123 //float Ktermo;
00124 //unsigned int EventMOD;    
00125 //контур регулеровки Периметра    "PLC" - без модулятора
00126 //int PLC_Delta;                        // разница между старым и новым показаниями
00127 //int PLC_DeltaADD;                     // разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП
00128 //int PLC_Old;
00129 //int PLC_ADC_DOld;     
00130 //int PlC_MaxD;                       // разница между максимальной и текущей амплитудами.
00131 //int PLC_Regul;
00132 //int Num;
00133 //int StopCuruAngle;
00134 //unsigned int DeltaEXT_Event;  // вывод параметров типа Rate по внешней защелке.
00135 //unsigned int B_Delta_EventEXT;// вывод параметров типа Rate по внешней защелке.(надо чтоб от одного влага было, как Event_500Hz)
00136 
00137 typedef struct _Gyro {
00138        
00139        
00140            unsigned int TimeToJump;                                                                 //5
00141            unsigned int JumpDelta; 
00142            
00143            unsigned int ShowMod2;
00144            int Debag; 
00145            int Debag2; 
00146            unsigned int UARTFlag; 
00147            unsigned int PLC_Start; 
00148            unsigned int LG_Type; 
00149            unsigned int LogPLC;                                                     // 1
00150            unsigned int Log;
00151            unsigned int LogMod;                                                     // 2
00152            unsigned int PLC_Phase;
00153            int PLC_Gain;    
00154            unsigned int PLC_Lern;                                                   // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
00155            int  PLC_Eror; 
00156            int  PLC_Eror_Rate;  
00157            int  PLC_Eror_count;
00158            int  PLC_regul;
00159            unsigned int ModAmp;                                                     // 4 амплитуда модулятора
00160            unsigned int ShiftMod;   
00161            
00162            unsigned int FlashMod;                                                   // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
00163            unsigned int ModeOut;                                                    // 6 переменная для выбора варианта вывода параметров типа Rate.
00164           
00165            unsigned int Rate1_Event;                                                    // 7 событие 1с для вывода параметров Rate 1
00166            unsigned int Rate3_Event;
00167            unsigned int Reper_Event;                                                // 8 событие для вывода набора параметров типа Rate по меандру.
00168            unsigned int Event_500Hz;
00169            unsigned int EvenRate7;
00170            unsigned int EvenRate5K;
00171         
00172            int DAC_current_Work;                                            //3
00173            int DAC_current_Start;                                           //4 стартовый ток накачки?
00174            int HFO_ref; 
00175            int HFO_Min;
00176            int HFO_Max;
00177            unsigned int HFO_Gain;
00178            unsigned int RgConA;                                                     // 9 регистр управления ГЛД
00179            unsigned int RgConB;                                                     //10 регистр управления ГЛД
00180            unsigned int RgConMod;
00181     
00182            unsigned int Gain_Sin;                                                   //11 коиф усиления синуса.
00183            unsigned int Gain_Cos;                                                   //12 коиф усиления косинуса.
00184            unsigned int FrqPhase;
00185            unsigned int FrqPhaseEror;
00186            unsigned int Frq;                                                        //13 Непосредственное значение частоты для таймера.
00187            unsigned int FrqHZ;                                                      //14 Частота в Гц.
00188            unsigned int FrqHZmin;                                                   //15 Мин значение частоты ВП
00189            unsigned int FrqHZmax;                                                   //16 Мах  значение частоты ВП
00190            unsigned int FrqChengSpeed;                                              //17 скорость регулировки  частоты ВП
00191            unsigned int L_vibro;    
00192            
00193            unsigned int VibroFrqRegulF;                                             //18 флаг регулировки частоты ВП
00194            unsigned int VibroAMPRegulF;                                             //19 флаг регулировки амплитуды ВП
00195            unsigned int VibroNoiseF;                                                //20 флаг ошумления амплитуды ВП
00196            unsigned int VibroOutF;                                                  //21 флаг изменения состояния ножек вибро.
00197            unsigned int LowVibroFlag;
00198            unsigned int ClrVFlag; 
00199             
00200            unsigned int Amp;                                                        //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
00201            unsigned int AmpPer;                                                     //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16    ;
00202            unsigned int AmpT;                                                       //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
00203            unsigned int AmpMin;                                                     //25 минимальное  значение AmpT(частота ошумления);
00204            unsigned int AmpTD;                                                      //26 диапозон частоты ошумления(частота ошумления);
00205           
00206            unsigned int AmpPerMin;                                                  //27 ограничение минимальной  амплитуды ВП
00207            unsigned int AmpPerMax;                                                  //28 ограничение максимальной амплитуды ВП
00208            unsigned int AmpSpeed;                                                   //29 коиффициент сорости регулировки амплитуды
00209            unsigned int AmpTarget;                                                  //30 целевая амплитуда ВП к которой стремится регулировка.
00210            unsigned int AmpPerDel;                                                  //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
00211            unsigned int AmpN1;                                                      //32 левая граница импулься ВП
00212            unsigned int AmpN2;                                                      //33 правая граница импулься ВП
00213            unsigned int F_ras;                                                      //34 частота расщипления 
00214            unsigned int F_rasAdd;                
00215            int          MaxAmp;                                                     //35 амплитуда Пик-Пик расчтитанная по востановленному синусу. 
00216         
00217         //ЭНКОДЕР
00218            int CaunPlus;                                                            //36 счетчик +
00219            int CaunMin; 
00220                                                                                     //37 счетчик -  
00221            int CaunPlusRateAdd;                                                         //36 счетчик +
00222            int CaunMinRateAdd;
00223            int CaunPlusRate;                                                            //36 счетчик +
00224            int CaunMinRate;
00225            
00226            int CaunPlusReperAdd;                                                            //36 счетчик +
00227            int CaunMinReperAdd;
00228            int CaunPlusReper;                                                           //36 счетчик +
00229            int CaunMinReper;
00230         // данные АЦП
00231            unsigned int TermoNKU;                                                   //38
00232            unsigned int Termo;                                                      //39 значение АЦП
00233            unsigned int DeltaT;                                                     //40
00234             int In1;                                                        //41
00235             int In2;                                                        //42
00236            int Tmp_OffsetT4;                                                        //47
00237            int Tmp_OffsetT5;  
00238            float Tmp_scaleT4;                                                       //53                        
00239            float Tmp_scaleT5;                                                       //54
00240         
00241            unsigned int ADF_Accum;                                                  //43 Значенее амплитудного детектора Временное
00242            unsigned int ADS_Accum;
00243            unsigned int IN1_Accum;      
00244            unsigned int IN2_Accum;  
00245            unsigned int DacIn;                                                      //44 Значенее амплитудного детектора Временное
00246            unsigned int ADS_AccumTermLM;                                            //45
00247            unsigned int TermLM;                                                     //46
00248            unsigned int ADF_Count;  
00249            unsigned int ADM_Count;                                                  //47 Значенее времени накопления данных
00250            unsigned int ADS_Count;                                                  //48 Значенее времени накопления данных
00251            unsigned int AD_Fast;                                                    //49 Значенее амплитудного детектора       сдвинутое на 16 бит
00252            unsigned int AD_Slow;                                                    //50 Значенее амплитудного детектора       сдвинутое на 16 бит
00253            unsigned int ADF_NewData;                                                //51 есть данные после фильтрации в быстром фильтре     
00254            unsigned int ADS_NewData;                                                //52 -----------/----------/----------/--------
00255          
00256          
00257            int DownTreshold;                                                                //27
00258            int HighTreshold;    
00259            int PLCDelay;    
00260            int ResetLevelCool;                                                              //105
00261            int ResetLevelHeat;          
00262          
00263          
00264            int PLC_Error2Mode;                                                      //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
00265         
00266            unsigned int CMD_In;                                                     //54 входящая команда
00267            unsigned int SOC_Out;                                                    //55
00268            unsigned int My_Addres;                                                  //56 адрес прибора
00269            unsigned int DropDelayGLD;                                               //57 задержка для мультидропа (дискрета 100кГц)
00270            
00271            unsigned int GLD_Serial;                                                 //58 серийный номер прибора
00272            unsigned int CRC;                                                        //59 контрольная сумма посылки
00273            unsigned int Firmware_Version;                                           //60 версия программы
00274            unsigned int RsErrLine;                                                  //61 регистр ошибок передачи.
00275            unsigned int Device_Mode;
00276            int CuruAngle;   
00277            int CuruAngle32;                                                             //62 текущеий угол.
00278            int CuruAngle64;
00279            int CuruAngle96;
00280            int CuruAngle128;
00281            int OldCuruAngle;                                                        //63 старый угол
00282            int CuruAngleLog;
00283            int  Cnt_Dif;                                                            //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
00284             
00285            unsigned int PinReg;                                                     //65          bit4             bit3                  bit 2                 bit1                 bit0
00286            unsigned int PinRegOld;                                                  //66  || светодиод || состояние поджига  || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
00287         
00288            unsigned int Discharg;                                                   //67 последовательность бит харрактеризующая форму сигнала поджига.
00289            unsigned int BackLight;                                                  //68 последовательность бит харрактеризующая форму сигнала подсветки.
00290            unsigned int LaserOn;
00291            unsigned int EXT_Latch;                                                  //69
00292 } GyroT, *Gyro_p;
00293 extern GyroT Gyro;
00294 
00295 typedef  union {
00296     int Array[248];
00297     struct {
00298                         unsigned int My_Addres;                                 //0 адрес прибора
00299                         unsigned int HFO_ref;                                   //1
00300                         unsigned int HFO_Gain;                                  //2
00301                         unsigned int DAC_current_Work;                          //3    HFO_MIN
00302                         unsigned int DAC_current_Start;                         //4    HFO_MAX
00303 
00304 unsigned int TimeToJump;                                                                //5
00305 unsigned int JumpDelta;                                                                 //6
00306 
00307 unsigned int PLC_Phase;                                                         //7
00308 int PLC_Gain;                                                           //8
00309 
00310                         unsigned int PLCDelay;                                  //9
00311                         
00312                         
00313                         unsigned int DownTreshold;                                      //10
00314                         unsigned int HighTreshold;                                      //11
00315                         
00316                         
00317                         unsigned int FrqPhase;                                  //12 фаза
00318                         unsigned int FrqChengSpeed;                             //13 скорость регулировки  частоты ВП                       
00319                         unsigned int FrqHZ;                                     //14
00320                         unsigned int FrqHZmin;                                  //15
00321                         unsigned int FrqHZmax;                                  //16
00322                         unsigned int VB_Fdf_Hi;                                 //17
00323                         unsigned int VB_Fdf_Lo;                                 //18
00324                         unsigned int AmpSpeed;                                  //19
00325                         unsigned int AmpPerMin;                                 //20
00326                         unsigned int AmpPerMax;                                 //21
00327                         unsigned int AmpPer;                                    //22
00328                         unsigned int AmpMin;                                    //23 минимальное  значение AmpT(частота ошумления);
00329                         unsigned int AmpTD;                                     //24 диапозон частоты ошумления(частота ошумления);
00330                         unsigned int AmpPerDel;                                 //25 амплитуда ошумления
00331 unsigned int a9;                                                                //26
00332 int a10;                                                                        //27
00333 int a11;                                                                        //28
00334 unsigned int a12;                                                               //29
00335                         unsigned int LG_Type;                                   //30
00336                         int  ResetLevelHeatAAA;                                 //31
00337 unsigned int a15;                                                               //32
00338 unsigned int ShiftMod;                                                          //33
00339                         unsigned int ModAmp;                                    //34 амплитуда модулятора
00340                         
00341 unsigned int a17;                                                               //35
00342 unsigned int a18;                                                               //36
00343 unsigned int a19;                                                               //37
00344 unsigned int a20;                                                               //38
00345                         int ResetLevelCoolAAA;                                      //39
00346 unsigned int a22;                                                               //40
00347 unsigned int a23;                                                               //41
00348 unsigned int a24;                                                               //42    
00349 unsigned int a25;                                                               //43
00350 unsigned int a26;                                                               //44
00351 unsigned int a27;                                                               //45
00352 unsigned int a28;                                                               //46
00353                     
00354                         unsigned int Tmp_OffsetT4;                              //47
00355                         unsigned int Tmp_OffsetT5;                              //48
00356 
00357 unsigned int a29;                                                               //49
00358 unsigned int a30;                                                               //61 0 - Mirror 1 - Prizm.
00359 unsigned int a32;                                                               //51
00360 unsigned int a33;                                                       //52
00361 
00362                         unsigned int Tmp_scaleT4;                               //53                        
00363                         unsigned int Tmp_scaleT5;                               //54
00364 
00365                     unsigned    int /*RLH*/ResetLevelHeat;                                              //55 
00366                         
00367                         unsigned int Gain_Sin;                                  //56 коиф усиления синуса.
00368                         unsigned int Gain_Cos;                                  //57 коиф усиления косинуса.
00369                         unsigned int Header_Word;                               //58 Признак достоверности                      
00370                         unsigned int ParamMod;                                  //59
00371                         unsigned int GLD_Serial;                                //60 серийный номер прибора
00372                         
00373                         unsigned int PLC_Start;                                 //61 0 - Mirror 1 - Prizm.
00374 
00375                         unsigned int TermoMode;                                 //62 серийный номер прибора   
00376 
00377 unsigned int a36;                                                               //63
00378 unsigned int a37;                                                               //64
00379 unsigned int a38;                                                               //65
00380 unsigned int a39;                                                               //66
00381 unsigned int a40;                                                               //67
00382 unsigned int a41;                                                               //68
00383 unsigned int a42;                                                               //69
00384 unsigned int a43;                                                               //70
00385 unsigned int a44;                                                               //71
00386 unsigned int a45;                                                               //72
00387 unsigned int a46;                                                               //73
00388 unsigned int a47;                                                               //74
00389 unsigned int a48;                                                               //75
00390 unsigned int a49;                                                               //76
00391 unsigned int a50;                                                               //77
00392 unsigned int a51;                                                               //78    
00393 unsigned int a52;                                                               //79
00394 unsigned int a53;                                                               //80
00395 unsigned int a54;                                                               //81
00396 unsigned int a55;                                                                       //82 должен быть на 31
00397 unsigned int a56;                                                               //83
00398 unsigned int a57;                                                               //84
00399 unsigned int a58;                                                               //85
00400 unsigned int a59;                                                               //86
00401 unsigned int a60;                                                               //87
00402 unsigned int a61;                                                               //88
00403 unsigned int a62;                                                               //89
00404 unsigned int a63;                                                               //90
00405 unsigned int a64;                                                               //91
00406 unsigned int a65;                                                               //92
00407 unsigned int a66;                                                               //93
00408 unsigned int a67;                                                               //94
00409 unsigned int a68;                                                               //95
00410 unsigned int a69;                                                               //96
00411 unsigned int a70;                                                               //97
00412 unsigned int a71;                                                               //98    
00413 unsigned int a72;                                                               //99
00414 unsigned int a73;                                                               //100
00415 unsigned int a74;                                                               //101
00416 unsigned int a75;                                                               //102
00417 unsigned int a76;                                                               //103
00418 unsigned int a77;                                                               //104
00419 
00420                     unsigned     int /*RLC;*/ResetLevelCool;                                        //105 временно должен быть на 39
00421 
00422 unsigned int a79;                                                               //106
00423 unsigned int a80;                                                               //107
00424 
00425 unsigned int a81;                                                               //108   
00426 unsigned int a82;                                                               //109
00427 unsigned int a83;                                                               //110
00428 unsigned int a84;                                                               //111
00429 unsigned int a85;                                                               //112
00430 unsigned int a86;                                                               //113
00431 unsigned int a87;                                                               //114
00432 unsigned int FlashMod;                                                          //115
00433 unsigned int a89;                                                               //116
00434 
00435 unsigned int TSHeat0;                                                           //117
00436 unsigned int TSHeat1;                                                           //118   
00437 unsigned int TSHeat2;                                                           //119
00438 unsigned int TSHeat3;                                                           //120
00439 unsigned int TSHeat4;                                                           //121
00440 unsigned int TSHeat5;                                                           //122
00441 unsigned int TSHeat6;                                                           //123
00442 unsigned int TSHeat7;                                                           //124
00443 unsigned int TSHeat8;                                                           //125
00444 unsigned int TSHeat9;                                                           //126
00445 unsigned int TSHeat10;                                                          //127
00446 unsigned int TSHeat11;                                                          //128   
00447 unsigned int TSHeat12;                                                          //129
00448 unsigned int TSHeat13;                                                          //130
00449 
00450 unsigned int TermoDataHeat0;                                                    //131
00451 unsigned int TermoDataHeat1;                                                    //132   
00452 unsigned int TermoDataHeat2;                                                    //133
00453 unsigned int TermoDataHeat3;                                                    //134
00454 unsigned int TermoDataHeat4;                                                    //135
00455 unsigned int TermoDataHeat5;                                                    //136
00456 unsigned int TermoDataHeat6;                                                    //137
00457 unsigned int TermoDataHeat7;                                                    //138
00458 unsigned int TermoDataHeat8;                                                    //139
00459 unsigned int TermoDataHeat9;                                                    //140
00460 unsigned int TermoDataHeat10;                                                   //141
00461 unsigned int TermoDataHeat11;                                                   //142   
00462 unsigned int TermoDataHeat12;                                                   //143
00463 unsigned int TermoDataHeat13;                                                   //144
00464 unsigned int TermoDataHeat14;                                                   //145
00465 unsigned int TermoDataHeat15;                                                   //146
00466 unsigned int TermoDataHeat16;                                                   //147
00467 unsigned int TermoDataHeat17;                                                   //148
00468 unsigned int TermoDataHeat18;                                                   //149
00469 unsigned int TermoDataHeat19;                                                   //150
00470 unsigned int TermoDataHeat20;                                                   //151
00471 unsigned int TermoDataHeat21;                                                   //152   
00472 unsigned int TermoDataHeat22;                                                   //153
00473 unsigned int TermoDataHeat23;                                                   //154
00474 unsigned int TermoDataHeat24;                                                   //155
00475 unsigned int TermoDataHeat25;                                                   //156
00476 unsigned int TermoDataHeat26;                                                   //157
00477 unsigned int TermoDataHeat27;                                                   //158
00478 
00479 unsigned int Step;                                                              //159
00480 
00481 unsigned int TSCool0;                                                           //160
00482 unsigned int TSCool1;                                                           //161   
00483 unsigned int TSCool2;                                                           //162
00484 unsigned int TSCool3;                                                           //163
00485 unsigned int TSCool4;                                                           //164
00486 unsigned int TSCool5;                                                           //165
00487 unsigned int TSCool6;                                                           //166
00488 unsigned int TSCool7;                                                           //167
00489 unsigned int TSCool8;                                                           //168
00490 unsigned int TSCool9;                                                           //169
00491 unsigned int TSCool10;                                                          //170
00492 unsigned int TSCool11;                                                          //171   
00493 unsigned int TSCool12;                                                          //172
00494 unsigned int TSCool13;                                                          //173
00495 
00496 unsigned int TermoDataCool0;                                                    //174
00497 unsigned int TermoDataCool1;                                                    //175   
00498 unsigned int TermoDataCool2;                                                    //176
00499 unsigned int TermoDataCool3;                                                    //177
00500 unsigned int TermoDataCool4;                                                    //178
00501 unsigned int TermoDataCool5;                                                    //179
00502 unsigned int TermoDataCool6;                                                    //180
00503 unsigned int TermoDataCool7;                                                    //181
00504 unsigned int TermoDataCool8;                                                    //182
00505 unsigned int TermoDataCool9;                                                    //183
00506 unsigned int TermoDataCool10;                                                   //184
00507 unsigned int TermoDataCool11;                                                   //185   
00508 unsigned int TermoDataCool12;                                                   //186
00509 unsigned int TermoDataCool13;                                                   //187
00510 unsigned int TermoDataCool14;                                                   //188
00511 unsigned int TermoDataCool15;                                                   //189
00512 unsigned int TermoDataCool16;                                                   //190
00513 unsigned int TermoDataCool17;                                                   //191
00514 unsigned int TermoDataCool18;                                                   //192
00515 unsigned int TermoDataCool19;                                                   //193
00516 unsigned int TermoDataCool20;                                                   //194
00517 unsigned int TermoDataCool21;                                                   //195   
00518 unsigned int TermoDataCool22;                                                   //196
00519 unsigned int TermoDataCool23;                                                   //197
00520 unsigned int TermoDataCool24;                                                   //198
00521 unsigned int TermoDataCool25;                                                   //199
00522 unsigned int TermoDataCool26;                                                   //200
00523 unsigned int TermoDataCool27;                                                   //201
00524 
00525 /*
00526 unsigned int a84;                                                               //131
00527 unsigned int a85;                                                               //132
00528 unsigned int a86;                                                               //133
00529 unsigned int a87;                                                               //134
00530 unsigned int a88;                                                               //135
00531 unsigned int a89;                                                               //136
00532 
00533 
00534     
00535        unsigned int Firmware_Version;                                           //1 версия программы
00536        unsigned int DropDelayGLD;                                               //3 задержка для мультидропа (дискрета 100кГц)
00537        
00538        unsigned int Gain_Sin;                                                   //7 коиф усиления синуса.
00539        unsigned int Gain_Cos;                                                   //8 коиф усиления косинуса.
00540 
00541        unsigned int FrqHZ;                                                      //9 Частота в Гц.
00542        unsigned int FrqHZmin;                                                   //10 Мин значение частоты ВП
00543        unsigned int FrqHZmax;                                                   //11 Мах  значение частоты ВП
00544 
00545        unsigned int AmpPer;                                                     //13 начальное значение амплитуды
00546                                                             
00547       
00548        unsigned int AmpPerDel;                                                  //16 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
00549        unsigned int AmpPerMin;                                                  //17 ограничение минимальной  амплитуды ВП
00550        unsigned int AmpPerMax;                                                  //18 ограничение максимальной амплитуды ВП
00551        unsigned int AmpSpeed;                                                   //19 коиффициент сорости регулировки амплитуды
00552        unsigned int AmpTarget;                                                  //20 целевая амплитуда ВП к которой стремится регулировка.
00553        
00554        unsigned int TermoNKU;                                                   //21
00555                
00556        
00557        
00558         
00559 
00560        unsigned int  DAC_B;                                                     //25
00561        unsigned int  Try_Discarg;
00562       */ 
00563 //unsigned int PLC_Lern;                                                        //3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
00564 //unsigned int Frq;                                                             //6 Непосредственное значение частоты для таймера.
00565    } Str;
00566 } GyroParam; 
00567 /*
00568 typedef  union {
00569     int Array[70];
00570     struct {
00571        unsigned int LogPLC;                                                     // 1
00572        unsigned int Log;                                                        // 2
00573     
00574        unsigned int PLC_Lern;                                                   // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
00575        unsigned int ModAmp;                                                     // 4 амплитуда модулятора
00576        
00577        unsigned int FlashMod;                                                   // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
00578        unsigned int ModeOut;                                                    // 6 переменная для выбора варианта вывода параметров типа Rate.
00579       
00580        unsigned int Rate1_Event;                                                // 7 событие 1с для вывода параметров Rate 1
00581        unsigned int Reper_Event;                                                // 8 событие для вывода набора параметров типа Rate по меандру.
00582        unsigned int Event_500Hz;
00583     
00584        unsigned int RgConA;                                                     // 9 регистр управления ГЛД
00585        unsigned int RgConB;                                                     //10 регистр управления ГЛД
00586 
00587        unsigned int Gain_Sin;                                                   //11 коиф усиления синуса.
00588        unsigned int Gain_Cos;                                                   //12 коиф усиления косинуса.
00589        unsigned int Frq;                                                        //13 Непосредственное значение частоты для таймера.
00590        unsigned int FrqHZ;                                                      //14 Частота в Гц.
00591        unsigned int FrqHZmin;                                                   //15 Мин значение частоты ВП
00592        unsigned int FrqHZmax;                                                   //16 Мах  значение частоты ВП
00593        unsigned int FrqChengSpeed;                                              //17 скорость регулировки  частоты ВП
00594         
00595        unsigned int VibroFrqRegulF;                                             //18 флаг регулировки частоты ВП
00596        unsigned int VibroAMPRegulF;                                             //19 флаг регулировки амплитуды ВП
00597        unsigned int VibroNoiseF;                                                //20 флаг ошумления амплитуды ВП
00598        unsigned int VibroOutF;                                                  //21 флаг изменения состояния ножек вибро.
00599         
00600         
00601        unsigned int Amp;                                                        //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
00602        unsigned int AmpPer;                                                     //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16    ;
00603        unsigned int AmpT;                                                       //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
00604        unsigned int AmpMin;                                                     //25 минимальное  значение AmpT(частота ошумления);
00605        unsigned int AmpTD;                                                      //26 диапозон частоты ошумления(частота ошумления);
00606       
00607        unsigned int AmpPerMin;                                                  //27 ограничение минимальной  амплитуды ВП
00608        unsigned int AmpPerMax;                                                  //28 ограничение максимальной амплитуды ВП
00609        unsigned int AmpSpeed;                                                   //29 коиффициент сорости регулировки амплитуды
00610        unsigned int AmpTarget;                                                  //30 целевая амплитуда ВП к которой стремится регулировка.
00611        unsigned int AmpPerDel;                                                  //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
00612        unsigned int AmpN1;                                                      //32 левая граница импулься ВП
00613        unsigned int AmpN2;                                                      //33 правая граница импулься ВП
00614        unsigned int F_ras;                                                      //34 частота расщипления (не расчитывается)
00615        int           MaxAmp;                                                    //35 амплитуда Пик-Пик расчтитанная по востановленному синусу. 
00616     
00617     //ЭНКОДЕР
00618        int CaunPlus;                                                            //36 счетчик +
00619        int CaunMin;                                                             //37 счетчик -  
00620         
00621     // данные АЦП
00622        unsigned int TermoNKU;                                                   //38
00623        unsigned int Termo;                                                      //39 значение АЦП
00624        unsigned int DeltaT;                                                     //40
00625        unsigned int In1;                                                        //41
00626        unsigned int In2;                                                        //42
00627         
00628     //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
00629        unsigned int ADF_Accum;                                                  //43 Значенее амплитудного детектора Временное
00630        unsigned int ADS_Accum;                                                  //44 Значенее амплитудного детектора Временное
00631        unsigned int ADS_AccumTermLM;                                            //45
00632        unsigned int TermLM;                                                     //46
00633        unsigned int ADF_Count;                                                  //47 Значенее времени накопления данных
00634        unsigned int ADS_Count;                                                  //48 Значенее времени накопления данных
00635        unsigned int AD_Fast;                                                    //49 Значенее амплитудного детектора       сдвинутое на 16 бит
00636        unsigned int AD_Slow;                                                    //50 Значенее амплитудного детектора       сдвинутое на 16 бит
00637        unsigned int ADF_NewData;                                                //51 есть данные после фильтрации в быстром фильтре     
00638        unsigned int ADS_NewData;                                                //52 -----------/----------/----------/--------
00639      
00640        int PLC_Error2Mode;                                                      //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
00641     
00642        unsigned int CMD_In;                                                     //54 входящая команда
00643        unsigned int SOC_Out;                                                    //55
00644        unsigned int My_Addres;                                                  //56 адрес прибора
00645        unsigned int DropDelayGLD;                                               //57 задержка для мультидропа (дискрета 100кГц)
00646        
00647        unsigned int GLD_Serial;                                                 //58 серийный номер прибора
00648        unsigned int CRC;                                                        //59 контрольная сумма посылки
00649        unsigned int Firmware_Version;                                           //60 версия программы
00650        unsigned int RsErrLine;                                                  //61 регистр ошибок передачи.
00651         
00652        int  CuruAngle;                                                          //62 текущеий угол.
00653        int  OldCuruAngle;                                                       //63 старый угол
00654        int  Cnt_Dif;                                                            //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
00655         
00656        unsigned int PinReg;                                                     //65          bit4             bit3                  bit 2                 bit1                 bit0
00657        unsigned int PinRegOld;                                                  //66  || светодиод || состояние поджига  || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
00658     
00659        unsigned int Discharg;                                                   //67 последовательность бит харрактеризующая форму сигнала поджига.
00660        unsigned int BackLight;                                                  //68 последовательность бит харрактеризующая форму сигнала подсветки.
00661         
00662        unsigned int EXT_Latch;                                                  //69
00663 
00664        unsigned int wall;                                                       //70
00665        unsigned int ParamMod    ;                                               //71
00666    } Str;
00667 } GyroParam;  */
00668 extern  GyroParam GyroP;
00669 
00670 extern void AllRegul (void);
00671 extern unsigned int amp;
00672 extern int  Rate2VibFlag;
00673 extern void cheng(void);
00674 
00675 extern void VibroOut(void);
00676 
00677 extern void VibroAMPRegul(void);
00678 extern void VibroFrqRegul(void);
00679 extern unsigned int FrecTp;
00680 extern int Pulse_midl;
00681 extern struct VIBRO Vib;
00682 extern int PulseHalf;
00683 extern int CuruAngle;
00684 extern unsigned int FrecTemp;
00685 #endif
00686