fork

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Kovalev_D
Date:
Thu Oct 20 09:29:05 2016 +0000
Revision:
198:fb22ba6aad54
Parent:
197:7a05523bf588
Child:
199:2728719cdc64
fork

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 132:2c7bec5cf6fe 19
Kovalev_D 150:29c9f7671bac 20
Kovalev_D 107:4d178bcc9d8a 21 extern int tempAMP;
igor_v 33:341521841d3a 22 typedef struct _Gyro {
Kovalev_D 193:a0fe8bfc97e4 23 int qei;
Kovalev_D 193:a0fe8bfc97e4 24 int QEIznak1,QEIznak2;
Kovalev_D 140:1fbf117fc120 25 unsigned int StrayHZ; //помеха
Kovalev_D 140:1fbf117fc120 26 unsigned int StrayHZ_flag;
Kovalev_D 140:1fbf117fc120 27 unsigned int LogHZ;
Kovalev_D 193:a0fe8bfc97e4 28
Kovalev_D 192:d32c8cf7bcd9 29 int flag;
Kovalev_D 142:7a6f68601291 30 unsigned int StrayPLC_Pls; //помеха +
Kovalev_D 142:7a6f68601291 31 int StrayPLC_Mns; //помеха -
Kovalev_D 140:1fbf117fc120 32 unsigned int StrayPLC_2Mode;
Kovalev_D 140:1fbf117fc120 33 unsigned int StrayPLC_flag;
Kovalev_D 140:1fbf117fc120 34 unsigned int LogPLC;
Kovalev_D 198:fb22ba6aad54 35 unsigned int Start_PLC;
Kovalev_D 150:29c9f7671bac 36 unsigned int PLC_Lern;
Kovalev_D 168:f4a6abb18358 37 unsigned int ModJump;
Kovalev_D 197:7a05523bf588 38 unsigned int TimJump;
Kovalev_D 172:ef7bf1663645 39 unsigned int flagGph_W;
Kovalev_D 197:7a05523bf588 40 unsigned int ModAmp;
Kovalev_D 139:1716152517aa 41
Kovalev_D 152:cff1321ab25e 42 // unsigned int Test_time;
Kovalev_D 152:cff1321ab25e 43 // unsigned int Test_time1;
Kovalev_D 139:1716152517aa 44
Kovalev_D 132:2c7bec5cf6fe 45 unsigned int FlashMod; //0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash.
Kovalev_D 139:1716152517aa 46
Kovalev_D 124:9ae09249f842 47 unsigned int ModeOut;
Kovalev_D 170:d099c3025f87 48 // unsigned int Rate1_Flag;
Kovalev_D 124:9ae09249f842 49 unsigned int Rate1_Event;
Kovalev_D 170:d099c3025f87 50 // unsigned int Rate2_Flag;
Kovalev_D 193:a0fe8bfc97e4 51 unsigned int Reper_Event;
Kovalev_D 124:9ae09249f842 52 #define Rate1 0x01
Kovalev_D 124:9ae09249f842 53 #define Rate2 0x02
Kovalev_D 124:9ae09249f842 54 #define PRate1 0x81
Kovalev_D 124:9ae09249f842 55 #define PRate2 0x82
Kovalev_D 124:9ae09249f842 56
Kovalev_D 124:9ae09249f842 57
Kovalev_D 124:9ae09249f842 58 unsigned int DeltaEXT_Event;
Kovalev_D 124:9ae09249f842 59 unsigned int Delta500_Event;
Kovalev_D 193:a0fe8bfc97e4 60 unsigned int Delta_Bins_Event500;
Kovalev_D 193:a0fe8bfc97e4 61 unsigned int B_Delta_EventEXT;
Kovalev_D 193:a0fe8bfc97e4 62 unsigned int B_Delta_Event500;
Kovalev_D 143:2b15794a6cd2 63 unsigned int Event_500Hz;
Kovalev_D 162:44e4ded32c6a 64 #define Delta_500 0x10
Kovalev_D 162:44e4ded32c6a 65 #define PDelta_500 0x90
Kovalev_D 162:44e4ded32c6a 66 #define Delta_EXT 0x0
Kovalev_D 162:44e4ded32c6a 67 #define PDelta_EXT 0x80
Kovalev_D 193:a0fe8bfc97e4 68 #define Delta_Bins 0x0
Kovalev_D 193:a0fe8bfc97e4 69 #define PDelta_Bins 0x1
Kovalev_D 193:a0fe8bfc97e4 70
Kovalev_D 193:a0fe8bfc97e4 71
Kovalev_D 193:a0fe8bfc97e4 72 #define PB_Delta_EXT 0x9
Kovalev_D 193:a0fe8bfc97e4 73 #define B_Delta_EXT 0x1
Kovalev_D 193:a0fe8bfc97e4 74 #define PB_Delta_INT 0x8
Kovalev_D 193:a0fe8bfc97e4 75 #define B_Delta_INT 0x0
Kovalev_D 193:a0fe8bfc97e4 76
Kovalev_D 85:0466ee8cdfc8 77 unsigned int RgConA;
Kovalev_D 85:0466ee8cdfc8 78 unsigned int RgConB;
Kovalev_D 26:52ce5953a5c2 79
Kovalev_D 190:289514f730ee 80 unsigned int Gain_Sin;
Kovalev_D 190:289514f730ee 81 unsigned int Gain_Cos;
Kovalev_D 26:52ce5953a5c2 82
Kovalev_D 198:fb22ba6aad54 83
Kovalev_D 198:fb22ba6aad54 84 unsigned int test;
Kovalev_D 198:fb22ba6aad54 85
Kovalev_D 198:fb22ba6aad54 86
igor_v 37:bdd52117b56e 87 unsigned int Frq; // Непосредственное значение частоты для таймера.
igor_v 37:bdd52117b56e 88 unsigned int FrqHZ; // Частота в Гц.
Kovalev_D 191:40028201ddad 89 unsigned int FrqHZmin; //Мин значение частоты ВП
Kovalev_D 191:40028201ddad 90 unsigned int FrqHZmax; //Мах значение частоты ВП
Kovalev_D 191:40028201ddad 91 unsigned int FrqChengSpeed;//скорость регулировки частоты ВП
Kovalev_D 85:0466ee8cdfc8 92
Kovalev_D 152:cff1321ab25e 93 unsigned int VibroFrqRegulF; //флаг регулировки частоты ВП
Kovalev_D 152:cff1321ab25e 94 unsigned int VibroAMPRegulF; //флаг регулировки амплитуды ВП
Kovalev_D 152:cff1321ab25e 95 unsigned int VibroNoiseF; //флаг ошумления амплитуды ВП
Kovalev_D 112:4a96133a1311 96 unsigned int VibroOutF;
Kovalev_D 85:0466ee8cdfc8 97
Kovalev_D 191:40028201ddad 98
Kovalev_D 26:52ce5953a5c2 99 unsigned int Amp;
Kovalev_D 85:0466ee8cdfc8 100 unsigned int AmpT; // значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)
Kovalev_D 85:0466ee8cdfc8 101 unsigned int AmpMin; // минимальное значение AmpT(частота ошумления);
Kovalev_D 85:0466ee8cdfc8 102 unsigned int AmpTD; // максимальное значение AmpT(частота ошумления);
Kovalev_D 85:0466ee8cdfc8 103 unsigned int AmpPer; // Амплитуда в процентах;
Kovalev_D 189:8a16378724c4 104 unsigned int AmpPerMin;
Kovalev_D 189:8a16378724c4 105 unsigned int AmpPerMax;
Kovalev_D 189:8a16378724c4 106 unsigned int AmpSpeed;
Kovalev_D 191:40028201ddad 107 unsigned int AmpTarget;
Kovalev_D 180:375dcd9c0cb6 108 unsigned int AmpPerDel;// значение для расчета амплитуды(дельта амплитуды), мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 112:4a96133a1311 109 unsigned int AmpN1; // левая граница импулься ВП
Kovalev_D 112:4a96133a1311 110 unsigned int AmpN2; // равая граница импулься ВП
Kovalev_D 112:4a96133a1311 111 int MaxAmp; // амплитуда Пик-Пик расчтитанная по востановленному синусу.
Kovalev_D 191:40028201ddad 112 int AmpSC;
Kovalev_D 112:4a96133a1311 113 //ЭНКОДЕР
Kovalev_D 112:4a96133a1311 114 int CaunPlus;//
Kovalev_D 112:4a96133a1311 115 int CaunMin;//
igor_v 110:6406b7ac0442 116 // данные АЦП
Kovalev_D 113:8be429494918 117 unsigned int Termo; // значение АЦП
Kovalev_D 195:bcc769f5292b 118 unsigned int TermoNKU;
Kovalev_D 195:bcc769f5292b 119 float Ktermo;
Kovalev_D 113:8be429494918 120 unsigned int DeltaT;
Kovalev_D 113:8be429494918 121 unsigned int In1;
Kovalev_D 113:8be429494918 122 unsigned int In2;
igor_v 111:8ee1ef722ba7 123 //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
igor_v 111:8ee1ef722ba7 124 unsigned int ADF_Accum; //Значенее амплитудного детектора Временное
igor_v 111:8ee1ef722ba7 125 unsigned int ADS_Accum; //Значенее амплитудного детектора Временное
Kovalev_D 158:0c8342e1837a 126 unsigned int ADS_AccumTermLM;
Kovalev_D 158:0c8342e1837a 127 unsigned int TermLM;
igor_v 110:6406b7ac0442 128 unsigned int ADF_Count; //Значенее времени накопления данных
igor_v 111:8ee1ef722ba7 129 unsigned int ADS_Count; //Значенее времени накопления данных
Kovalev_D 197:7a05523bf588 130
igor_v 110:6406b7ac0442 131 unsigned int AD_Fast; //Значенее амплитудного детектора сдвинутое на 16 бит
igor_v 110:6406b7ac0442 132 unsigned int AD_Slow; //Значенее амплитудного детектора сдвинутое на 16 бит
Kovalev_D 197:7a05523bf588 133 unsigned int EventMOD;
Kovalev_D 197:7a05523bf588 134
igor_v 111:8ee1ef722ba7 135 unsigned int ADF_NewData; // есть данные после фильтрации в быстром фильтре
igor_v 111:8ee1ef722ba7 136 unsigned int ADS_NewData; //-----------/----------/----------/--------
igor_v 110:6406b7ac0442 137
igor_v 111:8ee1ef722ba7 138 //контур регулеровки Периметра "PLC"
igor_v 127:6a7472d67804 139 int PLC_Delta; // разница между старым и новым показаниями
igor_v 127:6a7472d67804 140 int PLC_DeltaADD; // разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП
Kovalev_D 116:66f1f0ff2dab 141 int PLC_Old;
igor_v 127:6a7472d67804 142 int PLC_ADC_DOld;
Kovalev_D 170:d099c3025f87 143 //int PLC_Regul;
Kovalev_D 152:cff1321ab25e 144 int PLC_Error2Mode; // счетчик, не ноль когдав двух модовом
Kovalev_D 157:1069c80f4944 145 int PlC_MaxD; // разница между максимальной и текущей амплитудами.
igor_v 110:6406b7ac0442 146
igor_v 111:8ee1ef722ba7 147 //Контур регулеровки накачки (если нужно, например ГВЧ)
igor_v 110:6406b7ac0442 148
Kovalev_D 196:f76dbc081e63 149 int tempdelta;
Kovalev_D 196:f76dbc081e63 150 int tempdelta2;
igor_v 111:8ee1ef722ba7 151
igor_v 111:8ee1ef722ba7 152
Kovalev_D 26:52ce5953a5c2 153 unsigned int CMD_In;
Kovalev_D 26:52ce5953a5c2 154 unsigned int SOC_Out;
Kovalev_D 26:52ce5953a5c2 155 unsigned int My_Addres;
Kovalev_D 181:0b022246c43c 156 unsigned int DropDelayGLD;//задержка для мультидропа (дискрета 100кГц)
Kovalev_D 193:a0fe8bfc97e4 157 #define DropDelayGLD_0 50
Kovalev_D 193:a0fe8bfc97e4 158 #define DropDelayGLD_1 50
Kovalev_D 193:a0fe8bfc97e4 159 #define DropDelayGLD_2 65
Kovalev_D 193:a0fe8bfc97e4 160 #define DropDelayGLD_3 80
Kovalev_D 26:52ce5953a5c2 161 unsigned int GLD_Serial;
Kovalev_D 26:52ce5953a5c2 162 unsigned int CRC;
Kovalev_D 26:52ce5953a5c2 163 unsigned int Firmware_Version;
Kovalev_D 26:52ce5953a5c2 164 unsigned int RsErrLine;
Kovalev_D 26:52ce5953a5c2 165
igor_v 110:6406b7ac0442 166
igor_v 110:6406b7ac0442 167
igor_v 110:6406b7ac0442 168
Kovalev_D 106:250ddd8629c6 169
igor_v 111:8ee1ef722ba7 170 int CuruAngle ;
Kovalev_D 193:a0fe8bfc97e4 171 int OldCuruAngle ;
Kovalev_D 197:7a05523bf588 172 int StopCuruAngle;
Kovalev_D 170:d099c3025f87 173 // int Num;
igor_v 111:8ee1ef722ba7 174 int Cnt_Dif;
Kovalev_D 108:030cdde08314 175
Kovalev_D 26:52ce5953a5c2 176 unsigned int F_ras;
Kovalev_D 108:030cdde08314 177
Kovalev_D 170:d099c3025f87 178 // unsigned int ras;
Kovalev_D 104:ab1cb4ff56b2 179
Kovalev_D 104:ab1cb4ff56b2 180
Kovalev_D 171:d227a6045305 181 #define FrqOFF Gyro.RgConA &= ~AFRQ; //установить контур регулировки частоты в "0"
Kovalev_D 171:d227a6045305 182 #define FrqON Gyro.RgConA |= AFRQ; //установить контур регулировки частоты в "1"
Kovalev_D 104:ab1cb4ff56b2 183
Kovalev_D 171:d227a6045305 184
Kovalev_D 171:d227a6045305 185 #define AVibOFF Gyro.RgConA &= ~AVBT; //установить контур регулировки частоты в "0"
Kovalev_D 171:d227a6045305 186 #define AVibON Gyro.RgConA |= AVBT; //установить контур регулировки частоты в "1"
Kovalev_D 171:d227a6045305 187
Kovalev_D 171:d227a6045305 188 #define HFOOFF Gyro.RgConA &= ~AHFO; //установить контур накачки в "0"
Kovalev_D 171:d227a6045305 189 #define HFOON Gyro.RgConA |= AHFO; //установить контур накачки в "1"
Kovalev_D 104:ab1cb4ff56b2 190
Kovalev_D 171:d227a6045305 191 #define PlcOFF Gyro.RgConA &= ~APLC; //установить контур регулировки периметра в "0"
Kovalev_D 171:d227a6045305 192 #define PlcON Gyro.RgConA |= APLC; //установить контур регулировки периметра в "1"
Kovalev_D 104:ab1cb4ff56b2 193
Kovalev_D 171:d227a6045305 194 #define AFRQ (1<<6)
Kovalev_D 171:d227a6045305 195 #define AVBT (1<<5)
Kovalev_D 171:d227a6045305 196 #define APLC (1<<3)
Kovalev_D 104:ab1cb4ff56b2 197 #define AHFO (1<<1)
Kovalev_D 171:d227a6045305 198
Kovalev_D 171:d227a6045305 199
Kovalev_D 171:d227a6045305 200
Kovalev_D 85:0466ee8cdfc8 201
Kovalev_D 152:cff1321ab25e 202 unsigned int PinReg; // bit4 bit3 bit 2 bit1 bit0
Kovalev_D 28:1c9acd3b224d 203 unsigned int PinRegOld; // || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
Kovalev_D 40:8a6494f61326 204 #define LedOFF Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0"
igor_v 48:8697dfe679b9 205 #define LedON Gyro.PinReg |= PinRegBitLED; //установить бит светодиода в "1"
Kovalev_D 40:8a6494f61326 206
Kovalev_D 104:ab1cb4ff56b2 207
igor_v 48:8697dfe679b9 208 #define PinRegBitTXE (1<<5)
igor_v 48:8697dfe679b9 209 #define PinRegBitLED (1<<4)
igor_v 48:8697dfe679b9 210 #define PinRegBitD (1<<3)
igor_v 48:8697dfe679b9 211 #define PinRegBitL (1<<2)
igor_v 48:8697dfe679b9 212 #define PinRegBit_2V (1<<1)
igor_v 48:8697dfe679b9 213 #define PinRegBit_1V (1<<0)
igor_v 110:6406b7ac0442 214 unsigned int Discharg; // последовательность бит харрактеризующая форму сигнала поджига.
Kovalev_D 188:4c523cc373cc 215 #define StartDischarg 0x00000222
Kovalev_D 40:8a6494f61326 216 unsigned int BackLight; // последовательность бит харрактеризующая форму сигнала подсветки.
Kovalev_D 188:4c523cc373cc 217 #define StartBackLight 0x00000333
igor_v 110:6406b7ac0442 218
Kovalev_D 188:4c523cc373cc 219 #define ShiftStart0 0x1
Kovalev_D 188:4c523cc373cc 220 #define ShiftStart1 0x1
Kovalev_D 188:4c523cc373cc 221 #define ShiftStart2 0x2
Kovalev_D 188:4c523cc373cc 222 #define ShiftStart3 0x3
igor_v 110:6406b7ac0442 223
Kovalev_D 128:1e4675a36c93 224 unsigned int EXT_Latch;
Kovalev_D 128:1e4675a36c93 225
igor_v 110:6406b7ac0442 226
Kovalev_D 28:1c9acd3b224d 227
Kovalev_D 28:1c9acd3b224d 228
Kovalev_D 26:52ce5953a5c2 229
Kovalev_D 28:1c9acd3b224d 230
Kovalev_D 129:406995a91322 231 } GyroT, *Gyro_p;
Kovalev_D 136:19b9e6abb86f 232
Kovalev_D 129:406995a91322 233 extern GyroT Gyro;
Kovalev_D 129:406995a91322 234 typedef union {
Kovalev_D 129:406995a91322 235 int Array[171];
Kovalev_D 129:406995a91322 236 struct {
Kovalev_D 129:406995a91322 237 // Device_blk
Kovalev_D 129:406995a91322 238 int My_Addres; //e. 0 - device own address //r.0 - собственный адрес устройства
Kovalev_D 129:406995a91322 239
Kovalev_D 129:406995a91322 240 //e. =============== parameters of HFO regulator =============== //r. =============== параметры контура ВЧ генератора накачки ===============
Kovalev_D 129:406995a91322 241 int HF_ref; //e. 1 - value of the reference //r. 1 - значение опоры
Kovalev_D 129:406995a91322 242 int HF_scl; //e. 2 - the gain factor (1.15) //r. 2 - коэффициент передачи (1.15)
Kovalev_D 129:406995a91322 243 int HF_min; //r. 3 - минимум выходного значения на ЦАПе регулятора (соответствует максим. напряжению на ГВЧ)
Kovalev_D 129:406995a91322 244 int HF_max; //e. 4 - maximum of the output value on the regulator DAC (appropriate to minimal voltage on the HFO) //r. 4 - максимум выходного значения на ЦАПе регулятора (соответствует миним. напряжению на ГВЧ)
Kovalev_D 129:406995a91322 245
Kovalev_D 129:406995a91322 246 //e. =============== parameters of the regulator of the DS power regulator ========== //r. =============== параметры контура регулирования мощности ДУП ==========
Kovalev_D 129:406995a91322 247 int RI_ref; //e. 5 - value of the reference //r. 5 - значение опоры
Kovalev_D 129:406995a91322 248 int RI_scl; //e. 6 - the gain factor (1.15) //r. 6 - коэффициент передачи (1.15)
Kovalev_D 129:406995a91322 249
Kovalev_D 129:406995a91322 250 //e. =============== parameters of the CPLC regulator ===== //r. =============== параметры контура стабилизации рабочего периметра (СРП) =====
Kovalev_D 129:406995a91322 251 int WP_ref; //e. 7 - value of the reference //r. 7 - значение опоры
Kovalev_D 129:406995a91322 252 int WP_scl; //e. 8 - the gain factor (1.15) //r. 8 - коэффициент передачи (1.15)
Kovalev_D 129:406995a91322 253 int WP_mdy; //e. 9 - value of the reset delay //r. 9 - значение задержки сброса
Kovalev_D 129:406995a91322 254 int WP_rup; //e. 10 - upper value of DAC adjustment (appropriate to minimal voltage on the heater) //r. 10 - верхнее значение регулировки ЦАП (соответствует миним. напряжению на нагревателе)
Kovalev_D 129:406995a91322 255 int WP_rdw; //e. 11 - lower value of the DAC adjustment (appropriate to maximal voltage on the heater) //r. 11 - верхнее значение регулировки ЦАП (соответствует максим. напряжению на нагревателе)
Kovalev_D 129:406995a91322 256
Kovalev_D 129:406995a91322 257 //e. =============== parameters of the dither drive regulator of the GLD ==================== //r. =============== параметры контура вибропривода ГЛД ====================
Kovalev_D 129:406995a91322 258 int VB_phs; //e. 12 - the phase delay parameter of the dither drive PLL //r. 12 - параметр Phase_зад. СРЧ вибропривода
Kovalev_D 129:406995a91322 259 int VB_scl; //e. 13 - the gain factor (1.15) of the dither drive PLL //r. 13 - коэффициент передачи (1.15) СРЧ вибропривода
Kovalev_D 129:406995a91322 260 unsigned int VB_N; //e. 14 - divider for dither drive period (defines dither period) //r. 14 - коэфф.деления N вибропривода (период колебаний) ВП
Kovalev_D 129:406995a91322 261 unsigned int VB_Nmin; //e. 15 - minimum of the output value of the oscillation period regulator //r. 15 - минимум выходного значения регулятора периода
Kovalev_D 129:406995a91322 262 unsigned int VB_Nmax; //e. 16 - maximum of the output value of the oscillation period regulator //r. 16 - максимум выходного значения регулятора периода
Kovalev_D 129:406995a91322 263
Kovalev_D 129:406995a91322 264 int VB_Fdf_Hi; //e. 17 - adjusted output frequency (H) //r. 17 - заданная частота расщепления (H)
Kovalev_D 129:406995a91322 265 unsigned int VB_Fdf_Lo; //e. 18 - (L) (double precision) //r. 18 - (L) (двойная точность)
Kovalev_D 129:406995a91322 266
Kovalev_D 129:406995a91322 267 int VB_Fsc; //e. 19 - the gain factor of the frequency regulator //r. 19 - коэффициент передачи регулятора частоты расщепления
Kovalev_D 129:406995a91322 268 unsigned int VB_Tmin; //e. 20 - the gain factor of the frequency regulator //r. 19 - коэффициент передачи регулятора частоты расщепления
Kovalev_D 129:406995a91322 269 unsigned int VB_Tmax; //e. 21 - maximum of the output value of the regulator //r. 21 - максимум выходного значения регулятора Tau
Kovalev_D 129:406995a91322 270 unsigned int VB_tau; //e. 22 - pulse width of the dither drive (without noise)//r. 22 - длительность импульса вибропривода (до ошумления)
Kovalev_D 129:406995a91322 271 int VBN_Tzd; //e. 23 - adjusted noise period //r. 23 - заданный период ошумления
Kovalev_D 129:406995a91322 272 int VBN_Ran; //e. 24 - range of the random component of noise //r. 24 - диапазон случайной составляющей ошумления VBN_Tsl
Kovalev_D 129:406995a91322 273 int VBN_k; //e. 25 - adjusted noise constant //r. 25 - заданная константа ошумления
Kovalev_D 129:406995a91322 274
Kovalev_D 129:406995a91322 275 //e. =============== parameters of processing of accurate data ============= //r. =============== параметры обработки точностной информации =============
Kovalev_D 129:406995a91322 276 int PI_Fsc; //_ //e. 26 - the S_ds scale parameter //r. 26 - масштабный коэффициент Sдуп
Kovalev_D 129:406995a91322 277 int PI_Fb0; //_ //e. 27 - the B_ds zero shift of the DS //r. 27 - смещение нуля ДУПа Bдуп
Kovalev_D 129:406995a91322 278 int PI_scl; //_ //e. 28 - the Scale scale coefficient of the gyro //r. 28 - масштабный коэфф. гироскопа Scale
Kovalev_D 129:406995a91322 279 int PI_bia; //_ //e. 29 - the Bias zero shift of the gyro //r. 29 - смещение нуля гироскопа Bias
Kovalev_D 129:406995a91322 280
Kovalev_D 129:406995a91322 281 //e. =============== coefficients of the temperature correction ================= //r. =============== коэффициенты температурной коррекции =================
Kovalev_D 129:406995a91322 282 int PI_a0; //_ // 30
Kovalev_D 129:406995a91322 283 int PI_a1; //_ // 31
Kovalev_D 129:406995a91322 284 int PI_a2; //_ // 32
Kovalev_D 129:406995a91322 285 int PI_a3; //_ // 33
Kovalev_D 129:406995a91322 286 int PI_a4; //_ // 34
Kovalev_D 129:406995a91322 287 int PI_a5; //_ // 35
Kovalev_D 129:406995a91322 288 int PI_a6; //_ // 36
Kovalev_D 129:406995a91322 289 int PI_b1; //_ // 37
Kovalev_D 129:406995a91322 290 int PI_b2; //_ // 38
Kovalev_D 129:406995a91322 291 int PI_b3; //_ // 39
Kovalev_D 129:406995a91322 292 int PI_b4; //_ // 40
Kovalev_D 129:406995a91322 293 int PI_b5; //_ // 41
Kovalev_D 129:406995a91322 294 int PI_b6; //_ // 42
Kovalev_D 129:406995a91322 295
Kovalev_D 129:406995a91322 296 //e. =============== parameters of normalization of the temperature sensors ============= //r. =============== параметры нормировки датчиков температуры =============
Kovalev_D 129:406995a91322 297
Kovalev_D 129:406995a91322 298 int Tmp_bias[6]; //_ //e. 43 - an array of shifts of the 0..5 temperature sensors //r. 43 - массив сдвигов температурных датчиков 0..5
Kovalev_D 129:406995a91322 299 int Tmp_scal[6]; //_ //e. 49 - an array of the scale coefficients of temperature sensors//r. 49 - массив масштабных к-тов температурных датчиков
Kovalev_D 129:406995a91322 300 int WP_reset; //e. 55 - initial position of the CPLC regulator (after reset) //r. 55 - исходное положение регулятора СРП (после сброса)
Kovalev_D 129:406995a91322 301
Kovalev_D 129:406995a91322 302 //e. ================ gain factor of photodetector channels =========== //r. ================ к-т усиления каналов фотоприемника ===========
Kovalev_D 129:406995a91322 303 unsigned int Gain_Ph_A; //e. 56 - initial gain factor of the A channel of photodetector //r. 56 - начальный к-т усиления канала А фотоприемника
Kovalev_D 129:406995a91322 304 unsigned int Gain_Ph_B; //e. 57 - initial gain factor of the B channel of photodetector //r. 57 - начальный к-т усиления канала B фотоприемника
Kovalev_D 129:406995a91322 305
Kovalev_D 129:406995a91322 306 //e. =============== switch of the source of loading GLD variables block === //r. =============== переключатель источника загрузки блока переменных ГЛД (галочка в настороечной программе)
Kovalev_D 129:406995a91322 307
Kovalev_D 129:406995a91322 308 int Header_Word; //e. 58 - flash sector validity header //r. 58 - заголовок-ключ к индикатору источника загрузки
Kovalev_D 129:406995a91322 309 int LoadFlash_enable; //e. 59 - source loading flag: 1 - load from the flash //r. 59 - признак источника загрузки: 1 - грузиться из flesh
Kovalev_D 129:406995a91322 310
Kovalev_D 129:406995a91322 311 //e. 0 - load default parameters (factory) //r. 0 - грузить параметры по умолчанию (заводские)
Kovalev_D 129:406995a91322 312 unsigned int Device_SerialNumber; //e. 60 - serial number of the device //r. 60 - серийный номер прибора
Kovalev_D 129:406995a91322 313 int Reserved0; //e. 61 - not used
Kovalev_D 129:406995a91322 314
Kovalev_D 129:406995a91322 315 int WP_reset2; //e. 91 - voltages of CPLC regulator reset at cooling //r. xx - напряжения обнуления контура СРП при охлаждении
Kovalev_D 129:406995a91322 316 //e. parameters setting termocompensation parameters in dynamics (at heating and cooling) //r. параметры, задающие параметры термокомпенсации в динамике (при нагреве и охлаждении)
Kovalev_D 129:406995a91322 317 float Reserved1; //e. 92 - not used
Kovalev_D 129:406995a91322 318 float Reserved2; //e. 93 - not used
Kovalev_D 129:406995a91322 319 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 от температуры (как бы Гц/градус, но в у.е.)
Kovalev_D 129:406995a91322 320 int TemperNormal; //e. 95 -temperature for which the VB_N division factor of the dither drive is set //r. температура, для которой задан коэффициент деления вибропривода VB_N
Kovalev_D 129:406995a91322 321 int K_WP_rst_heating; //r. 96 - крутизна зависимости напряжения обнуления при нагревании от температуры (как бы вольт/градус, но в у.е. ЦАП и термодатчиков )
Kovalev_D 129:406995a91322 322 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. крутизна зависимости напряжения обнуления при охлаждении от температуры (как бы вольт/градус, но в у.е. ЦАП и термодатчиков )
Kovalev_D 129:406995a91322 323 int WP_transition_step; //e. 98 - step of change of a heater voltage at resetting //r. шаг изменения напряжения нагревателя при выполнении обнуления
Kovalev_D 129:406995a91322 324 int Reserved3; // e. 99 -not used
Kovalev_D 129:406995a91322 325 int HF_scl_2; //r. 100 - коэффициент передачи (1.15) контура ГВЧ при обнулении
Kovalev_D 129:406995a91322 326 // int TemperIntDyn[TERMO_FUNC_SIZE]; //e. 114 -
Kovalev_D 129:406995a91322 327 // float ThermoHeatDelta[TERMO_FUNC_SIZE]; //e. 128 -
Kovalev_D 129:406995a91322 328 int DeltaTempRecalc; //r. 129 - температурный интервал пересчета динамич. компенсации (в у.е.) //e. temperature delta for dynamic thermocompensation recalculation(in relative units)
Kovalev_D 129:406995a91322 329 // int TemperCoolIntDyn[TERMO_FUNC_SIZE]; // e. 143 -
Kovalev_D 129:406995a91322 330 // float ThermoCoolDelta[TERMO_FUNC_SIZE]; //e. 157 -
Kovalev_D 129:406995a91322 331 // TERMO_MODE TermoMode; //e 62 - device operation mode (with thermocompenstion, without it, debug )//r. 62 - режим работы прибора (с термокомпенсацией, без нее или отладка)
Kovalev_D 129:406995a91322 332 //e. addition for the piecewise-linear termocorrection //r. добавление для кусочно-линейной термокоррекции
Kovalev_D 129:406995a91322 333 // int TemperInt[TERMO_FUNC_SIZE]; //e. 63
Kovalev_D 129:406995a91322 334 // float TermoFunc[TERMO_FUNC_SIZE]; //e. 77
Kovalev_D 129:406995a91322 335 } Str;
Kovalev_D 129:406995a91322 336 } GyroParam;
Kovalev_D 129:406995a91322 337
Kovalev_D 129:406995a91322 338 extern GyroParam GyroP;
Kovalev_D 28:1c9acd3b224d 339
Kovalev_D 191:40028201ddad 340 extern void AllRegul (void);
Kovalev_D 107:4d178bcc9d8a 341 extern unsigned int amp;
Kovalev_D 122:fbacb932a30b 342 extern int Rate2VibFlag;
igor_v 0:8ad47e2b6f00 343 extern void cheng(void);
Kovalev_D 192:d32c8cf7bcd9 344
igor_v 0:8ad47e2b6f00 345 extern void VibroOut(void);
Kovalev_D 190:289514f730ee 346
Kovalev_D 150:29c9f7671bac 347 extern void VibroAMPRegul(void);
Kovalev_D 150:29c9f7671bac 348 extern void VibroFrqRegul(void);
Kovalev_D 98:95b8e79f13e1 349 extern unsigned int FrecTp;
Kovalev_D 98:95b8e79f13e1 350 extern int Pulse_midl;
igor_v 0:8ad47e2b6f00 351 extern struct VIBRO Vib;
igor_v 0:8ad47e2b6f00 352 extern int PulseHalf;
igor_v 30:17c84ed091b3 353 extern int CuruAngle;
igor_v 0:8ad47e2b6f00 354 extern unsigned int FrecTemp;
igor_v 0:8ad47e2b6f00 355 #endif
igor_v 0:8ad47e2b6f00 356