Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
vibro.h
- Committer:
- igor_v
- Date:
- 2016-04-11
- Revision:
- 127:6a7472d67804
- Parent:
- 124:9ae09249f842
- Child:
- 128:1e4675a36c93
File content as of revision 127:6a7472d67804:
#ifndef VIBRO_H #define VIBRO_H #define ClrV1 LPC_GPIO1->FIOSET=(1<<25); #define SetV1 LPC_GPIO1->FIOCLR = (1<<25); #define TXOn LPC_GPIO2->FIOSET=(1<<7); #define TXOff LPC_GPIO2->FIOCLR = (1<<7); #define ClrV2 LPC_GPIO1->FIOSET = (1<<28); #define SetV2 LPC_GPIO1->FIOCLR = (1<<28); #define LoopOn LPC_GPIO1->FIOSET = (1<<30); #define LoopOff LPC_GPIO1->FIOCLR = (1<<30); #define StartV1 0 #define StartV2 15 #define TIME_INTERVAL (7812) extern int tempAMP; typedef struct _Gyro { unsigned int ModeOut; unsigned int Rate1_Flag; unsigned int Rate1_Event; unsigned int Rate2_Flag; unsigned int Rate2_Event; #define Rate1 0x01 #define Rate2 0x02 #define PRate1 0x81 #define PRate2 0x82 unsigned int DeltaEXT_Event; unsigned int Delta500_Event; #define Delta_500 0x0 #define PDelta_500 0x80 #define Delta_EXT 0x10 #define PDelta_EXT 0x90 unsigned int RgConA; unsigned int RgConB; unsigned int Gain_A; unsigned int Gain_B; unsigned int Frq; // Непосредственное значение частоты для таймера. unsigned int FrqHZ; // Частота в Гц. unsigned int VibroFrqRegulF;//флаг регулировки частоты ВП unsigned int VibroAMPRegulF;//флаг регулировки амплитуды ВП unsigned int VibroNoiseF;//флаг ошумления амплитуды ВП unsigned int VibroOutF; unsigned int Amp; unsigned int AmpT; // значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin) unsigned int AmpMin; // минимальное значение AmpT(частота ошумления); unsigned int AmpTD; // максимальное значение AmpT(частота ошумления); unsigned int AmpPer; // Амплитуда в процентах; unsigned int AmpPerDel;// значение для расчета амплитуды(дельта амплитуды), мин знач : AmpPer-AmpPerDel, мах знач : AmpPer+AmpPerDel; (в процентах) unsigned int AmpN1; // левая граница импулься ВП unsigned int AmpN2; // равая граница импулься ВП int MaxAmp; // амплитуда Пик-Пик расчтитанная по востановленному синусу. //ЭНКОДЕР int CaunPlus;// int CaunMin;// // данные АЦП unsigned int Termo; // значение АЦП unsigned int DeltaT; unsigned int In1; unsigned int In2; //пятый ацп, он же амплитудный детектор "AD". есть два фильтра быстрый "Fast" и медленный "Slow" unsigned int ADF_Accum; //Значенее амплитудного детектора Временное unsigned int ADS_Accum; //Значенее амплитудного детектора Временное unsigned int ADF_Count; //Значенее времени накопления данных unsigned int ADS_Count; //Значенее времени накопления данных unsigned int AD_Fast; //Значенее амплитудного детектора сдвинутое на 16 бит unsigned int AD_Slow; //Значенее амплитудного детектора сдвинутое на 16 бит unsigned int ADF_NewData; // есть данные после фильтрации в быстром фильтре unsigned int ADS_NewData; //-----------/----------/----------/-------- //контур регулеровки Периметра "PLC" int PLC_Delta; // разница между старым и новым показаниями int PLC_DeltaADD; // разница между старым и новым показаниями с учетом знака управляешего напряжения АЦП int PLC_Old; int PLC_ADC_DOld; int PLC_Regul; int PLC_Error2Mode; //Контур регулеровки накачки (если нужно, например ГВЧ) unsigned int CMD_In; unsigned int SOC_Out; unsigned int My_Addres; unsigned int GLD_Serial; unsigned int CRC; unsigned int Firmware_Version; unsigned int RsErrLine; int CuruAngle ; int OldCuruAngle ; int Num; int Cnt_Pls; int Cnt_Mns; int Cnt_Dif; unsigned int F_ras; unsigned int ras; #define FrqOff Gyro.RgConA &= ~AFRQ; //установить бит светодиода в "0" #define FrqON Gyro.RgConA |= AFRQ; //установить бит светодиода в "1" #define HFOOFF Gyro.RgConA &= ~AHFO; //установить бит светодиода в "0" #define HFOON Gyro.RgConA |= AHFO; //установить бит светодиода в "1" #define PlcOFF Gyro.RgConA &= ~APLC; //установить бит светодиода в "0" #define PlcON Gyro.RgConA |= APLC; //установить бит светодиода в "1" #define AFRQ (1<<0) #define AHFO (1<<1) #define APLC (1<<2) unsigned int PinReg; // bit5 bit4 bit 3 bit1 bit0 unsigned int PinRegOld; // || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 || #define LedOFF Gyro.PinReg &= ~PinRegBitLED; //установить бит светодиода в "0" #define LedON Gyro.PinReg |= PinRegBitLED; //установить бит светодиода в "1" #define PinRegBitTXE (1<<5) #define PinRegBitLED (1<<4) #define PinRegBitD (1<<3) #define PinRegBitL (1<<2) #define PinRegBit_2V (1<<1) #define PinRegBit_1V (1<<0) unsigned int Discharg; // последовательность бит харрактеризующая форму сигнала поджига. #define StartDischarg 0x00000055 unsigned int BackLight; // последовательность бит харрактеризующая форму сигнала подсветки. #define StartBackLight 0x00000055 } GyroT, *Gyro_p; extern GyroT Gyro; extern unsigned int amp; extern int Rate2VibFlag; extern void cheng(void); extern void Noise(void); extern void VibroOut(void); extern void Discharg (void); extern void BackLight (void); extern unsigned int FrecTp; extern int Pulse_midl; extern struct VIBRO Vib; extern int PulseHalf; extern int CuruAngle; extern unsigned int FrecTemp; #endif