fork

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Kovalev_D
Date:
Thu Apr 07 16:45:25 2016 +0000
Revision:
122:fbacb932a30b
Parent:
116:66f1f0ff2dab
Child:
124:9ae09249f842
???? 115  .  ???? ?????? 921600 ????? (????????? ??? ?????????)

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