Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of LG by
vibro.h@122:fbacb932a30b, 2016-04-07 (annotated)
- 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?
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 | 30:52ce5953a5c2 | 13 | #define LoopOn LPC_GPIO1->FIOSET = (1<<30); |
Kovalev_D | 30:52ce5953a5c2 | 14 | #define LoopOff LPC_GPIO1->FIOCLR = (1<<30); |
Kovalev_D | 30:52ce5953a5c2 | 15 | #define StartV1 0 |
Kovalev_D | 30: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 | 30:52ce5953a5c2 | 29 | |
Kovalev_D | 103:e96f08947def | 30 | unsigned int Gain_A; |
Kovalev_D | 103:e96f08947def | 31 | unsigned int Gain_B; |
Kovalev_D | 30: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 | 30: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 | 30:52ce5953a5c2 | 83 | unsigned int CMD_In; |
Kovalev_D | 30:52ce5953a5c2 | 84 | unsigned int SOC_Out; |
Kovalev_D | 30:52ce5953a5c2 | 85 | unsigned int My_Addres; |
Kovalev_D | 30:52ce5953a5c2 | 86 | unsigned int GLD_Serial; |
Kovalev_D | 30:52ce5953a5c2 | 87 | unsigned int CRC; |
Kovalev_D | 30:52ce5953a5c2 | 88 | unsigned int Firmware_Version; |
Kovalev_D | 30:52ce5953a5c2 | 89 | unsigned int RsErrLine; |
Kovalev_D | 30: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 | 30: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 | 31:1c9acd3b224d | 120 | unsigned int PinReg; // bit5 bit4 bit 3 bit1 bit0 |
Kovalev_D | 31: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 | 28:17c84ed091b3 | 140 | extern GyroT Gyro; |
Kovalev_D | 31:1c9acd3b224d | 141 | |
Kovalev_D | 31:1c9acd3b224d | 142 | |
Kovalev_D | 30:52ce5953a5c2 | 143 | |
Kovalev_D | 31:1c9acd3b224d | 144 | |
Kovalev_D | 31:1c9acd3b224d | 145 | |
Kovalev_D | 31: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 | 28: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 |