Dmitry Kovalev
/
LGstaandart
forkd
Fork of LG2 by
vibro.h@128:1e4675a36c93, 2016-04-11 (annotated)
- Committer:
- Kovalev_D
- Date:
- Mon Apr 11 11:04:34 2016 +0000
- Revision:
- 128:1e4675a36c93
- Parent:
- 127:6a7472d67804
- Child:
- 129:406995a91322
123
Who changed what in which revision?
User | Revision | Line number | New 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 | 107:4d178bcc9d8a | 19 | extern int tempAMP; |
igor_v | 33:341521841d3a | 20 | typedef struct _Gyro { |
Kovalev_D | 122:fbacb932a30b | 21 | |
Kovalev_D | 124:9ae09249f842 | 22 | unsigned int ModeOut; |
Kovalev_D | 124:9ae09249f842 | 23 | unsigned int Rate1_Flag; |
Kovalev_D | 124:9ae09249f842 | 24 | unsigned int Rate1_Event; |
Kovalev_D | 124:9ae09249f842 | 25 | unsigned int Rate2_Flag; |
Kovalev_D | 124:9ae09249f842 | 26 | unsigned int Rate2_Event; |
Kovalev_D | 124:9ae09249f842 | 27 | #define Rate1 0x01 |
Kovalev_D | 124:9ae09249f842 | 28 | #define Rate2 0x02 |
Kovalev_D | 124:9ae09249f842 | 29 | #define PRate1 0x81 |
Kovalev_D | 124:9ae09249f842 | 30 | #define PRate2 0x82 |
Kovalev_D | 124:9ae09249f842 | 31 | |
Kovalev_D | 124:9ae09249f842 | 32 | |
Kovalev_D | 124:9ae09249f842 | 33 | unsigned int DeltaEXT_Event; |
Kovalev_D | 124:9ae09249f842 | 34 | unsigned int Delta500_Event; |
Kovalev_D | 124:9ae09249f842 | 35 | #define Delta_500 0x0 |
Kovalev_D | 124:9ae09249f842 | 36 | #define PDelta_500 0x80 |
Kovalev_D | 124:9ae09249f842 | 37 | #define Delta_EXT 0x10 |
Kovalev_D | 124:9ae09249f842 | 38 | #define PDelta_EXT 0x90 |
Kovalev_D | 85:0466ee8cdfc8 | 39 | unsigned int RgConA; |
Kovalev_D | 85:0466ee8cdfc8 | 40 | unsigned int RgConB; |
Kovalev_D | 26:52ce5953a5c2 | 41 | |
Kovalev_D | 103:e96f08947def | 42 | unsigned int Gain_A; |
Kovalev_D | 103:e96f08947def | 43 | unsigned int Gain_B; |
Kovalev_D | 26:52ce5953a5c2 | 44 | |
igor_v | 37:bdd52117b56e | 45 | unsigned int Frq; // Непосредственное значение частоты для таймера. |
igor_v | 37:bdd52117b56e | 46 | unsigned int FrqHZ; // Частота в Гц. |
Kovalev_D | 85:0466ee8cdfc8 | 47 | |
Kovalev_D | 112:4a96133a1311 | 48 | unsigned int VibroFrqRegulF;//флаг регулировки частоты ВП |
Kovalev_D | 112:4a96133a1311 | 49 | unsigned int VibroAMPRegulF;//флаг регулировки амплитуды ВП |
Kovalev_D | 112:4a96133a1311 | 50 | unsigned int VibroNoiseF;//флаг ошумления амплитуды ВП |
Kovalev_D | 112:4a96133a1311 | 51 | unsigned int VibroOutF; |
Kovalev_D | 85:0466ee8cdfc8 | 52 | |
Kovalev_D | 26:52ce5953a5c2 | 53 | unsigned int Amp; |
Kovalev_D | 85:0466ee8cdfc8 | 54 | unsigned int AmpT; // значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin) |
Kovalev_D | 85:0466ee8cdfc8 | 55 | unsigned int AmpMin; // минимальное значение AmpT(частота ошумления); |
Kovalev_D | 85:0466ee8cdfc8 | 56 | unsigned int AmpTD; // максимальное значение AmpT(частота ошумления); |
Kovalev_D | 85:0466ee8cdfc8 | 57 | unsigned int AmpPer; // Амплитуда в процентах; |
Kovalev_D | 112:4a96133a1311 | 58 | unsigned int AmpPerDel;// значение для расчета амплитуды(дельта амплитуды), мин знач : AmpPer-AmpPerDel, мах знач : AmpPer+AmpPerDel; (в процентах) |
Kovalev_D | 112:4a96133a1311 | 59 | unsigned int AmpN1; // левая граница импулься ВП |
Kovalev_D | 112:4a96133a1311 | 60 | unsigned int AmpN2; // равая граница импулься ВП |
Kovalev_D | 112:4a96133a1311 | 61 | int MaxAmp; // амплитуда Пик-Пик расчтитанная по востановленному синусу. |
Kovalev_D | 112:4a96133a1311 | 62 | //ЭНКОДЕР |
Kovalev_D | 112:4a96133a1311 | 63 | int CaunPlus;// |
Kovalev_D | 112:4a96133a1311 | 64 | int CaunMin;// |
igor_v | 110:6406b7ac0442 | 65 | // данные АЦП |
Kovalev_D | 113:8be429494918 | 66 | unsigned int Termo; // значение АЦП |
Kovalev_D | 113:8be429494918 | 67 | unsigned int DeltaT; |
Kovalev_D | 113:8be429494918 | 68 | unsigned int In1; |
Kovalev_D | 113:8be429494918 | 69 | unsigned int In2; |
igor_v | 111:8ee1ef722ba7 | 70 | //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow" |
igor_v | 111:8ee1ef722ba7 | 71 | unsigned int ADF_Accum; //Значенее амплитудного детектора Временное |
igor_v | 111:8ee1ef722ba7 | 72 | unsigned int ADS_Accum; //Значенее амплитудного детектора Временное |
igor_v | 110:6406b7ac0442 | 73 | |
igor_v | 110:6406b7ac0442 | 74 | unsigned int ADF_Count; //Значенее времени накопления данных |
igor_v | 111:8ee1ef722ba7 | 75 | unsigned int ADS_Count; //Значенее времени накопления данных |
igor_v | 110:6406b7ac0442 | 76 | |
igor_v | 110:6406b7ac0442 | 77 | unsigned int AD_Fast; //Значенее амплитудного детектора сдвинутое на 16 бит |
igor_v | 110:6406b7ac0442 | 78 | unsigned int AD_Slow; //Значенее амплитудного детектора сдвинутое на 16 бит |
igor_v | 110:6406b7ac0442 | 79 | |
igor_v | 111:8ee1ef722ba7 | 80 | unsigned int ADF_NewData; // есть данные после фильтрации в быстром фильтре |
igor_v | 111:8ee1ef722ba7 | 81 | unsigned int ADS_NewData; //-----------/----------/----------/-------- |
igor_v | 110:6406b7ac0442 | 82 | |
igor_v | 111:8ee1ef722ba7 | 83 | //контур регулеровки Периметра "PLC" |
igor_v | 127:6a7472d67804 | 84 | int PLC_Delta; // разница между старым и новым показаниями |
igor_v | 127:6a7472d67804 | 85 | int PLC_DeltaADD; // разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП |
Kovalev_D | 116:66f1f0ff2dab | 86 | int PLC_Old; |
igor_v | 127:6a7472d67804 | 87 | int PLC_ADC_DOld; |
igor_v | 127:6a7472d67804 | 88 | int PLC_Regul; |
Kovalev_D | 128:1e4675a36c93 | 89 | int PLC_Error2Mode; // счетчик, не ноль когдав двцх модовом |
igor_v | 127:6a7472d67804 | 90 | |
igor_v | 110:6406b7ac0442 | 91 | |
igor_v | 111:8ee1ef722ba7 | 92 | //Контур регулеровки накачки (если нужно, например ГВЧ) |
igor_v | 110:6406b7ac0442 | 93 | |
igor_v | 111:8ee1ef722ba7 | 94 | |
igor_v | 111:8ee1ef722ba7 | 95 | |
igor_v | 111:8ee1ef722ba7 | 96 | |
igor_v | 111:8ee1ef722ba7 | 97 | |
Kovalev_D | 26:52ce5953a5c2 | 98 | unsigned int CMD_In; |
Kovalev_D | 26:52ce5953a5c2 | 99 | unsigned int SOC_Out; |
Kovalev_D | 26:52ce5953a5c2 | 100 | unsigned int My_Addres; |
Kovalev_D | 26:52ce5953a5c2 | 101 | unsigned int GLD_Serial; |
Kovalev_D | 26:52ce5953a5c2 | 102 | unsigned int CRC; |
Kovalev_D | 26:52ce5953a5c2 | 103 | unsigned int Firmware_Version; |
Kovalev_D | 26:52ce5953a5c2 | 104 | unsigned int RsErrLine; |
Kovalev_D | 26:52ce5953a5c2 | 105 | |
igor_v | 110:6406b7ac0442 | 106 | |
igor_v | 110:6406b7ac0442 | 107 | |
igor_v | 110:6406b7ac0442 | 108 | |
Kovalev_D | 106:250ddd8629c6 | 109 | |
igor_v | 111:8ee1ef722ba7 | 110 | int CuruAngle ; |
igor_v | 111:8ee1ef722ba7 | 111 | int OldCuruAngle ; |
igor_v | 111:8ee1ef722ba7 | 112 | int Num; |
igor_v | 111:8ee1ef722ba7 | 113 | int Cnt_Pls; |
igor_v | 111:8ee1ef722ba7 | 114 | int Cnt_Mns; |
igor_v | 111:8ee1ef722ba7 | 115 | int Cnt_Dif; |
Kovalev_D | 108:030cdde08314 | 116 | |
Kovalev_D | 26:52ce5953a5c2 | 117 | unsigned int F_ras; |
Kovalev_D | 108:030cdde08314 | 118 | |
igor_v | 110:6406b7ac0442 | 119 | unsigned int ras; |
Kovalev_D | 104:ab1cb4ff56b2 | 120 | |
Kovalev_D | 104:ab1cb4ff56b2 | 121 | |
Kovalev_D | 104:ab1cb4ff56b2 | 122 | #define FrqOff Gyro.RgConA &= ~AFRQ; //установить бит светодиода в "0" |
Kovalev_D | 104:ab1cb4ff56b2 | 123 | #define FrqON Gyro.RgConA |= AFRQ; //установить бит светодиода в "1" |
Kovalev_D | 104:ab1cb4ff56b2 | 124 | |
Kovalev_D | 104:ab1cb4ff56b2 | 125 | #define HFOOFF Gyro.RgConA &= ~AHFO; //установить бит светодиода в "0" |
Kovalev_D | 104:ab1cb4ff56b2 | 126 | #define HFOON Gyro.RgConA |= AHFO; //установить бит светодиода в "1" |
Kovalev_D | 104:ab1cb4ff56b2 | 127 | |
Kovalev_D | 104:ab1cb4ff56b2 | 128 | #define PlcOFF Gyro.RgConA &= ~APLC; //установить бит светодиода в "0" |
Kovalev_D | 104:ab1cb4ff56b2 | 129 | #define PlcON Gyro.RgConA |= APLC; //установить бит светодиода в "1" |
Kovalev_D | 104:ab1cb4ff56b2 | 130 | |
Kovalev_D | 104:ab1cb4ff56b2 | 131 | #define AFRQ (1<<0) |
Kovalev_D | 104:ab1cb4ff56b2 | 132 | #define AHFO (1<<1) |
Kovalev_D | 104:ab1cb4ff56b2 | 133 | #define APLC (1<<2) |
Kovalev_D | 85:0466ee8cdfc8 | 134 | |
Kovalev_D | 28:1c9acd3b224d | 135 | unsigned int PinReg; // bit5 bit4 bit 3 bit1 bit0 |
Kovalev_D | 28:1c9acd3b224d | 136 | unsigned int PinRegOld; // || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 || |
Kovalev_D | 40:8a6494f61326 | 137 | #define LedOFF Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0" |
igor_v | 48:8697dfe679b9 | 138 | #define LedON Gyro.PinReg |= PinRegBitLED; //установить бит светодиода в "1" |
Kovalev_D | 40:8a6494f61326 | 139 | |
Kovalev_D | 104:ab1cb4ff56b2 | 140 | |
igor_v | 48:8697dfe679b9 | 141 | #define PinRegBitTXE (1<<5) |
igor_v | 48:8697dfe679b9 | 142 | #define PinRegBitLED (1<<4) |
igor_v | 48:8697dfe679b9 | 143 | #define PinRegBitD (1<<3) |
igor_v | 48:8697dfe679b9 | 144 | #define PinRegBitL (1<<2) |
igor_v | 48:8697dfe679b9 | 145 | #define PinRegBit_2V (1<<1) |
igor_v | 48:8697dfe679b9 | 146 | #define PinRegBit_1V (1<<0) |
igor_v | 110:6406b7ac0442 | 147 | unsigned int Discharg; // последовательность бит харрактеризующая форму сигнала поджига. |
igor_v | 48:8697dfe679b9 | 148 | #define StartDischarg 0x00000055 |
Kovalev_D | 40:8a6494f61326 | 149 | unsigned int BackLight; // последовательность бит харрактеризующая форму сигнала подсветки. |
igor_v | 48:8697dfe679b9 | 150 | #define StartBackLight 0x00000055 |
igor_v | 110:6406b7ac0442 | 151 | |
igor_v | 110:6406b7ac0442 | 152 | |
Kovalev_D | 128:1e4675a36c93 | 153 | unsigned int EXT_Latch; |
Kovalev_D | 128:1e4675a36c93 | 154 | |
igor_v | 110:6406b7ac0442 | 155 | |
igor_v | 33:341521841d3a | 156 | } GyroT, *Gyro_p; |
igor_v | 30:17c84ed091b3 | 157 | extern GyroT Gyro; |
Kovalev_D | 28:1c9acd3b224d | 158 | |
Kovalev_D | 28:1c9acd3b224d | 159 | |
Kovalev_D | 26:52ce5953a5c2 | 160 | |
Kovalev_D | 28:1c9acd3b224d | 161 | |
Kovalev_D | 28:1c9acd3b224d | 162 | |
Kovalev_D | 28:1c9acd3b224d | 163 | |
Kovalev_D | 107:4d178bcc9d8a | 164 | extern unsigned int amp; |
Kovalev_D | 122:fbacb932a30b | 165 | extern int Rate2VibFlag; |
igor_v | 0:8ad47e2b6f00 | 166 | extern void cheng(void); |
igor_v | 0:8ad47e2b6f00 | 167 | extern void Noise(void); |
igor_v | 0:8ad47e2b6f00 | 168 | extern void VibroOut(void); |
Kovalev_D | 89:a0d344db227e | 169 | extern void Discharg (void); |
Kovalev_D | 89:a0d344db227e | 170 | extern void BackLight (void); |
Kovalev_D | 98:95b8e79f13e1 | 171 | extern unsigned int FrecTp; |
Kovalev_D | 98:95b8e79f13e1 | 172 | extern int Pulse_midl; |
igor_v | 0:8ad47e2b6f00 | 173 | extern struct VIBRO Vib; |
igor_v | 0:8ad47e2b6f00 | 174 | extern int PulseHalf; |
igor_v | 30:17c84ed091b3 | 175 | extern int CuruAngle; |
igor_v | 0:8ad47e2b6f00 | 176 | extern unsigned int FrecTemp; |
igor_v | 0:8ad47e2b6f00 | 177 | #endif |
igor_v | 0:8ad47e2b6f00 | 178 |