forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Committer:
Kovalev_D
Date:
Mon Apr 04 11:09:56 2016 +0000
Revision:
112:4a96133a1311
Parent:
111:8ee1ef722ba7
Child:
113:8be429494918
IRQ

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 {
igor_v 33:341521841d3a 21
Kovalev_D 26:52ce5953a5c2 22
Kovalev_D 85:0466ee8cdfc8 23 unsigned int RgConA;
Kovalev_D 85:0466ee8cdfc8 24 unsigned int RgConB;
Kovalev_D 26:52ce5953a5c2 25
Kovalev_D 103:e96f08947def 26 unsigned int Gain_A;
Kovalev_D 103:e96f08947def 27 unsigned int Gain_B;
Kovalev_D 26:52ce5953a5c2 28
igor_v 37:bdd52117b56e 29 unsigned int Frq; // Непосредственное значение частоты для таймера.
igor_v 37:bdd52117b56e 30 unsigned int FrqHZ; // Частота в Гц.
Kovalev_D 85:0466ee8cdfc8 31
Kovalev_D 112:4a96133a1311 32 unsigned int VibroFrqRegulF;//флаг регулировки частоты ВП
Kovalev_D 112:4a96133a1311 33 unsigned int VibroAMPRegulF;//флаг регулировки амплитуды ВП
Kovalev_D 112:4a96133a1311 34 unsigned int VibroNoiseF;//флаг ошумления амплитуды ВП
Kovalev_D 112:4a96133a1311 35 unsigned int VibroOutF;
Kovalev_D 85:0466ee8cdfc8 36
Kovalev_D 26:52ce5953a5c2 37 unsigned int Amp;
Kovalev_D 85:0466ee8cdfc8 38 unsigned int AmpT; // значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)
Kovalev_D 85:0466ee8cdfc8 39 unsigned int AmpMin; // минимальное значение AmpT(частота ошумления);
Kovalev_D 85:0466ee8cdfc8 40 unsigned int AmpTD; // максимальное значение AmpT(частота ошумления);
Kovalev_D 85:0466ee8cdfc8 41 unsigned int AmpPer; // Амплитуда в процентах;
Kovalev_D 112:4a96133a1311 42 unsigned int AmpPerDel;// значение для расчета амплитуды(дельта амплитуды), мин знач : AmpPer-AmpPerDel, мах знач : AmpPer+AmpPerDel; (в процентах)
Kovalev_D 112:4a96133a1311 43 unsigned int AmpN1; // левая граница импулься ВП
Kovalev_D 112:4a96133a1311 44 unsigned int AmpN2; // равая граница импулься ВП
Kovalev_D 112:4a96133a1311 45 int MaxAmp; // амплитуда Пик-Пик расчтитанная по востановленному синусу.
Kovalev_D 112:4a96133a1311 46 //ЭНКОДЕР
Kovalev_D 112:4a96133a1311 47 int CaunPlus;//
Kovalev_D 112:4a96133a1311 48 int CaunMin;//
igor_v 110:6406b7ac0442 49 // данные АЦП
igor_v 110:6406b7ac0442 50 unsigned int Termo1; // значение АЦП
igor_v 110:6406b7ac0442 51 unsigned int Termo2;
igor_v 110:6406b7ac0442 52 unsigned int Termo3;
igor_v 110:6406b7ac0442 53 unsigned int Termo4;
igor_v 111:8ee1ef722ba7 54 //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow"
igor_v 111:8ee1ef722ba7 55 unsigned int ADF_Accum; //Значенее амплитудного детектора Временное
igor_v 111:8ee1ef722ba7 56 unsigned int ADS_Accum; //Значенее амплитудного детектора Временное
igor_v 110:6406b7ac0442 57
igor_v 110:6406b7ac0442 58 unsigned int ADF_Count; //Значенее времени накопления данных
igor_v 111:8ee1ef722ba7 59 unsigned int ADS_Count; //Значенее времени накопления данных
igor_v 110:6406b7ac0442 60
igor_v 110:6406b7ac0442 61 unsigned int AD_Fast; //Значенее амплитудного детектора сдвинутое на 16 бит
igor_v 110:6406b7ac0442 62 unsigned int AD_Slow; //Значенее амплитудного детектора сдвинутое на 16 бит
igor_v 110:6406b7ac0442 63
igor_v 111:8ee1ef722ba7 64 unsigned int ADF_NewData; // есть данные после фильтрации в быстром фильтре
igor_v 111:8ee1ef722ba7 65 unsigned int ADS_NewData; //-----------/----------/----------/--------
igor_v 110:6406b7ac0442 66
igor_v 111:8ee1ef722ba7 67 //контур регулеровки Периметра "PLC"
Kovalev_D 112:4a96133a1311 68
igor_v 110:6406b7ac0442 69
igor_v 110:6406b7ac0442 70
igor_v 110:6406b7ac0442 71
igor_v 111:8ee1ef722ba7 72 //Контур регулеровки накачки (если нужно, например ГВЧ)
igor_v 110:6406b7ac0442 73
igor_v 111:8ee1ef722ba7 74
igor_v 111:8ee1ef722ba7 75
igor_v 111:8ee1ef722ba7 76
igor_v 111:8ee1ef722ba7 77
Kovalev_D 26:52ce5953a5c2 78 unsigned int CMD_In;
Kovalev_D 26:52ce5953a5c2 79 unsigned int SOC_Out;
Kovalev_D 26:52ce5953a5c2 80 unsigned int My_Addres;
Kovalev_D 26:52ce5953a5c2 81 unsigned int GLD_Serial;
Kovalev_D 26:52ce5953a5c2 82 unsigned int CRC;
Kovalev_D 26:52ce5953a5c2 83 unsigned int Firmware_Version;
Kovalev_D 26:52ce5953a5c2 84 unsigned int RsErrLine;
Kovalev_D 26:52ce5953a5c2 85
igor_v 110:6406b7ac0442 86
igor_v 110:6406b7ac0442 87
igor_v 110:6406b7ac0442 88
Kovalev_D 106:250ddd8629c6 89
igor_v 111:8ee1ef722ba7 90 int CuruAngle ;
igor_v 111:8ee1ef722ba7 91 int OldCuruAngle ;
igor_v 111:8ee1ef722ba7 92 int Num;
igor_v 111:8ee1ef722ba7 93 int Cnt_Pls;
igor_v 111:8ee1ef722ba7 94 int Cnt_Mns;
igor_v 111:8ee1ef722ba7 95 int Cnt_Dif;
Kovalev_D 108:030cdde08314 96
Kovalev_D 26:52ce5953a5c2 97 unsigned int F_ras;
Kovalev_D 108:030cdde08314 98
igor_v 110:6406b7ac0442 99 unsigned int ras;
Kovalev_D 104:ab1cb4ff56b2 100
Kovalev_D 104:ab1cb4ff56b2 101
Kovalev_D 104:ab1cb4ff56b2 102 #define FrqOff Gyro.RgConA &= ~AFRQ; //установить бит светодиода в "0"
Kovalev_D 104:ab1cb4ff56b2 103 #define FrqON Gyro.RgConA |= AFRQ; //установить бит светодиода в "1"
Kovalev_D 104:ab1cb4ff56b2 104
Kovalev_D 104:ab1cb4ff56b2 105 #define HFOOFF Gyro.RgConA &= ~AHFO; //установить бит светодиода в "0"
Kovalev_D 104:ab1cb4ff56b2 106 #define HFOON Gyro.RgConA |= AHFO; //установить бит светодиода в "1"
Kovalev_D 104:ab1cb4ff56b2 107
Kovalev_D 104:ab1cb4ff56b2 108 #define PlcOFF Gyro.RgConA &= ~APLC; //установить бит светодиода в "0"
Kovalev_D 104:ab1cb4ff56b2 109 #define PlcON Gyro.RgConA |= APLC; //установить бит светодиода в "1"
Kovalev_D 104:ab1cb4ff56b2 110
Kovalev_D 104:ab1cb4ff56b2 111 #define AFRQ (1<<0)
Kovalev_D 104:ab1cb4ff56b2 112 #define AHFO (1<<1)
Kovalev_D 104:ab1cb4ff56b2 113 #define APLC (1<<2)
Kovalev_D 85:0466ee8cdfc8 114
Kovalev_D 28:1c9acd3b224d 115 unsigned int PinReg; // bit5 bit4 bit 3 bit1 bit0
Kovalev_D 28:1c9acd3b224d 116 unsigned int PinRegOld; // || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 ||
Kovalev_D 40:8a6494f61326 117 #define LedOFF Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0"
igor_v 48:8697dfe679b9 118 #define LedON Gyro.PinReg |= PinRegBitLED; //установить бит светодиода в "1"
Kovalev_D 40:8a6494f61326 119
Kovalev_D 104:ab1cb4ff56b2 120
igor_v 48:8697dfe679b9 121 #define PinRegBitTXE (1<<5)
igor_v 48:8697dfe679b9 122 #define PinRegBitLED (1<<4)
igor_v 48:8697dfe679b9 123 #define PinRegBitD (1<<3)
igor_v 48:8697dfe679b9 124 #define PinRegBitL (1<<2)
igor_v 48:8697dfe679b9 125 #define PinRegBit_2V (1<<1)
igor_v 48:8697dfe679b9 126 #define PinRegBit_1V (1<<0)
igor_v 110:6406b7ac0442 127 unsigned int Discharg; // последовательность бит харрактеризующая форму сигнала поджига.
igor_v 48:8697dfe679b9 128 #define StartDischarg 0x00000055
Kovalev_D 40:8a6494f61326 129 unsigned int BackLight; // последовательность бит харрактеризующая форму сигнала подсветки.
igor_v 48:8697dfe679b9 130 #define StartBackLight 0x00000055
igor_v 110:6406b7ac0442 131
igor_v 110:6406b7ac0442 132
igor_v 110:6406b7ac0442 133
igor_v 33:341521841d3a 134 } GyroT, *Gyro_p;
igor_v 30:17c84ed091b3 135 extern GyroT Gyro;
Kovalev_D 28:1c9acd3b224d 136
Kovalev_D 28:1c9acd3b224d 137
Kovalev_D 26:52ce5953a5c2 138
Kovalev_D 28:1c9acd3b224d 139
Kovalev_D 28:1c9acd3b224d 140
Kovalev_D 28:1c9acd3b224d 141
Kovalev_D 107:4d178bcc9d8a 142 extern unsigned int amp;
Kovalev_D 87:7e575d26d6d0 143
igor_v 0:8ad47e2b6f00 144 extern void cheng(void);
igor_v 0:8ad47e2b6f00 145 extern void Noise(void);
igor_v 0:8ad47e2b6f00 146 extern void VibroOut(void);
Kovalev_D 89:a0d344db227e 147 extern void Discharg (void);
Kovalev_D 89:a0d344db227e 148 extern void BackLight (void);
Kovalev_D 98:95b8e79f13e1 149 extern unsigned int FrecTp;
Kovalev_D 98:95b8e79f13e1 150 extern int Pulse_midl;
igor_v 0:8ad47e2b6f00 151 extern struct VIBRO Vib;
igor_v 0:8ad47e2b6f00 152 extern int PulseHalf;
igor_v 30:17c84ed091b3 153 extern int CuruAngle;
igor_v 0:8ad47e2b6f00 154 extern unsigned int FrecTemp;
igor_v 0:8ad47e2b6f00 155 #endif
igor_v 0:8ad47e2b6f00 156