forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Committer:
Kovalev_D
Date:
Mon Nov 20 13:06:31 2017 +0000
Revision:
222:7de7b3bf3a1d
Parent:
220:04c54405b82d
Child:
225:f8fee6c586cc
0-65536

Who changed what in which revision?

UserRevisionLine numberNew contents of line
igor_v 0:8ad47e2b6f00 1 #ifndef VIBRO_H
igor_v 0:8ad47e2b6f00 2 #define VIBRO_H
igor_v 0:8ad47e2b6f00 3
igor_v 21:bc8c1cec3da6 4 #define ClrV1 LPC_GPIO1->FIOSET=(1<<25);
Kovalev_D 87:7e575d26d6d0 5 #define SetV1 LPC_GPIO1->FIOCLR = (1<<25);
igor_v 1:f2adcae3d304 6
Kovalev_D 47:d902ef6f7564 7 #define TXOn LPC_GPIO2->FIOSET=(1<<7);
Kovalev_D 47:d902ef6f7564 8 #define TXOff LPC_GPIO2->FIOCLR = (1<<7);
Kovalev_D 47:d902ef6f7564 9
igor_v 21:bc8c1cec3da6 10 #define ClrV2 LPC_GPIO1->FIOSET = (1<<28);
igor_v 21:bc8c1cec3da6 11 #define SetV2 LPC_GPIO1->FIOCLR = (1<<28);
igor_v 0:8ad47e2b6f00 12
Kovalev_D 26:52ce5953a5c2 13 #define LoopOn LPC_GPIO1->FIOSET = (1<<30);
Kovalev_D 26:52ce5953a5c2 14 #define LoopOff LPC_GPIO1->FIOCLR = (1<<30);
Kovalev_D 26:52ce5953a5c2 15 #define StartV1 0
Kovalev_D 26:52ce5953a5c2 16 #define StartV2 15
igor_v 0:8ad47e2b6f00 17 #define TIME_INTERVAL (7812)
igor_v 0:8ad47e2b6f00 18
Kovalev_D 205:775d54fdf646 19
Kovalev_D 205:775d54fdf646 20 #define Rate1 0x01
Kovalev_D 205:775d54fdf646 21 #define Rate2 0x02
Kovalev_D 214:4c70e452c491 22 #define Rate3 0x3
Kovalev_D 214:4c70e452c491 23 #define Rate7 0x7
Kovalev_D 214:4c70e452c491 24
Kovalev_D 205:775d54fdf646 25 #define PRate1 0x81
Kovalev_D 205:775d54fdf646 26 #define PRate2 0x82
Kovalev_D 214:4c70e452c491 27 #define PRate3 0x83
Kovalev_D 214:4c70e452c491 28 #define PRate7 0x87
Kovalev_D 222:7de7b3bf3a1d 29 #define PRate5K 0x94
Kovalev_D 222:7de7b3bf3a1d 30 #define Rate5K 0x14
Kovalev_D 205:775d54fdf646 31
Kovalev_D 205:775d54fdf646 32 ////////////////////////////////////////////////////////
Kovalev_D 205:775d54fdf646 33 ////Дефайны для декодирования запроса параметров Rate///
Kovalev_D 205:775d54fdf646 34 ////////////////////////////////////////////////////////
Kovalev_D 209:224e7331a061 35 #define Delta_500 0x20
Kovalev_D 162:44e4ded32c6a 36 #define PDelta_500 0x90
Kovalev_D 162:44e4ded32c6a 37 #define Delta_EXT 0x0
Kovalev_D 209:224e7331a061 38 #define PDelta_EXT 0x10
Kovalev_D 193:a0fe8bfc97e4 39 #define Delta_Bins 0x0
Kovalev_D 193:a0fe8bfc97e4 40 #define PDelta_Bins 0x1
Kovalev_D 193:a0fe8bfc97e4 41
Kovalev_D 193:a0fe8bfc97e4 42
Kovalev_D 193:a0fe8bfc97e4 43 #define PB_Delta_EXT 0x9
Kovalev_D 193:a0fe8bfc97e4 44 #define B_Delta_EXT 0x1
Kovalev_D 193:a0fe8bfc97e4 45 #define PB_Delta_INT 0x8
Kovalev_D 193:a0fe8bfc97e4 46 #define B_Delta_INT 0x0
Kovalev_D 205:775d54fdf646 47 ///////////////////////////////////////////////////////////
Kovalev_D 104:ab1cb4ff56b2 48
Kovalev_D 171:d227a6045305 49 #define FrqOFF Gyro.RgConA &= ~AFRQ; //установить контур регулировки частоты в "0"
Kovalev_D 171:d227a6045305 50 #define FrqON Gyro.RgConA |= AFRQ; //установить контур регулировки частоты в "1"
Kovalev_D 104:ab1cb4ff56b2 51
Kovalev_D 171:d227a6045305 52
Kovalev_D 171:d227a6045305 53 #define AVibOFF Gyro.RgConA &= ~AVBT; //установить контур регулировки частоты в "0"
Kovalev_D 171:d227a6045305 54 #define AVibON Gyro.RgConA |= AVBT; //установить контур регулировки частоты в "1"
Kovalev_D 171:d227a6045305 55
Kovalev_D 171:d227a6045305 56 #define HFOOFF Gyro.RgConA &= ~AHFO; //установить контур накачки в "0"
Kovalev_D 171:d227a6045305 57 #define HFOON Gyro.RgConA |= AHFO; //установить контур накачки в "1"
Kovalev_D 104:ab1cb4ff56b2 58
Kovalev_D 171:d227a6045305 59 #define PlcOFF Gyro.RgConA &= ~APLC; //установить контур регулировки периметра в "0"
Kovalev_D 171:d227a6045305 60 #define PlcON Gyro.RgConA |= APLC; //установить контур регулировки периметра в "1"
Kovalev_D 104:ab1cb4ff56b2 61
Kovalev_D 171:d227a6045305 62 #define AFRQ (1<<6)
Kovalev_D 171:d227a6045305 63 #define AVBT (1<<5)
Kovalev_D 208:19150d2b528f 64 #define MPLC (1<<4)
Kovalev_D 171:d227a6045305 65 #define APLC (1<<3)
Kovalev_D 104:ab1cb4ff56b2 66 #define AHFO (1<<1)
Kovalev_D 171:d227a6045305 67
Kovalev_D 85:0466ee8cdfc8 68
Kovalev_D 40:8a6494f61326 69 #define LedOFF Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0"
igor_v 48:8697dfe679b9 70 #define LedON Gyro.PinReg |= PinRegBitLED; //установить бит светодиода в "1"
Kovalev_D 40:8a6494f61326 71
Kovalev_D 209:224e7331a061 72 #define StartBackLight 0xf
Kovalev_D 209:224e7331a061 73 #define StartDischarg 0xc
Kovalev_D 104:ab1cb4ff56b2 74
igor_v 48:8697dfe679b9 75 #define PinRegBitTXE (1<<5)
igor_v 48:8697dfe679b9 76 #define PinRegBitLED (1<<4)
igor_v 48:8697dfe679b9 77 #define PinRegBitD (1<<3)
igor_v 48:8697dfe679b9 78 #define PinRegBitL (1<<2)
igor_v 48:8697dfe679b9 79 #define PinRegBit_2V (1<<1)
igor_v 48:8697dfe679b9 80 #define PinRegBit_1V (1<<0)
igor_v 110:6406b7ac0442 81
Kovalev_D 208:19150d2b528f 82 #define ShiftStart0 0x0
Kovalev_D 188:4c523cc373cc 83 #define ShiftStart1 0x1
Kovalev_D 188:4c523cc373cc 84 #define ShiftStart2 0x2
Kovalev_D 188:4c523cc373cc 85 #define ShiftStart3 0x3
igor_v 110:6406b7ac0442 86
Kovalev_D 209:224e7331a061 87 #define DropDelayGLD_0 100
Kovalev_D 209:224e7331a061 88 #define DropDelayGLD_1 100
Kovalev_D 209:224e7331a061 89 #define DropDelayGLD_2 100
Kovalev_D 209:224e7331a061 90 #define DropDelayGLD_3 100
Kovalev_D 26:52ce5953a5c2 91
Kovalev_D 28:1c9acd3b224d 92
Kovalev_D 205:775d54fdf646 93 extern int tempAMP;
Kovalev_D 129:406995a91322 94
Kovalev_D 205:775d54fdf646 95 //int qei;
Kovalev_D 205:775d54fdf646 96 //int QEIznak1,QEIznak2;
Kovalev_D 205:775d54fdf646 97 //unsigned int StrayHZ; //помеха
Kovalev_D 205:775d54fdf646 98 //unsigned int StrayHZ_flag;
Kovalev_D 205:775d54fdf646 99 //int flag;
Kovalev_D 205:775d54fdf646 100 //unsigned int StrayPLC_Pls; //помеха +
Kovalev_D 205:775d54fdf646 101 //int StrayPLC_Mns; //помеха -
Kovalev_D 205:775d54fdf646 102 //unsigned int StrayPLC_2Mode;
Kovalev_D 205:775d54fdf646 103 //unsigned int StrayPLC_flag;
Kovalev_D 205:775d54fdf646 104 //unsigned int ModJump;
Kovalev_D 205:775d54fdf646 105 //unsigned int TimJump;
Kovalev_D 205:775d54fdf646 106 //unsigned int flagGph_W;
Kovalev_D 205:775d54fdf646 107 //unsigned int Test_time;
Kovalev_D 205:775d54fdf646 108 //unsigned int Test_time1;
Kovalev_D 205:775d54fdf646 109 //unsigned int Rate1_Flag;
Kovalev_D 205:775d54fdf646 110 //unsigned int Rate2_Flag;
Kovalev_D 205:775d54fdf646 111 //int AmpSC;//переменная для других ошумлений
Kovalev_D 205:775d54fdf646 112 //unsigned int Delta500_Event;
Kovalev_D 205:775d54fdf646 113 //unsigned int Delta_Bins_Event500;
Kovalev_D 205:775d54fdf646 114 //unsigned int B_Delta_Event500;
Kovalev_D 205:775d54fdf646 115 //float Ktermo;
Kovalev_D 205:775d54fdf646 116 //unsigned int EventMOD;
Kovalev_D 205:775d54fdf646 117 //контур регулеровки Периметра "PLC" - без модулятора
Kovalev_D 205:775d54fdf646 118 //int PLC_Delta; // разница между старым и новым показаниями
Kovalev_D 205:775d54fdf646 119 //int PLC_DeltaADD; // разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП
Kovalev_D 205:775d54fdf646 120 //int PLC_Old;
Kovalev_D 205:775d54fdf646 121 //int PLC_ADC_DOld;
Kovalev_D 205:775d54fdf646 122 //int PlC_MaxD; // разница между максимальной и текущей амплитудами.
Kovalev_D 205:775d54fdf646 123 //int PLC_Regul;
Kovalev_D 205:775d54fdf646 124 //int Num;
Kovalev_D 205:775d54fdf646 125 //int StopCuruAngle;
Kovalev_D 205:775d54fdf646 126 //unsigned int DeltaEXT_Event; // вывод параметров типа Rate по внешней защелке.
Kovalev_D 205:775d54fdf646 127 //unsigned int B_Delta_EventEXT;// вывод параметров типа Rate по внешней защелке.(надо чтоб от одного влага было, как Event_500Hz)
Kovalev_D 129:406995a91322 128
Kovalev_D 205:775d54fdf646 129 typedef struct _Gyro {
Kovalev_D 222:7de7b3bf3a1d 130
Kovalev_D 205:775d54fdf646 131
Kovalev_D 222:7de7b3bf3a1d 132 unsigned int TimeToJump; //5
Kovalev_D 222:7de7b3bf3a1d 133 unsigned int JumpDelta;
Kovalev_D 222:7de7b3bf3a1d 134
Kovalev_D 222:7de7b3bf3a1d 135 unsigned int ShowMod2;
Kovalev_D 222:7de7b3bf3a1d 136 int Debag;
Kovalev_D 222:7de7b3bf3a1d 137 int Debag2;
Kovalev_D 222:7de7b3bf3a1d 138 unsigned int UARTFlag;
Kovalev_D 222:7de7b3bf3a1d 139 unsigned int PLC_Start;
Kovalev_D 222:7de7b3bf3a1d 140 unsigned int LG_Type;
Kovalev_D 222:7de7b3bf3a1d 141 unsigned int LogPLC; // 1
Kovalev_D 222:7de7b3bf3a1d 142 unsigned int Log;
Kovalev_D 222:7de7b3bf3a1d 143 unsigned int LogMod; // 2
Kovalev_D 222:7de7b3bf3a1d 144 unsigned int PLC_Phase;
Kovalev_D 222:7de7b3bf3a1d 145 int PLC_Gain;
Kovalev_D 222:7de7b3bf3a1d 146 unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
Kovalev_D 222:7de7b3bf3a1d 147 int PLC_Eror;
Kovalev_D 222:7de7b3bf3a1d 148 int PLC_Eror_Rate;
Kovalev_D 222:7de7b3bf3a1d 149 int PLC_Eror_count;
Kovalev_D 222:7de7b3bf3a1d 150 int PLC_regul;
Kovalev_D 222:7de7b3bf3a1d 151 unsigned int ModAmp; // 4 амплитуда модулятора
Kovalev_D 222:7de7b3bf3a1d 152 unsigned int ShiftMod;
Kovalev_D 222:7de7b3bf3a1d 153
Kovalev_D 222:7de7b3bf3a1d 154 unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
Kovalev_D 222:7de7b3bf3a1d 155 unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate.
Kovalev_D 222:7de7b3bf3a1d 156
Kovalev_D 222:7de7b3bf3a1d 157 unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1
Kovalev_D 222:7de7b3bf3a1d 158 unsigned int Rate3_Event;
Kovalev_D 222:7de7b3bf3a1d 159 unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру.
Kovalev_D 222:7de7b3bf3a1d 160 unsigned int Event_500Hz;
Kovalev_D 222:7de7b3bf3a1d 161 unsigned int EvenRate7;
Kovalev_D 222:7de7b3bf3a1d 162 unsigned int EvenRate5K;
Kovalev_D 222:7de7b3bf3a1d 163
Kovalev_D 222:7de7b3bf3a1d 164 int DAC_current_Work; //3
Kovalev_D 222:7de7b3bf3a1d 165 int DAC_current_Start; //4 стартовый ток накачки?
Kovalev_D 222:7de7b3bf3a1d 166 int HFO_ref;
Kovalev_D 222:7de7b3bf3a1d 167 int HFO_Min;
Kovalev_D 222:7de7b3bf3a1d 168 int HFO_Max;
Kovalev_D 222:7de7b3bf3a1d 169 unsigned int HFO_Gain;
Kovalev_D 222:7de7b3bf3a1d 170 unsigned int RgConA; // 9 регистр управления ГЛД
Kovalev_D 222:7de7b3bf3a1d 171 unsigned int RgConB; //10 регистр управления ГЛД
Kovalev_D 222:7de7b3bf3a1d 172 unsigned int RgConMod;
Kovalev_D 205:775d54fdf646 173
Kovalev_D 222:7de7b3bf3a1d 174 unsigned int Gain_Sin; //11 коиф усиления синуса.
Kovalev_D 222:7de7b3bf3a1d 175 unsigned int Gain_Cos; //12 коиф усиления косинуса.
Kovalev_D 222:7de7b3bf3a1d 176 unsigned int FrqPhase;
Kovalev_D 222:7de7b3bf3a1d 177 unsigned int FrqPhaseEror;
Kovalev_D 222:7de7b3bf3a1d 178 unsigned int Frq; //13 Непосредственное значение частоты для таймера.
Kovalev_D 222:7de7b3bf3a1d 179 unsigned int FrqHZ; //14 Частота в Гц.
Kovalev_D 222:7de7b3bf3a1d 180 unsigned int FrqHZmin; //15 Мин значение частоты ВП
Kovalev_D 222:7de7b3bf3a1d 181 unsigned int FrqHZmax; //16 Мах значение частоты ВП
Kovalev_D 222:7de7b3bf3a1d 182 unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП
Kovalev_D 222:7de7b3bf3a1d 183 unsigned int L_vibro;
Kovalev_D 222:7de7b3bf3a1d 184
Kovalev_D 222:7de7b3bf3a1d 185 unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП
Kovalev_D 222:7de7b3bf3a1d 186 unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 187 unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 188 unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро.
Kovalev_D 222:7de7b3bf3a1d 189 unsigned int LowVibroFlag;
Kovalev_D 222:7de7b3bf3a1d 190 unsigned int ClrVFlag;
Kovalev_D 222:7de7b3bf3a1d 191
Kovalev_D 222:7de7b3bf3a1d 192 unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
Kovalev_D 222:7de7b3bf3a1d 193 unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ;
Kovalev_D 222:7de7b3bf3a1d 194 unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
Kovalev_D 222:7de7b3bf3a1d 195 unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления);
Kovalev_D 222:7de7b3bf3a1d 196 unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления);
Kovalev_D 222:7de7b3bf3a1d 197
Kovalev_D 222:7de7b3bf3a1d 198 unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 199 unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП
Kovalev_D 222:7de7b3bf3a1d 200 unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды
Kovalev_D 222:7de7b3bf3a1d 201 unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка.
Kovalev_D 222:7de7b3bf3a1d 202 unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 222:7de7b3bf3a1d 203 unsigned int AmpN1; //32 левая граница импулься ВП
Kovalev_D 222:7de7b3bf3a1d 204 unsigned int AmpN2; //33 правая граница импулься ВП
Kovalev_D 222:7de7b3bf3a1d 205 unsigned int F_ras; //34 частота расщипления
Kovalev_D 222:7de7b3bf3a1d 206 unsigned int F_rasAdd;
Kovalev_D 222:7de7b3bf3a1d 207 int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу.
Kovalev_D 222:7de7b3bf3a1d 208
Kovalev_D 222:7de7b3bf3a1d 209 //ЭНКОДЕР
Kovalev_D 222:7de7b3bf3a1d 210 int CaunPlus; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 211 int CaunMin;
Kovalev_D 222:7de7b3bf3a1d 212 //37 счетчик -
Kovalev_D 222:7de7b3bf3a1d 213 int CaunPlusRateAdd; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 214 int CaunMinRateAdd;
Kovalev_D 222:7de7b3bf3a1d 215 int CaunPlusRate; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 216 int CaunMinRate;
Kovalev_D 222:7de7b3bf3a1d 217
Kovalev_D 222:7de7b3bf3a1d 218 int CaunPlusReperAdd; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 219 int CaunMinReperAdd;
Kovalev_D 222:7de7b3bf3a1d 220 int CaunPlusReper; //36 счетчик +
Kovalev_D 222:7de7b3bf3a1d 221 int CaunMinReper;
Kovalev_D 222:7de7b3bf3a1d 222 // данные АЦП
Kovalev_D 222:7de7b3bf3a1d 223 unsigned int TermoNKU; //38
Kovalev_D 222:7de7b3bf3a1d 224 unsigned int Termo; //39 значение АЦП
Kovalev_D 222:7de7b3bf3a1d 225 unsigned int DeltaT; //40
Kovalev_D 222:7de7b3bf3a1d 226 int In1; //41
Kovalev_D 222:7de7b3bf3a1d 227 int In2; //42
Kovalev_D 222:7de7b3bf3a1d 228 int Tmp_OffsetT4; //47
Kovalev_D 222:7de7b3bf3a1d 229 int Tmp_OffsetT5;
Kovalev_D 222:7de7b3bf3a1d 230 float Tmp_scaleT4; //53
Kovalev_D 222:7de7b3bf3a1d 231 float Tmp_scaleT5; //54
Kovalev_D 222:7de7b3bf3a1d 232
Kovalev_D 222:7de7b3bf3a1d 233 unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное
Kovalev_D 222:7de7b3bf3a1d 234 unsigned int ADS_Accum;
Kovalev_D 222:7de7b3bf3a1d 235 unsigned int IN1_Accum;
Kovalev_D 222:7de7b3bf3a1d 236 unsigned int IN2_Accum;
Kovalev_D 222:7de7b3bf3a1d 237 unsigned int DacIn; //44 Значенее амплитудного детектора Временное
Kovalev_D 222:7de7b3bf3a1d 238 unsigned int ADS_AccumTermLM; //45
Kovalev_D 222:7de7b3bf3a1d 239 unsigned int TermLM; //46
Kovalev_D 222:7de7b3bf3a1d 240 unsigned int ADF_Count;
Kovalev_D 222:7de7b3bf3a1d 241 unsigned int ADM_Count; //47 Значенее времени накопления данных
Kovalev_D 222:7de7b3bf3a1d 242 unsigned int ADS_Count; //48 Значенее времени накопления данных
Kovalev_D 222:7de7b3bf3a1d 243 unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 222:7de7b3bf3a1d 244 unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 222:7de7b3bf3a1d 245 unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре
Kovalev_D 222:7de7b3bf3a1d 246 unsigned int ADS_NewData; //52 -----------/----------/----------/--------
Kovalev_D 222:7de7b3bf3a1d 247
Kovalev_D 222:7de7b3bf3a1d 248
Kovalev_D 222:7de7b3bf3a1d 249 int DownTreshold; //27
Kovalev_D 222:7de7b3bf3a1d 250 int HighTreshold;
Kovalev_D 222:7de7b3bf3a1d 251 int PLCDelay;
Kovalev_D 222:7de7b3bf3a1d 252 int ResetLevelCool; //105
Kovalev_D 222:7de7b3bf3a1d 253 int ResetLevelHeat;
Kovalev_D 222:7de7b3bf3a1d 254
Kovalev_D 222:7de7b3bf3a1d 255
Kovalev_D 222:7de7b3bf3a1d 256 int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
Kovalev_D 222:7de7b3bf3a1d 257
Kovalev_D 222:7de7b3bf3a1d 258 unsigned int CMD_In; //54 входящая команда
Kovalev_D 222:7de7b3bf3a1d 259 unsigned int SOC_Out; //55
Kovalev_D 222:7de7b3bf3a1d 260 unsigned int My_Addres; //56 адрес прибора
Kovalev_D 222:7de7b3bf3a1d 261 unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц)
Kovalev_D 222:7de7b3bf3a1d 262
Kovalev_D 222:7de7b3bf3a1d 263 unsigned int GLD_Serial; //58 серийный номер прибора
Kovalev_D 222:7de7b3bf3a1d 264 unsigned int CRC; //59 контрольная сумма посылки
Kovalev_D 222:7de7b3bf3a1d 265 unsigned int Firmware_Version; //60 версия программы
Kovalev_D 222:7de7b3bf3a1d 266 unsigned int RsErrLine; //61 регистр ошибок передачи.
Kovalev_D 222:7de7b3bf3a1d 267
Kovalev_D 222:7de7b3bf3a1d 268 int CuruAngle;
Kovalev_D 222:7de7b3bf3a1d 269 int CuruAngle32; //62 текущеий угол.
Kovalev_D 222:7de7b3bf3a1d 270 int CuruAngle64;
Kovalev_D 222:7de7b3bf3a1d 271 int CuruAngle96;
Kovalev_D 222:7de7b3bf3a1d 272 int CuruAngle128;
Kovalev_D 222:7de7b3bf3a1d 273 int OldCuruAngle; //63 старый угол
Kovalev_D 222:7de7b3bf3a1d 274 int CuruAngleLog;
Kovalev_D 222:7de7b3bf3a1d 275 int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
Kovalev_D 222:7de7b3bf3a1d 276
Kovalev_D 222:7de7b3bf3a1d 277 unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0
Kovalev_D 222:7de7b3bf3a1d 278 unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
Kovalev_D 222:7de7b3bf3a1d 279
Kovalev_D 222:7de7b3bf3a1d 280 unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига.
Kovalev_D 222:7de7b3bf3a1d 281 unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки.
Kovalev_D 222:7de7b3bf3a1d 282 unsigned int LaserOn;
Kovalev_D 222:7de7b3bf3a1d 283 unsigned int EXT_Latch; //69
Kovalev_D 205:775d54fdf646 284 } GyroT, *Gyro_p;
Kovalev_D 205:775d54fdf646 285 extern GyroT Gyro;
Kovalev_D 129:406995a91322 286
Kovalev_D 206:00341a03e05c 287 typedef union {
Kovalev_D 208:19150d2b528f 288 int Array[248];
Kovalev_D 206:00341a03e05c 289 struct {
Kovalev_D 208:19150d2b528f 290 unsigned int My_Addres; //0 адрес прибора
Kovalev_D 211:ac8251b067d2 291 unsigned int HFO_ref; //1
Kovalev_D 218:b4067cac75c0 292 unsigned int HFO_Gain; //2
Kovalev_D 211:ac8251b067d2 293 unsigned int DAC_current_Work; //3 HFO_MIN
Kovalev_D 211:ac8251b067d2 294 unsigned int DAC_current_Start; //4 HFO_MAX
Kovalev_D 208:19150d2b528f 295
Kovalev_D 222:7de7b3bf3a1d 296 unsigned int TimeToJump; //5
Kovalev_D 222:7de7b3bf3a1d 297 unsigned int JumpDelta; //6
Kovalev_D 208:19150d2b528f 298
Kovalev_D 208:19150d2b528f 299 unsigned int PLC_Phase; //7
Kovalev_D 220:04c54405b82d 300 int PLC_Gain; //8
Kovalev_D 208:19150d2b528f 301
Kovalev_D 211:ac8251b067d2 302 unsigned int PLCDelay; //9
Kovalev_D 211:ac8251b067d2 303
Kovalev_D 211:ac8251b067d2 304
Kovalev_D 211:ac8251b067d2 305 int DownTreshold; //10
Kovalev_D 211:ac8251b067d2 306 int HighTreshold; //11
Kovalev_D 211:ac8251b067d2 307
Kovalev_D 211:ac8251b067d2 308
Kovalev_D 208:19150d2b528f 309 unsigned int FrqPhase; //12 фаза
Kovalev_D 208:19150d2b528f 310 unsigned int FrqChengSpeed; //13 скорость регулировки частоты ВП
Kovalev_D 208:19150d2b528f 311 unsigned int FrqHZ; //14
Kovalev_D 208:19150d2b528f 312 unsigned int FrqHZmin; //15
Kovalev_D 208:19150d2b528f 313 unsigned int FrqHZmax; //16
Kovalev_D 208:19150d2b528f 314 unsigned int VB_Fdf_Hi; //17
Kovalev_D 208:19150d2b528f 315 unsigned int VB_Fdf_Lo; //18
Kovalev_D 208:19150d2b528f 316 unsigned int AmpSpeed; //19
Kovalev_D 208:19150d2b528f 317 unsigned int AmpPerMin; //20
Kovalev_D 208:19150d2b528f 318 unsigned int AmpPerMax; //21
Kovalev_D 208:19150d2b528f 319 unsigned int AmpPer; //22
Kovalev_D 208:19150d2b528f 320 unsigned int AmpMin; //23 минимальное значение AmpT(частота ошумления);
Kovalev_D 208:19150d2b528f 321 unsigned int AmpTD; //24 диапозон частоты ошумления(частота ошумления);
Kovalev_D 208:19150d2b528f 322 unsigned int AmpPerDel; //25 амплитуда ошумления
Kovalev_D 208:19150d2b528f 323 unsigned int a9; //26
Kovalev_D 211:ac8251b067d2 324 int a10; //27
Kovalev_D 211:ac8251b067d2 325 int a11; //28
Kovalev_D 208:19150d2b528f 326 unsigned int a12; //29
Kovalev_D 211:ac8251b067d2 327 unsigned int LG_Type; //30
Kovalev_D 211:ac8251b067d2 328 int ResetLevelHeat; //31
Kovalev_D 208:19150d2b528f 329 unsigned int a15; //32
Kovalev_D 220:04c54405b82d 330 unsigned int ShiftMod; //33
Kovalev_D 208:19150d2b528f 331 unsigned int ModAmp; //34 амплитуда модулятора
Kovalev_D 208:19150d2b528f 332
Kovalev_D 208:19150d2b528f 333 unsigned int a17; //35
Kovalev_D 208:19150d2b528f 334 unsigned int a18; //36
Kovalev_D 208:19150d2b528f 335 unsigned int a19; //37
Kovalev_D 208:19150d2b528f 336 unsigned int a20; //38
Kovalev_D 211:ac8251b067d2 337 int ResetLevelCool; //39
Kovalev_D 208:19150d2b528f 338 unsigned int a22; //40
Kovalev_D 208:19150d2b528f 339 unsigned int a23; //41
Kovalev_D 208:19150d2b528f 340 unsigned int a24; //42
Kovalev_D 208:19150d2b528f 341 unsigned int a25; //43
Kovalev_D 208:19150d2b528f 342 unsigned int a26; //44
Kovalev_D 208:19150d2b528f 343 unsigned int a27; //45
Kovalev_D 208:19150d2b528f 344 unsigned int a28; //46
Kovalev_D 208:19150d2b528f 345
Kovalev_D 208:19150d2b528f 346 unsigned int Tmp_OffsetT4; //47
Kovalev_D 208:19150d2b528f 347 unsigned int Tmp_OffsetT5; //48
Kovalev_D 208:19150d2b528f 348
Kovalev_D 208:19150d2b528f 349 unsigned int a29; //49
Kovalev_D 211:ac8251b067d2 350 unsigned int a30; //61 0 - Mirror 1 - Prizm.
Kovalev_D 208:19150d2b528f 351 unsigned int a32; //51
Kovalev_D 220:04c54405b82d 352 unsigned int a33; //52
Kovalev_D 208:19150d2b528f 353
Kovalev_D 208:19150d2b528f 354 unsigned int Tmp_scaleT4; //53
Kovalev_D 208:19150d2b528f 355 unsigned int Tmp_scaleT5; //54
Kovalev_D 208:19150d2b528f 356
Kovalev_D 211:ac8251b067d2 357 int RLH; //55
Kovalev_D 208:19150d2b528f 358
Kovalev_D 208:19150d2b528f 359 unsigned int Gain_Sin; //56 коиф усиления синуса.
Kovalev_D 208:19150d2b528f 360 unsigned int Gain_Cos; //57 коиф усиления косинуса.
Kovalev_D 211:ac8251b067d2 361 unsigned int Header_Word; //58 Признак достоверности
Kovalev_D 208:19150d2b528f 362 unsigned int ParamMod; //59
Kovalev_D 208:19150d2b528f 363 unsigned int GLD_Serial; //60 серийный номер прибора
Kovalev_D 208:19150d2b528f 364
Kovalev_D 211:ac8251b067d2 365 unsigned int PLC_Start; //61 0 - Mirror 1 - Prizm.
Kovalev_D 208:19150d2b528f 366
Kovalev_D 211:ac8251b067d2 367 unsigned int TermoMode; //62 серийный номер прибора
Kovalev_D 208:19150d2b528f 368
Kovalev_D 208:19150d2b528f 369 unsigned int a36; //63
Kovalev_D 208:19150d2b528f 370 unsigned int a37; //64
Kovalev_D 208:19150d2b528f 371 unsigned int a38; //65
Kovalev_D 208:19150d2b528f 372 unsigned int a39; //66
Kovalev_D 208:19150d2b528f 373 unsigned int a40; //67
Kovalev_D 208:19150d2b528f 374 unsigned int a41; //68
Kovalev_D 208:19150d2b528f 375 unsigned int a42; //69
Kovalev_D 208:19150d2b528f 376 unsigned int a43; //70
Kovalev_D 208:19150d2b528f 377 unsigned int a44; //71
Kovalev_D 208:19150d2b528f 378 unsigned int a45; //72
Kovalev_D 208:19150d2b528f 379 unsigned int a46; //73
Kovalev_D 208:19150d2b528f 380 unsigned int a47; //74
Kovalev_D 208:19150d2b528f 381 unsigned int a48; //75
Kovalev_D 208:19150d2b528f 382 unsigned int a49; //76
Kovalev_D 208:19150d2b528f 383 unsigned int a50; //77
Kovalev_D 208:19150d2b528f 384 unsigned int a51; //78
Kovalev_D 208:19150d2b528f 385 unsigned int a52; //79
Kovalev_D 208:19150d2b528f 386 unsigned int a53; //80
Kovalev_D 208:19150d2b528f 387 unsigned int a54; //81
Kovalev_D 211:ac8251b067d2 388 int a55; //82
Kovalev_D 208:19150d2b528f 389 unsigned int a56; //83
Kovalev_D 208:19150d2b528f 390 unsigned int a57; //84
Kovalev_D 208:19150d2b528f 391 unsigned int a58; //85
Kovalev_D 208:19150d2b528f 392 unsigned int a59; //86
Kovalev_D 208:19150d2b528f 393 unsigned int a60; //87
Kovalev_D 208:19150d2b528f 394 unsigned int a61; //88
Kovalev_D 208:19150d2b528f 395 unsigned int a62; //89
Kovalev_D 208:19150d2b528f 396 unsigned int a63; //90
Kovalev_D 208:19150d2b528f 397 unsigned int a64; //91
Kovalev_D 208:19150d2b528f 398 unsigned int a65; //92
Kovalev_D 208:19150d2b528f 399 unsigned int a66; //93
Kovalev_D 208:19150d2b528f 400 unsigned int a67; //94
Kovalev_D 208:19150d2b528f 401 unsigned int a68; //95
Kovalev_D 208:19150d2b528f 402 unsigned int a69; //96
Kovalev_D 208:19150d2b528f 403 unsigned int a70; //97
Kovalev_D 208:19150d2b528f 404 unsigned int a71; //98
Kovalev_D 208:19150d2b528f 405 unsigned int a72; //99
Kovalev_D 208:19150d2b528f 406 unsigned int a73; //100
Kovalev_D 208:19150d2b528f 407 unsigned int a74; //101
Kovalev_D 208:19150d2b528f 408 unsigned int a75; //102
Kovalev_D 208:19150d2b528f 409 unsigned int a76; //103
Kovalev_D 208:19150d2b528f 410 unsigned int a77; //104
Kovalev_D 208:19150d2b528f 411
Kovalev_D 211:ac8251b067d2 412 int RLC; //105
Kovalev_D 208:19150d2b528f 413
Kovalev_D 208:19150d2b528f 414 unsigned int a79; //106
Kovalev_D 208:19150d2b528f 415 unsigned int a80; //107
Kovalev_D 208:19150d2b528f 416
Kovalev_D 208:19150d2b528f 417 unsigned int a81; //108
Kovalev_D 208:19150d2b528f 418 unsigned int a82; //109
Kovalev_D 208:19150d2b528f 419 unsigned int a83; //110
Kovalev_D 208:19150d2b528f 420 unsigned int a84; //111
Kovalev_D 208:19150d2b528f 421 unsigned int a85; //112
Kovalev_D 208:19150d2b528f 422 unsigned int a86; //113
Kovalev_D 208:19150d2b528f 423 unsigned int a87; //114
Kovalev_D 222:7de7b3bf3a1d 424 unsigned int FlashMod; //115
Kovalev_D 208:19150d2b528f 425 unsigned int a89; //116
Kovalev_D 208:19150d2b528f 426
Kovalev_D 208:19150d2b528f 427 unsigned int TSHeat0; //117
Kovalev_D 208:19150d2b528f 428 unsigned int TSHeat1; //118
Kovalev_D 208:19150d2b528f 429 unsigned int TSHeat2; //119
Kovalev_D 208:19150d2b528f 430 unsigned int TSHeat3; //120
Kovalev_D 208:19150d2b528f 431 unsigned int TSHeat4; //121
Kovalev_D 208:19150d2b528f 432 unsigned int TSHeat5; //122
Kovalev_D 208:19150d2b528f 433 unsigned int TSHeat6; //123
Kovalev_D 208:19150d2b528f 434 unsigned int TSHeat7; //124
Kovalev_D 208:19150d2b528f 435 unsigned int TSHeat8; //125
Kovalev_D 208:19150d2b528f 436 unsigned int TSHeat9; //126
Kovalev_D 208:19150d2b528f 437 unsigned int TSHeat10; //127
Kovalev_D 208:19150d2b528f 438 unsigned int TSHeat11; //128
Kovalev_D 208:19150d2b528f 439 unsigned int TSHeat12; //129
Kovalev_D 208:19150d2b528f 440 unsigned int TSHeat13; //130
Kovalev_D 208:19150d2b528f 441
Kovalev_D 208:19150d2b528f 442 unsigned int TermoDataHeat0; //131
Kovalev_D 208:19150d2b528f 443 unsigned int TermoDataHeat1; //132
Kovalev_D 208:19150d2b528f 444 unsigned int TermoDataHeat2; //133
Kovalev_D 208:19150d2b528f 445 unsigned int TermoDataHeat3; //134
Kovalev_D 208:19150d2b528f 446 unsigned int TermoDataHeat4; //135
Kovalev_D 208:19150d2b528f 447 unsigned int TermoDataHeat5; //136
Kovalev_D 208:19150d2b528f 448 unsigned int TermoDataHeat6; //137
Kovalev_D 208:19150d2b528f 449 unsigned int TermoDataHeat7; //138
Kovalev_D 208:19150d2b528f 450 unsigned int TermoDataHeat8; //139
Kovalev_D 208:19150d2b528f 451 unsigned int TermoDataHeat9; //140
Kovalev_D 208:19150d2b528f 452 unsigned int TermoDataHeat10; //141
Kovalev_D 208:19150d2b528f 453 unsigned int TermoDataHeat11; //142
Kovalev_D 208:19150d2b528f 454 unsigned int TermoDataHeat12; //143
Kovalev_D 208:19150d2b528f 455 unsigned int TermoDataHeat13; //144
Kovalev_D 208:19150d2b528f 456 unsigned int TermoDataHeat14; //145
Kovalev_D 208:19150d2b528f 457 unsigned int TermoDataHeat15; //146
Kovalev_D 208:19150d2b528f 458 unsigned int TermoDataHeat16; //147
Kovalev_D 208:19150d2b528f 459 unsigned int TermoDataHeat17; //148
Kovalev_D 208:19150d2b528f 460 unsigned int TermoDataHeat18; //149
Kovalev_D 208:19150d2b528f 461 unsigned int TermoDataHeat19; //150
Kovalev_D 208:19150d2b528f 462 unsigned int TermoDataHeat20; //151
Kovalev_D 208:19150d2b528f 463 unsigned int TermoDataHeat21; //152
Kovalev_D 208:19150d2b528f 464 unsigned int TermoDataHeat22; //153
Kovalev_D 208:19150d2b528f 465 unsigned int TermoDataHeat23; //154
Kovalev_D 208:19150d2b528f 466 unsigned int TermoDataHeat24; //155
Kovalev_D 208:19150d2b528f 467 unsigned int TermoDataHeat25; //156
Kovalev_D 208:19150d2b528f 468 unsigned int TermoDataHeat26; //157
Kovalev_D 208:19150d2b528f 469 unsigned int TermoDataHeat27; //158
Kovalev_D 208:19150d2b528f 470
Kovalev_D 208:19150d2b528f 471 unsigned int Step; //159
Kovalev_D 208:19150d2b528f 472
Kovalev_D 208:19150d2b528f 473 unsigned int TSCool0; //160
Kovalev_D 208:19150d2b528f 474 unsigned int TSCool1; //161
Kovalev_D 208:19150d2b528f 475 unsigned int TSCool2; //162
Kovalev_D 208:19150d2b528f 476 unsigned int TSCool3; //163
Kovalev_D 208:19150d2b528f 477 unsigned int TSCool4; //164
Kovalev_D 208:19150d2b528f 478 unsigned int TSCool5; //165
Kovalev_D 208:19150d2b528f 479 unsigned int TSCool6; //166
Kovalev_D 208:19150d2b528f 480 unsigned int TSCool7; //167
Kovalev_D 208:19150d2b528f 481 unsigned int TSCool8; //168
Kovalev_D 208:19150d2b528f 482 unsigned int TSCool9; //169
Kovalev_D 208:19150d2b528f 483 unsigned int TSCool10; //170
Kovalev_D 208:19150d2b528f 484 unsigned int TSCool11; //171
Kovalev_D 208:19150d2b528f 485 unsigned int TSCool12; //172
Kovalev_D 208:19150d2b528f 486 unsigned int TSCool13; //173
Kovalev_D 208:19150d2b528f 487
Kovalev_D 208:19150d2b528f 488 unsigned int TermoDataCool0; //174
Kovalev_D 208:19150d2b528f 489 unsigned int TermoDataCool1; //175
Kovalev_D 208:19150d2b528f 490 unsigned int TermoDataCool2; //176
Kovalev_D 208:19150d2b528f 491 unsigned int TermoDataCool3; //177
Kovalev_D 208:19150d2b528f 492 unsigned int TermoDataCool4; //178
Kovalev_D 208:19150d2b528f 493 unsigned int TermoDataCool5; //179
Kovalev_D 208:19150d2b528f 494 unsigned int TermoDataCool6; //180
Kovalev_D 208:19150d2b528f 495 unsigned int TermoDataCool7; //181
Kovalev_D 208:19150d2b528f 496 unsigned int TermoDataCool8; //182
Kovalev_D 208:19150d2b528f 497 unsigned int TermoDataCool9; //183
Kovalev_D 208:19150d2b528f 498 unsigned int TermoDataCool10; //184
Kovalev_D 208:19150d2b528f 499 unsigned int TermoDataCool11; //185
Kovalev_D 208:19150d2b528f 500 unsigned int TermoDataCool12; //186
Kovalev_D 208:19150d2b528f 501 unsigned int TermoDataCool13; //187
Kovalev_D 208:19150d2b528f 502 unsigned int TermoDataCool14; //188
Kovalev_D 208:19150d2b528f 503 unsigned int TermoDataCool15; //189
Kovalev_D 208:19150d2b528f 504 unsigned int TermoDataCool16; //190
Kovalev_D 208:19150d2b528f 505 unsigned int TermoDataCool17; //191
Kovalev_D 208:19150d2b528f 506 unsigned int TermoDataCool18; //192
Kovalev_D 208:19150d2b528f 507 unsigned int TermoDataCool19; //193
Kovalev_D 208:19150d2b528f 508 unsigned int TermoDataCool20; //194
Kovalev_D 208:19150d2b528f 509 unsigned int TermoDataCool21; //195
Kovalev_D 208:19150d2b528f 510 unsigned int TermoDataCool22; //196
Kovalev_D 208:19150d2b528f 511 unsigned int TermoDataCool23; //197
Kovalev_D 208:19150d2b528f 512 unsigned int TermoDataCool24; //198
Kovalev_D 208:19150d2b528f 513 unsigned int TermoDataCool25; //199
Kovalev_D 208:19150d2b528f 514 unsigned int TermoDataCool26; //200
Kovalev_D 208:19150d2b528f 515 unsigned int TermoDataCool27; //201
Kovalev_D 208:19150d2b528f 516
Kovalev_D 208:19150d2b528f 517 /*
Kovalev_D 208:19150d2b528f 518 unsigned int a84; //131
Kovalev_D 208:19150d2b528f 519 unsigned int a85; //132
Kovalev_D 208:19150d2b528f 520 unsigned int a86; //133
Kovalev_D 208:19150d2b528f 521 unsigned int a87; //134
Kovalev_D 208:19150d2b528f 522 unsigned int a88; //135
Kovalev_D 208:19150d2b528f 523 unsigned int a89; //136
Kovalev_D 208:19150d2b528f 524
Kovalev_D 208:19150d2b528f 525
Kovalev_D 208:19150d2b528f 526
Kovalev_D 206:00341a03e05c 527 unsigned int Firmware_Version; //1 версия программы
Kovalev_D 206:00341a03e05c 528 unsigned int DropDelayGLD; //3 задержка для мультидропа (дискрета 100кГц)
Kovalev_D 206:00341a03e05c 529
Kovalev_D 206:00341a03e05c 530 unsigned int Gain_Sin; //7 коиф усиления синуса.
Kovalev_D 206:00341a03e05c 531 unsigned int Gain_Cos; //8 коиф усиления косинуса.
Kovalev_D 206:00341a03e05c 532
Kovalev_D 206:00341a03e05c 533 unsigned int FrqHZ; //9 Частота в Гц.
Kovalev_D 206:00341a03e05c 534 unsigned int FrqHZmin; //10 Мин значение частоты ВП
Kovalev_D 206:00341a03e05c 535 unsigned int FrqHZmax; //11 Мах значение частоты ВП
Kovalev_D 208:19150d2b528f 536
Kovalev_D 206:00341a03e05c 537 unsigned int AmpPer; //13 начальное значение амплитуды
Kovalev_D 208:19150d2b528f 538
Kovalev_D 208:19150d2b528f 539
Kovalev_D 206:00341a03e05c 540 unsigned int AmpPerDel; //16 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 206:00341a03e05c 541 unsigned int AmpPerMin; //17 ограничение минимальной амплитуды ВП
Kovalev_D 206:00341a03e05c 542 unsigned int AmpPerMax; //18 ограничение максимальной амплитуды ВП
Kovalev_D 206:00341a03e05c 543 unsigned int AmpSpeed; //19 коиффициент сорости регулировки амплитуды
Kovalev_D 206:00341a03e05c 544 unsigned int AmpTarget; //20 целевая амплитуда ВП к которой стремится регулировка.
Kovalev_D 206:00341a03e05c 545
Kovalev_D 206:00341a03e05c 546 unsigned int TermoNKU; //21
Kovalev_D 206:00341a03e05c 547
Kovalev_D 208:19150d2b528f 548
Kovalev_D 208:19150d2b528f 549
Kovalev_D 206:00341a03e05c 550
Kovalev_D 208:19150d2b528f 551
Kovalev_D 206:00341a03e05c 552 unsigned int DAC_B; //25
Kovalev_D 208:19150d2b528f 553 unsigned int Try_Discarg;
Kovalev_D 208:19150d2b528f 554 */
Kovalev_D 206:00341a03e05c 555 //unsigned int PLC_Lern; //3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
Kovalev_D 206:00341a03e05c 556 //unsigned int Frq; //6 Непосредственное значение частоты для таймера.
Kovalev_D 206:00341a03e05c 557 } Str;
Kovalev_D 206:00341a03e05c 558 } GyroParam;
Kovalev_D 206:00341a03e05c 559 /*
Kovalev_D 205:775d54fdf646 560 typedef union {
Kovalev_D 205:775d54fdf646 561 int Array[70];
Kovalev_D 205:775d54fdf646 562 struct {
Kovalev_D 205:775d54fdf646 563 unsigned int LogPLC; // 1
Kovalev_D 205:775d54fdf646 564 unsigned int Log; // 2
Kovalev_D 205:775d54fdf646 565
Kovalev_D 205:775d54fdf646 566 unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора
Kovalev_D 205:775d54fdf646 567 unsigned int ModAmp; // 4 амплитуда модулятора
Kovalev_D 205:775d54fdf646 568
Kovalev_D 205:775d54fdf646 569 unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
Kovalev_D 205:775d54fdf646 570 unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate.
Kovalev_D 205:775d54fdf646 571
Kovalev_D 205:775d54fdf646 572 unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1
Kovalev_D 205:775d54fdf646 573 unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру.
Kovalev_D 205:775d54fdf646 574 unsigned int Event_500Hz;
Kovalev_D 205:775d54fdf646 575
Kovalev_D 205:775d54fdf646 576 unsigned int RgConA; // 9 регистр управления ГЛД
Kovalev_D 205:775d54fdf646 577 unsigned int RgConB; //10 регистр управления ГЛД
Kovalev_D 129:406995a91322 578
Kovalev_D 205:775d54fdf646 579 unsigned int Gain_Sin; //11 коиф усиления синуса.
Kovalev_D 205:775d54fdf646 580 unsigned int Gain_Cos; //12 коиф усиления косинуса.
Kovalev_D 205:775d54fdf646 581 unsigned int Frq; //13 Непосредственное значение частоты для таймера.
Kovalev_D 205:775d54fdf646 582 unsigned int FrqHZ; //14 Частота в Гц.
Kovalev_D 205:775d54fdf646 583 unsigned int FrqHZmin; //15 Мин значение частоты ВП
Kovalev_D 205:775d54fdf646 584 unsigned int FrqHZmax; //16 Мах значение частоты ВП
Kovalev_D 205:775d54fdf646 585 unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП
Kovalev_D 205:775d54fdf646 586
Kovalev_D 205:775d54fdf646 587 unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП
Kovalev_D 205:775d54fdf646 588 unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП
Kovalev_D 205:775d54fdf646 589 unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП
Kovalev_D 205:775d54fdf646 590 unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро.
Kovalev_D 205:775d54fdf646 591
Kovalev_D 205:775d54fdf646 592
Kovalev_D 205:775d54fdf646 593 unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16)
Kovalev_D 205:775d54fdf646 594 unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ;
Kovalev_D 205:775d54fdf646 595 unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления)
Kovalev_D 205:775d54fdf646 596 unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления);
Kovalev_D 205:775d54fdf646 597 unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления);
Kovalev_D 205:775d54fdf646 598
Kovalev_D 205:775d54fdf646 599 unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП
Kovalev_D 205:775d54fdf646 600 unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП
Kovalev_D 205:775d54fdf646 601 unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды
Kovalev_D 205:775d54fdf646 602 unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка.
Kovalev_D 205:775d54fdf646 603 unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 205:775d54fdf646 604 unsigned int AmpN1; //32 левая граница импулься ВП
Kovalev_D 205:775d54fdf646 605 unsigned int AmpN2; //33 правая граница импулься ВП
Kovalev_D 205:775d54fdf646 606 unsigned int F_ras; //34 частота расщипления (не расчитывается)
Kovalev_D 205:775d54fdf646 607 int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу.
Kovalev_D 205:775d54fdf646 608
Kovalev_D 205:775d54fdf646 609 //ЭНКОДЕР
Kovalev_D 205:775d54fdf646 610 int CaunPlus; //36 счетчик +
Kovalev_D 205:775d54fdf646 611 int CaunMin; //37 счетчик -
Kovalev_D 205:775d54fdf646 612
Kovalev_D 205:775d54fdf646 613 // данные АЦП
Kovalev_D 205:775d54fdf646 614 unsigned int TermoNKU; //38
Kovalev_D 205:775d54fdf646 615 unsigned int Termo; //39 значение АЦП
Kovalev_D 205:775d54fdf646 616 unsigned int DeltaT; //40
Kovalev_D 205:775d54fdf646 617 unsigned int In1; //41
Kovalev_D 205:775d54fdf646 618 unsigned int In2; //42
Kovalev_D 205:775d54fdf646 619
Kovalev_D 205:775d54fdf646 620 //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
Kovalev_D 205:775d54fdf646 621 unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное
Kovalev_D 205:775d54fdf646 622 unsigned int ADS_Accum; //44 Значенее амплитудного детектора Временное
Kovalev_D 205:775d54fdf646 623 unsigned int ADS_AccumTermLM; //45
Kovalev_D 205:775d54fdf646 624 unsigned int TermLM; //46
Kovalev_D 205:775d54fdf646 625 unsigned int ADF_Count; //47 Значенее времени накопления данных
Kovalev_D 205:775d54fdf646 626 unsigned int ADS_Count; //48 Значенее времени накопления данных
Kovalev_D 205:775d54fdf646 627 unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 205:775d54fdf646 628 unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 205:775d54fdf646 629 unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре
Kovalev_D 205:775d54fdf646 630 unsigned int ADS_NewData; //52 -----------/----------/----------/--------
Kovalev_D 205:775d54fdf646 631
Kovalev_D 205:775d54fdf646 632 int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод)
Kovalev_D 205:775d54fdf646 633
Kovalev_D 205:775d54fdf646 634 unsigned int CMD_In; //54 входящая команда
Kovalev_D 205:775d54fdf646 635 unsigned int SOC_Out; //55
Kovalev_D 205:775d54fdf646 636 unsigned int My_Addres; //56 адрес прибора
Kovalev_D 205:775d54fdf646 637 unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц)
Kovalev_D 205:775d54fdf646 638
Kovalev_D 205:775d54fdf646 639 unsigned int GLD_Serial; //58 серийный номер прибора
Kovalev_D 205:775d54fdf646 640 unsigned int CRC; //59 контрольная сумма посылки
Kovalev_D 205:775d54fdf646 641 unsigned int Firmware_Version; //60 версия программы
Kovalev_D 205:775d54fdf646 642 unsigned int RsErrLine; //61 регистр ошибок передачи.
Kovalev_D 205:775d54fdf646 643
Kovalev_D 205:775d54fdf646 644 int CuruAngle; //62 текущеий угол.
Kovalev_D 205:775d54fdf646 645 int OldCuruAngle; //63 старый угол
Kovalev_D 205:775d54fdf646 646 int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика)
Kovalev_D 205:775d54fdf646 647
Kovalev_D 205:775d54fdf646 648 unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0
Kovalev_D 205:775d54fdf646 649 unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
Kovalev_D 205:775d54fdf646 650
Kovalev_D 205:775d54fdf646 651 unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига.
Kovalev_D 205:775d54fdf646 652 unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки.
Kovalev_D 205:775d54fdf646 653
Kovalev_D 205:775d54fdf646 654 unsigned int EXT_Latch; //69
Kovalev_D 205:775d54fdf646 655
Kovalev_D 205:775d54fdf646 656 unsigned int wall; //70
Kovalev_D 206:00341a03e05c 657 unsigned int ParamMod ; //71
Kovalev_D 205:775d54fdf646 658 } Str;
Kovalev_D 206:00341a03e05c 659 } GyroParam; */
Kovalev_D 129:406995a91322 660 extern GyroParam GyroP;
Kovalev_D 28:1c9acd3b224d 661
Kovalev_D 191:40028201ddad 662 extern void AllRegul (void);
Kovalev_D 107:4d178bcc9d8a 663 extern unsigned int amp;
Kovalev_D 122:fbacb932a30b 664 extern int Rate2VibFlag;
igor_v 0:8ad47e2b6f00 665 extern void cheng(void);
Kovalev_D 192:d32c8cf7bcd9 666
igor_v 0:8ad47e2b6f00 667 extern void VibroOut(void);
Kovalev_D 190:289514f730ee 668
Kovalev_D 150:29c9f7671bac 669 extern void VibroAMPRegul(void);
Kovalev_D 150:29c9f7671bac 670 extern void VibroFrqRegul(void);
Kovalev_D 98:95b8e79f13e1 671 extern unsigned int FrecTp;
Kovalev_D 98:95b8e79f13e1 672 extern int Pulse_midl;
igor_v 0:8ad47e2b6f00 673 extern struct VIBRO Vib;
igor_v 0:8ad47e2b6f00 674 extern int PulseHalf;
igor_v 30:17c84ed091b3 675 extern int CuruAngle;
igor_v 0:8ad47e2b6f00 676 extern unsigned int FrecTemp;
igor_v 0:8ad47e2b6f00 677 #endif
igor_v 0:8ad47e2b6f00 678