fork

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
igor_v
Date:
Mon Apr 11 03:13:42 2016 +0000
Revision:
127:6a7472d67804
Parent:
124:9ae09249f842
Child:
128:1e4675a36c93
??? ???? ????????;

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 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;
igor_v 127:6a7472d67804 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
igor_v 110:6406b7ac0442 153
igor_v 33:341521841d3a 154 } GyroT, *Gyro_p;
igor_v 30:17c84ed091b3 155 extern GyroT Gyro;
Kovalev_D 28:1c9acd3b224d 156
Kovalev_D 28:1c9acd3b224d 157
Kovalev_D 26:52ce5953a5c2 158
Kovalev_D 28:1c9acd3b224d 159
Kovalev_D 28:1c9acd3b224d 160
Kovalev_D 28:1c9acd3b224d 161
Kovalev_D 107:4d178bcc9d8a 162 extern unsigned int amp;
Kovalev_D 122:fbacb932a30b 163 extern int Rate2VibFlag;
igor_v 0:8ad47e2b6f00 164 extern void cheng(void);
igor_v 0:8ad47e2b6f00 165 extern void Noise(void);
igor_v 0:8ad47e2b6f00 166 extern void VibroOut(void);
Kovalev_D 89:a0d344db227e 167 extern void Discharg (void);
Kovalev_D 89:a0d344db227e 168 extern void BackLight (void);
Kovalev_D 98:95b8e79f13e1 169 extern unsigned int FrecTp;
Kovalev_D 98:95b8e79f13e1 170 extern int Pulse_midl;
igor_v 0:8ad47e2b6f00 171 extern struct VIBRO Vib;
igor_v 0:8ad47e2b6f00 172 extern int PulseHalf;
igor_v 30:17c84ed091b3 173 extern int CuruAngle;
igor_v 0:8ad47e2b6f00 174 extern unsigned int FrecTemp;
igor_v 0:8ad47e2b6f00 175 #endif
igor_v 0:8ad47e2b6f00 176