forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Revision:
205:775d54fdf646
Parent:
204:e7e9762bf609
Child:
206:00341a03e05c
--- a/vibro.h	Fri Nov 25 06:22:37 2016 +0000
+++ b/vibro.h	Mon Dec 19 14:08:31 2016 +0000
@@ -16,50 +16,16 @@
 #define  StartV2 15
 #define  TIME_INTERVAL	(7812)
 
-
-
-extern int tempAMP;
-typedef struct _Gyro {
-   int	        qei;
-   int          QEIznak1,QEIznak2;
-   unsigned int	StrayHZ; //помеха
-   unsigned int	StrayHZ_flag;
-   unsigned int	LogHZ;
-
-   int flag;
-   unsigned int	StrayPLC_Pls; //помеха +
-   int	        StrayPLC_Mns; //помеха -
-   unsigned int StrayPLC_2Mode;
-   unsigned int	StrayPLC_flag;
-   unsigned int	LogPLC;
-   unsigned int	PLC_Lern;
-   unsigned int	ModJump;
-   unsigned int	TimJump;
-   unsigned int flagGph_W;
-   unsigned int ModAmp;
+ 
+#define  Rate1       0x01    
+#define  Rate2       0x02  
+#define  PRate1      0x81
+#define  PRate2      0x82
    
-// unsigned int Test_time;
-// unsigned int Test_time1;
-   
-   unsigned int FlashMod; //0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
-   
-   unsigned int ModeOut;
-  // unsigned int Rate1_Flag;
-   unsigned int Rate1_Event;
-  // unsigned int Rate2_Flag;
-   unsigned int Reper_Event;
-   #define  Rate1       0x01    
-   #define  Rate2       0x02  
-   #define  PRate1      0x81
-   #define  PRate2      0x82
-   
-   
-   unsigned int DeltaEXT_Event;
-   unsigned int Delta500_Event;
-   unsigned int Delta_Bins_Event500;
-   unsigned int B_Delta_EventEXT;
-   unsigned int B_Delta_Event500;
-   unsigned int Event_500Hz;
+ 
+////////////////////////////////////////////////////////
+////Дефайны для декодирования запроса параметров Rate///
+////////////////////////////////////////////////////////
    #define   Delta_500   0x10
    #define  PDelta_500   0x90
    #define   Delta_EXT   0x0
@@ -72,106 +38,7 @@
    #define   B_Delta_EXT 0x1
    #define  PB_Delta_INT 0x8
    #define   B_Delta_INT 0x0
-   
-   unsigned int RgConA;
-   unsigned int RgConB;
-
-   unsigned int Gain_Sin;
-   unsigned int Gain_Cos;
-
-    unsigned int Frq;       // Непосредственное значение частоты для таймера.
-    unsigned int FrqHZ;     // Частота в Гц.
-    unsigned int FrqHZmin;  //Мин значение частоты ВП
-    unsigned int FrqHZmax;  //Мах  значение частоты ВП
-    unsigned int FrqChengSpeed;//скорость регулировки  частоты ВП
-    
-    unsigned int VibroFrqRegulF;	//флаг регулировки частоты ВП
-    unsigned int VibroAMPRegulF;	//флаг регулировки амплитуды ВП
-    unsigned int VibroNoiseF;		//флаг ошумления амплитуды ВП
-    unsigned int VibroOutF;
-    
-    
-    unsigned int Amp;
-    unsigned int AmpT;     // значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)
-    unsigned int AmpMin;   // минимальное  значение AmpT(частота ошумления);
-    unsigned int AmpTD;    // максимальное значение AmpT(частота ошумления);
-    unsigned int AmpPer;   // Амплитуда в процентах;
-    unsigned int AmpPerMin;
- 	unsigned int AmpPerMax;
- 	unsigned int AmpSpeed;
- 	unsigned int AmpTarget;
-    unsigned int AmpPerDel;// значение для расчета амплитуды(дельта амплитуды), мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
-    unsigned int AmpN1;    // левая граница импулься ВП
-    unsigned int AmpN2;    // равая граница импулься ВП
-    int	MaxAmp;            // амплитуда Пик-Пик расчтитанная по востановленному синусу. 
-    int AmpSC;
-//ЭНКОДЕР
-    int CaunPlus;//
-    int CaunMin;//    
-// данные АЦП
-    unsigned int Termo;	// значение АЦП
-    unsigned int TermoNKU;
-    float Ktermo;
-    unsigned int DeltaT;
-    unsigned int In1;
-    unsigned int In2;
-//пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
-    unsigned int ADF_Accum;			//Значенее амплитудного детектора Временное
-    unsigned int ADS_Accum;			//Значенее амплитудного детектора Временное
-    unsigned int ADS_AccumTermLM;
-    unsigned int TermLM;
-    unsigned int ADF_Count;			//Значенее времени накопления данных
-   	unsigned int ADS_Count;			//Значенее времени накопления данных
-	
-    unsigned int AD_Fast;			//Значенее амплитудного детектора		сдвинутое на 16 бит
-    unsigned int AD_Slow;			//Значенее амплитудного детектора		сдвинутое на 16 бит
-    unsigned int EventMOD;	
-    
-    unsigned int ADF_NewData;		// есть данные после фильтрации в быстром фильтре		
-    unsigned int ADS_NewData;		//-----------/----------/----------/--------
-    
-//контур регулеровки Периметра    "PLC"
-  	int PLC_Delta; 						// разница между старым и новым показаниями
-  	int PLC_DeltaADD; 					// разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП
-  	int PLC_Old;
-  	int PLC_ADC_DOld; 
-	//int PLC_Regul;
-  	int PLC_Error2Mode; 				// счетчик, не ноль когдав двух модовом
-	int PlC_MaxD;                       // разница между максимальной и текущей амплитудами.
-
-//Контур регулеровки накачки (если нужно, например ГВЧ)
-
- int tempdelta;
- int tempdelta2;
-    
-    
-    unsigned int CMD_In;
-    unsigned int SOC_Out;
-    unsigned int My_Addres;
-    unsigned int DropDelayGLD;//задержка для мультидропа (дискрета 100кГц)
-    #define DropDelayGLD_0 50
-    #define DropDelayGLD_1 50
-    #define DropDelayGLD_2 65
-    #define DropDelayGLD_3 80  
-    unsigned int GLD_Serial;
-    unsigned int CRC;
-    unsigned int Firmware_Version;
-    unsigned int RsErrLine;
-
-
-
-
-    
-    int CuruAngle ;
-    int OldCuruAngle ;
-    int StopCuruAngle;
-// int 		Num;
-    int	Cnt_Dif;
-
-    unsigned int F_ras;
-
-   // unsigned int ras;
-  
+///////////////////////////////////////////////////////////   
   
 #define FrqOFF  Gyro.RgConA &= ~AFRQ;   //установить контур регулировки частоты в "0"
 #define FrqON   Gyro.RgConA |=  AFRQ;   //установить контур регулировки частоты в "1"
@@ -191,14 +58,12 @@
 #define  APLC  	(1<<3)  
 #define  AHFO  	(1<<1)
 
-
-
     
-    unsigned int PinReg;     //          bit4             bit3                  bit 2                 bit1                 bit0
-    unsigned int PinRegOld;  //    || светодиод || состояние поджига  || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
 #define LedOFF  Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0"
 #define LedON   Gyro.PinReg |= PinRegBitLED;   //установить бит светодиода в "1"
 
+#define  StartBackLight       0x00000333
+#define  StartDischarg        0x00000222
 
 #define  PinRegBitTXE  	(1<<5)
 #define  PinRegBitLED  	(1<<4)
@@ -206,130 +71,251 @@
 #define  PinRegBitL  	(1<<2)
 #define  PinRegBit_2V  	(1<<1)
 #define  PinRegBit_1V  	(1<<0)
-	unsigned int Discharg;   //   последовательность бит харрактеризующая форму сигнала поджига.
-#define  StartDischarg        0x00000222
-    unsigned int BackLight;  //   последовательность бит харрактеризующая форму сигнала подсветки.
-#define  StartBackLight       0x00000333
 
 #define  ShiftStart0       0x1
 #define  ShiftStart1       0x1
 #define  ShiftStart2       0x2
 #define  ShiftStart3       0x3
 
-unsigned int EXT_Latch;
-
-
-
-
+#define DropDelayGLD_0 50
+#define DropDelayGLD_1 50
+#define DropDelayGLD_2 65
+#define DropDelayGLD_3 80  
 
 
-} GyroT, *Gyro_p;
-
-extern GyroT Gyro;
-typedef  union {
-    int Array[171];
-    struct {
-        // Device_blk
-        int     My_Addres;            //e. 0 - device own address //r.0 - собственный адрес устройства
-
-        //e. =============== parameters of HFO regulator ===============    //r. =============== параметры контура ВЧ генератора накачки ===============
-        int		HF_ref;    		      //e. 1 - value of the reference //r.  1 - значение опоры
-        int     HF_scl;               //e. 2 - the gain factor (1.15)    //r. 2 - коэффициент передачи (1.15)
-        int     HF_min;              //r.  3 - минимум выходного значения на ЦАПе регулятора (соответствует максим. напряжению на ГВЧ)
-        int     HF_max;               //e. 4 - maximum of the output value on the regulator DAC (appropriate to minimal voltage on the HFO) //r.  4 - максимум выходного значения на ЦАПе регулятора (соответствует миним. напряжению на ГВЧ)
-
-        //e. =============== parameters of the regulator of the DS power regulator ========== //r. =============== параметры контура регулирования мощности ДУП ==========
-        int     RI_ref;               //e. 5 - value of the reference //r.  5 - значение опоры
-        int     RI_scl;               //e. 6 - the gain factor (1.15) //r.  6 - коэффициент передачи (1.15)
+extern int tempAMP;
 
-        //e. =============== parameters of the CPLC regulator ===== //r. =============== параметры контура стабилизации рабочего периметра (СРП) =====
-        int     WP_ref;         //e. 7 -  value of the reference //r.  7 - значение опоры
-        int     WP_scl;         //e. 8 - the gain factor (1.15) //r. 8 - коэффициент передачи (1.15)
-        int     WP_mdy;         //e. 9 - value of the reset delay //r. 9 - значение задержки сброса
-        int     WP_rup;         //e. 10 - upper value of DAC adjustment (appropriate to minimal voltage on the heater) //r. 10 - верхнее значение регулировки ЦАП (соответствует миним. напряжению на нагревателе)
-        int     WP_rdw;         //e. 11 - lower value of the DAC adjustment (appropriate to maximal voltage on the heater) //r. 11 - верхнее значение регулировки ЦАП (соответствует максим. напряжению на нагревателе)
-
-        //e. =============== parameters of the dither drive regulator of the GLD ==================== //r. =============== параметры контура вибропривода ГЛД ====================
-        int     VB_phs;         //e. 12 - the phase delay parameter of the dither drive PLL //r.  12 - параметр Phase_зад. СРЧ вибропривода
-        int     VB_scl;         //e. 13 - the gain factor (1.15) of the dither drive PLL  //r. 13 - коэффициент передачи (1.15) СРЧ вибропривода
-        unsigned int VB_N;          //e. 14 - divider for dither drive period (defines dither period) //r. 14 - коэфф.деления N вибропривода (период колебаний) ВП
-        unsigned int VB_Nmin;        //e. 15 - minimum of the output value of the oscillation period regulator //r. 15 - минимум выходного значения регулятора периода
-        unsigned int VB_Nmax;        //e. 16 - maximum of the output value of the oscillation period regulator //r. 16 - максимум выходного значения регулятора периода
+//int	        qei;
+//int           QEIznak1,QEIznak2;
+//unsigned int	StrayHZ; //помеха
+//unsigned int	StrayHZ_flag;
+//int			flag;
+//unsigned int	StrayPLC_Pls; //помеха +
+//int 			StrayPLC_Mns; //помеха -
+//unsigned int 	StrayPLC_2Mode;
+//unsigned int	StrayPLC_flag;
+//unsigned int	ModJump;
+//unsigned int	TimJump;
+//unsigned int 	flagGph_W;
+//unsigned int 	Test_time;
+//unsigned int 	Test_time1;
+//unsigned int Rate1_Flag;  
+//unsigned int Rate2_Flag;
+//int AmpSC;//переменная для других ошумлений
+//unsigned int Delta500_Event;
+//unsigned int Delta_Bins_Event500;
+//unsigned int B_Delta_Event500;
+//float Ktermo;
+//unsigned int EventMOD;	
+//контур регулеровки Периметра    "PLC" - без модулятора
+//int PLC_Delta; 						// разница между старым и новым показаниями
+//int PLC_DeltaADD; 					// разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП
+//int PLC_Old;
+//int PLC_ADC_DOld; 	
+//int PlC_MaxD;                       // разница между максимальной и текущей амплитудами.
+//int PLC_Regul;
+//int Num;
+//int StopCuruAngle;
+//unsigned int DeltaEXT_Event;  // вывод параметров типа Rate по внешней защелке.
+//unsigned int B_Delta_EventEXT;// вывод параметров типа Rate по внешней защелке.(надо чтоб от одного влага было, как Event_500Hz)
 
-        int     VB_Fdf_Hi;      //e. 17 - adjusted output frequency (H) //r. 17 - заданная частота расщепления (H)
-        unsigned int VB_Fdf_Lo;      //e. 18 - (L) (double precision) //r. 18 - (L) (двойная точность)
-
-        int     VB_Fsc;           	 //e. 19 - the gain factor of the frequency regulator //r. 19 - коэффициент передачи регулятора частоты расщепления
-        unsigned int VB_Tmin;        //e. 20 - the gain factor of the frequency regulator //r. 19 - коэффициент передачи регулятора частоты расщепления
-        unsigned int VB_Tmax;        //e. 21 - maximum of the output value of the regulator //r. 21 - максимум выходного значения регулятора Tau
-        unsigned int VB_tau;         //e. 22 - pulse width of the dither drive (without noise)//r. 22 - длительность импульса вибропривода (до ошумления)
-        int     VBN_Tzd;      		 //e. 23 - adjusted noise period //r. 23 - заданный период ошумления
-        int     VBN_Ran;        	 //e. 24 - range of the random component of noise //r. 24 - диапазон случайной составляющей ошумления VBN_Tsl
-        int     VBN_k;          	 //e. 25 - adjusted noise constant //r. 25 - заданная константа ошумления
-
-        //e. =============== parameters of processing of accurate data ============= //r. =============== параметры обработки точностной информации =============
-        int     PI_Fsc; //_         //e.  26 - the S_ds scale parameter //r.  26 - масштабный коэффициент Sдуп
-        int     PI_Fb0; //_         //e.  27 - the B_ds zero shift of the DS //r.  27 - смещение нуля ДУПа Bдуп
-        int     PI_scl; //_         //e.  28 - the Scale scale coefficient of the gyro //r.  28 - масштабный коэфф. гироскопа Scale
-        int     PI_bia; //_         //e.  29 - the Bias zero shift of the gyro //r.  29 - смещение нуля гироскопа Bias
+typedef struct _Gyro {
+	   unsigned int	LogPLC;														// 1
+	   unsigned int	Log;														// 2
+	
+	   unsigned int	PLC_Lern; 													// 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
+	   unsigned int ModAmp;   													// 4 амплитуда модулятора
+	   
+	   unsigned int FlashMod; 													// 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
+	   unsigned int ModeOut;													// 6 переменная для выбора варианта вывода параметров типа Rate.
+	  
+	   unsigned int Rate1_Event;												// 7 событие 1с для вывода параметров Rate 1
+	   unsigned int Reper_Event;												// 8 событие для вывода набора параметров типа Rate по меандру.
+	   unsigned int Event_500Hz;
+	
+	   unsigned int RgConA;														// 9 регистр управления ГЛД
+	   unsigned int RgConB;														//10 регистр управления ГЛД
 
-        //e. ===============  coefficients of the temperature correction ================= //r. ===============  коэффициенты температурной коррекции =================
-        int     PI_a0; //_    	     //  30
-        int     PI_a1; //_           //  31
-        int     PI_a2; //_   	     //  32
-        int     PI_a3; //_           //  33
-        int     PI_a4; //_           //  34
-        int     PI_a5; //_           //  35
-        int     PI_a6; //_           //  36
-        int     PI_b1; //_           //  37
-        int     PI_b2; //_           //  38
-        int     PI_b3; //_           //  39
-        int     PI_b4; //_           //  40
-        int     PI_b5; //_           //  41
-        int     PI_b6; //_           //  42
+	   unsigned int Gain_Sin;													//11 коиф усиления синуса.
+	   unsigned int Gain_Cos;													//12 коиф усиления косинуса.
+	   unsigned int Frq;      													//13 Непосредственное значение частоты для таймера.
+	   unsigned int FrqHZ;     													//14 Частота в Гц.
+	   unsigned int FrqHZmin;													//15 Мин значение частоты ВП
+	   unsigned int FrqHZmax;  													//16 Мах  значение частоты ВП
+	   unsigned int FrqChengSpeed;												//17 скорость регулировки  частоты ВП
+	    
+	   unsigned int VibroFrqRegulF;												//18 флаг регулировки частоты ВП
+	   unsigned int VibroAMPRegulF;												//19 флаг регулировки амплитуды ВП
+	   unsigned int VibroNoiseF;												//20 флаг ошумления амплитуды ВП
+	   unsigned int VibroOutF;  												//21 флаг изменения состояния ножек вибро.
+	    
+	    
+	   unsigned int Amp;														//22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
+	   unsigned int AmpPer;														//23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16	;
+	   unsigned int AmpT;     													//24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
+	   unsigned int AmpMin;														//25 минимальное  значение AmpT(частота ошумления);
+	   unsigned int AmpTD;														//26 диапозон частоты ошумления(частота ошумления);
+	  
+	   unsigned int AmpPerMin; 													//27 ограничение минимальной  амплитуды ВП
+	   unsigned int AmpPerMax; 													//28 ограничение максимальной амплитуды ВП
+	   unsigned int AmpSpeed;  													//29 коиффициент сорости регулировки амплитуды
+	   unsigned int AmpTarget; 													//30 целевая амплитуда ВП к которой стремится регулировка.
+	   unsigned int AmpPerDel;													//31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
+	   unsigned int AmpN1;    													//32 левая граница импулься ВП
+	   unsigned int AmpN2;    													//33 правая граница импулься ВП
+	   unsigned int F_ras;														//34 частота расщипления (не расчитывается)
+	   int			 MaxAmp;            										//35 амплитуда Пик-Пик расчтитанная по востановленному синусу. 
+	
+	//ЭНКОДЕР
+	   int CaunPlus;															//36 счетчик +
+	   int CaunMin;																//37 счетчик -  
+	    
+	// данные АЦП
+	   unsigned int TermoNKU;													//38
+	   unsigned int Termo;														//39 значение АЦП
+	   unsigned int DeltaT;														//40
+	   unsigned int In1;														//41
+	   unsigned int In2;														//42
+	    
+	//пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
+	   unsigned int ADF_Accum;													//43 Значенее амплитудного детектора Временное
+	   unsigned int ADS_Accum;													//44 Значенее амплитудного детектора Временное
+	   unsigned int ADS_AccumTermLM;                                            //45
+	   unsigned int TermLM;														//46
+	   unsigned int ADF_Count;													//47 Значенее времени накопления данных
+	   unsigned int ADS_Count;													//48 Значенее времени накопления данных
+	   unsigned int AD_Fast;													//49 Значенее амплитудного детектора		сдвинутое на 16 бит
+	   unsigned int AD_Slow;													//50 Значенее амплитудного детектора		сдвинутое на 16 бит
+	   unsigned int ADF_NewData;												//51 есть данные после фильтрации в быстром фильтре		
+	   unsigned int ADS_NewData;												//52 -----------/----------/----------/--------
+	 
+	   int PLC_Error2Mode; 														//53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
+	
+	   unsigned int CMD_In;														//54 входящая команда
+	   unsigned int SOC_Out;													//55
+	   unsigned int My_Addres;													//56 адрес прибора
+	   unsigned int DropDelayGLD;												//57 задержка для мультидропа (дискрета 100кГц)
+	   
+	   unsigned int GLD_Serial;													//58 серийный номер прибора
+	   unsigned int CRC;														//59 контрольная сумма посылки
+	   unsigned int Firmware_Version; 											//60 версия программы
+	   unsigned int RsErrLine;         											//61 регистр ошибок передачи.
+	    
+	   int CuruAngle;															//62 текущеий угол.
+	   int OldCuruAngle;														//63 старый угол
+	   int	Cnt_Dif;															//64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
+	    
+	   unsigned int PinReg;     												//65          bit4             bit3                  bit 2                 bit1                 bit0
+	   unsigned int PinRegOld;  												//66  || светодиод || состояние поджига  || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
+	
+	   unsigned int Discharg;   												//67 последовательность бит харрактеризующая форму сигнала поджига.
+	   unsigned int BackLight; 													//68 последовательность бит харрактеризующая форму сигнала подсветки.
+	    
+	   unsigned int EXT_Latch;													//69
+} GyroT, *Gyro_p;
+extern GyroT Gyro;
 
-        //e. =============== parameters of normalization of the temperature sensors  ============= //r. =============== параметры нормировки датчиков температуры =============
-
-        int     Tmp_bias[6]; //_    //e. 43 - an array of shifts of the 0..5 temperature sensors //r. 43 - массив сдвигов температурных датчиков 0..5
-        int     Tmp_scal[6]; //_    //e. 49 - an array of the scale coefficients of temperature sensors//r.  49 - массив масштабных к-тов температурных датчиков
-        int     WP_reset;           //e. 55 - initial position of the CPLC regulator (after reset)  //r.  55 - исходное положение регулятора СРП (после сброса)
-
-        //e. ================ gain factor of photodetector channels =========== //r. ================ к-т усиления каналов фотоприемника ===========
-        unsigned int	Gain_Ph_A;	//e. 56 - initial gain factor of the A channel of photodetector //r.	56 - начальный к-т усиления канала А фотоприемника
-        unsigned int	Gain_Ph_B;	//e. 57 - initial gain factor of the B channel of photodetector //r. 57 - начальный к-т усиления канала B фотоприемника
 
-        //e. =============== switch of the source of loading GLD variables block === //r. =============== переключатель источника загрузки блока переменных ГЛД (галочка в настороечной программе)
-        
-        int		Header_Word;		//e. 58 - flash sector validity header  //r. 58 - заголовок-ключ к индикатору источника загрузки
-        int		LoadFlash_enable;	//e. 59 - source loading flag: 1 - load from the flash //r. 59 - признак источника загрузки: 1 - грузиться из flesh
-
-//e. 0 - load default parameters (factory)  //r. 0 - грузить параметры по умолчанию (заводские)
-        unsigned int Device_SerialNumber;	//e. 60 - serial number of the device //r. 60 - серийный номер прибора
-        int     Reserved0;                  //e. 61 - not used
+typedef  union {
+    int Array[70];
+    struct {
+   	   unsigned int	LogPLC;														// 1
+	   unsigned int	Log;														// 2
+	
+	   unsigned int	PLC_Lern; 													// 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
+	   unsigned int ModAmp;   													// 4 амплитуда модулятора
+	   
+	   unsigned int FlashMod; 													// 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
+	   unsigned int ModeOut;													// 6 переменная для выбора варианта вывода параметров типа Rate.
+	  
+	   unsigned int Rate1_Event;												// 7 событие 1с для вывода параметров Rate 1
+	   unsigned int Reper_Event;												// 8 событие для вывода набора параметров типа Rate по меандру.
+	   unsigned int Event_500Hz;
+	
+	   unsigned int RgConA;														// 9 регистр управления ГЛД
+	   unsigned int RgConB;														//10 регистр управления ГЛД
 
-        int     WP_reset2;                  //e. 91 - voltages of CPLC regulator reset at cooling //r.  xx - напряжения обнуления контура СРП при охлаждении
-        //e. parameters setting termocompensation parameters in dynamics (at heating and cooling) //r. параметры, задающие параметры термокомпенсации в динамике (при нагреве и охлаждении)
-        float	Reserved1;                  //e. 92 - not used
-        float	Reserved2;                  //e. 93 - not used
-        int		K_vb_tu; 			//e. 94 - slope of dependence of the VB_N division factor from temperature (as though Hz/degree, but in relative units ) //r. крутизна зависимости коэффициента деления VB_N от температуры (как бы Гц/градус, но в у.е.)
-        int		TemperNormal; 		//e. 95 -temperature for which the VB_N division factor of the dither drive is set //r. температура, для которой задан коэффициент деления вибропривода VB_N
-        int		K_WP_rst_heating; 	//r. 96 - крутизна зависимости напряжения обнуления при нагревании от температуры (как бы вольт/градус, но в у.е. ЦАП и термодатчиков )
-        int		K_WP_rst_cooling; 	//e. 97 - slope of dependence of a reset voltage at cooling from temperature (as though Volt/degree, but in relative units of DAC and temperature sensors)  //r. крутизна зависимости напряжения обнуления при охлаждении от температуры (как бы вольт/градус, но в у.е. ЦАП и термодатчиков )
-        int		WP_transition_step; //e. 98 - step of change of a heater voltage at resetting //r. шаг изменения напряжения нагревателя при выполнении обнуления
-        int		Reserved3; // e. 99 -not used
-        int     HF_scl_2;         //r. 100 -  коэффициент передачи (1.15) контура ГВЧ при обнулении
-//    int 	TemperIntDyn[TERMO_FUNC_SIZE]; //e. 114 -
-//    float   ThermoHeatDelta[TERMO_FUNC_SIZE]; //e. 128 -
-        int     DeltaTempRecalc;   //r. 129 - температурный интервал пересчета динамич. компенсации (в у.е.) //e. temperature delta for dynamic thermocompensation recalculation(in relative units)
-//   int 	TemperCoolIntDyn[TERMO_FUNC_SIZE]; // e. 143 -
-//   float   ThermoCoolDelta[TERMO_FUNC_SIZE];  //e. 157 -
-// TERMO_MODE	TermoMode;	//e  62 - device operation mode (with thermocompenstion, without it, debug )//r.  62 - режим работы прибора (с термокомпенсацией, без нее или отладка)
-//e. addition for the piecewise-linear termocorrection //r. добавление для кусочно-линейной термокоррекции
-//     int 	TemperInt[TERMO_FUNC_SIZE];	//e. 63
-//   float 	TermoFunc[TERMO_FUNC_SIZE];	//e. 77
-    } Str;
+	   unsigned int Gain_Sin;													//11 коиф усиления синуса.
+	   unsigned int Gain_Cos;													//12 коиф усиления косинуса.
+	   unsigned int Frq;      													//13 Непосредственное значение частоты для таймера.
+	   unsigned int FrqHZ;     													//14 Частота в Гц.
+	   unsigned int FrqHZmin;													//15 Мин значение частоты ВП
+	   unsigned int FrqHZmax;  													//16 Мах  значение частоты ВП
+	   unsigned int FrqChengSpeed;												//17 скорость регулировки  частоты ВП
+	    
+	   unsigned int VibroFrqRegulF;												//18 флаг регулировки частоты ВП
+	   unsigned int VibroAMPRegulF;												//19 флаг регулировки амплитуды ВП
+	   unsigned int VibroNoiseF;												//20 флаг ошумления амплитуды ВП
+	   unsigned int VibroOutF;  												//21 флаг изменения состояния ножек вибро.
+	    
+	    
+	   unsigned int Amp;														//22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
+	   unsigned int AmpPer;														//23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16	;
+	   unsigned int AmpT;     													//24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
+	   unsigned int AmpMin;														//25 минимальное  значение AmpT(частота ошумления);
+	   unsigned int AmpTD;														//26 диапозон частоты ошумления(частота ошумления);
+	  
+	   unsigned int AmpPerMin; 													//27 ограничение минимальной  амплитуды ВП
+	   unsigned int AmpPerMax; 													//28 ограничение максимальной амплитуды ВП
+	   unsigned int AmpSpeed;  													//29 коиффициент сорости регулировки амплитуды
+	   unsigned int AmpTarget; 													//30 целевая амплитуда ВП к которой стремится регулировка.
+	   unsigned int AmpPerDel;													//31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
+	   unsigned int AmpN1;    													//32 левая граница импулься ВП
+	   unsigned int AmpN2;    													//33 правая граница импулься ВП
+	   unsigned int F_ras;														//34 частота расщипления (не расчитывается)
+	   int			 MaxAmp;            										//35 амплитуда Пик-Пик расчтитанная по востановленному синусу. 
+	
+	//ЭНКОДЕР
+	   int CaunPlus;															//36 счетчик +
+	   int CaunMin;																//37 счетчик -  
+	    
+	// данные АЦП
+	   unsigned int TermoNKU;													//38
+	   unsigned int Termo;														//39 значение АЦП
+	   unsigned int DeltaT;														//40
+	   unsigned int In1;														//41
+	   unsigned int In2;														//42
+	    
+	//пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
+	   unsigned int ADF_Accum;													//43 Значенее амплитудного детектора Временное
+	   unsigned int ADS_Accum;													//44 Значенее амплитудного детектора Временное
+	   unsigned int ADS_AccumTermLM;                                            //45
+	   unsigned int TermLM;														//46
+	   unsigned int ADF_Count;													//47 Значенее времени накопления данных
+	   unsigned int ADS_Count;													//48 Значенее времени накопления данных
+	   unsigned int AD_Fast;													//49 Значенее амплитудного детектора		сдвинутое на 16 бит
+	   unsigned int AD_Slow;													//50 Значенее амплитудного детектора		сдвинутое на 16 бит
+	   unsigned int ADF_NewData;												//51 есть данные после фильтрации в быстром фильтре		
+	   unsigned int ADS_NewData;												//52 -----------/----------/----------/--------
+	 
+	   int PLC_Error2Mode; 														//53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
+	
+	   unsigned int CMD_In;														//54 входящая команда
+	   unsigned int SOC_Out;													//55
+	   unsigned int My_Addres;													//56 адрес прибора
+	   unsigned int DropDelayGLD;												//57 задержка для мультидропа (дискрета 100кГц)
+	   
+	   unsigned int GLD_Serial;													//58 серийный номер прибора
+	   unsigned int CRC;														//59 контрольная сумма посылки
+	   unsigned int Firmware_Version; 											//60 версия программы
+	   unsigned int RsErrLine;         											//61 регистр ошибок передачи.
+	    
+	   int  CuruAngle;															//62 текущеий угол.
+	   int  OldCuruAngle;														//63 старый угол
+	   int	Cnt_Dif;															//64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
+	    
+	   unsigned int PinReg;     												//65          bit4             bit3                  bit 2                 bit1                 bit0
+	   unsigned int PinRegOld;  												//66  || светодиод || состояние поджига  || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
+	
+	   unsigned int Discharg;   												//67 последовательность бит харрактеризующая форму сигнала поджига.
+	   unsigned int BackLight; 													//68 последовательность бит харрактеризующая форму сигнала подсветки.
+	    
+	   unsigned int EXT_Latch;													//69
+
+	   unsigned int wall;													    //70
+	   unsigned int ParamMod    ;                                            //71
+   } Str;
 } GyroParam;
-
 extern 	GyroParam GyroP;
 
 extern void AllRegul (void);