Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
Diff: vibro.h
- Revision:
- 222:7de7b3bf3a1d
- Parent:
- 220:04c54405b82d
- Child:
- 225:f8fee6c586cc
--- a/vibro.h Mon Oct 23 05:31:10 2017 +0000 +++ b/vibro.h Mon Nov 20 13:06:31 2017 +0000 @@ -26,7 +26,8 @@ #define PRate2 0x82 #define PRate3 0x83 #define PRate7 0x87 - +#define PRate5K 0x94 +#define Rate5K 0x14 //////////////////////////////////////////////////////// ////Дефайны для декодирования запроса параметров Rate/// @@ -126,155 +127,160 @@ //unsigned int B_Delta_EventEXT;// вывод параметров типа Rate по внешней защелке.(надо чтоб от одного влага было, как Event_500Hz) typedef struct _Gyro { - unsigned int ShowMod2; - int Debag; - int Debag2; - unsigned int UARTFlag; - unsigned int PLC_Start; - unsigned int LG_Type; - unsigned int LogPLC; // 1 - unsigned int Log; - unsigned int LogMod; // 2 - unsigned int PLC_Phase; - int PLC_Gain; - unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора - int PLC_Eror; - int PLC_Eror_Rate; - int PLC_Eror_count; - int PLC_regul; - unsigned int ModAmp; // 4 амплитуда модулятора - unsigned int ShiftMod; + - unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash. - unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate. - - unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1 - unsigned int Rate3_Event; - unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру. - unsigned int Event_500Hz; - unsigned int EvenRate7; - - - int DAC_current_Work; //3 - int DAC_current_Start; //4 стартовый ток накачки? - int HFO_ref; - int HFO_Min; - int HFO_Max; - unsigned int HFO_Gain; - unsigned int RgConA; // 9 регистр управления ГЛД - unsigned int RgConB; //10 регистр управления ГЛД - unsigned int RgConMod; - - unsigned int Gain_Sin; //11 коиф усиления синуса. - unsigned int Gain_Cos; //12 коиф усиления косинуса. - unsigned int FrqPhase; - unsigned int FrqPhaseEror; - unsigned int Frq; //13 Непосредственное значение частоты для таймера. - unsigned int FrqHZ; //14 Частота в Гц. - unsigned int FrqHZmin; //15 Мин значение частоты ВП - unsigned int FrqHZmax; //16 Мах значение частоты ВП - unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП - unsigned int L_vibro; - - unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП - unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП - unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП - unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро. - unsigned int LowVibroFlag; - unsigned int ClrVFlag; - - unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16) - unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ; - unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления) - unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления); - unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления); - - unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП - unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП - unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды - unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка. - unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах) - unsigned int AmpN1; //32 левая граница импулься ВП - unsigned int AmpN2; //33 правая граница импулься ВП - unsigned int F_ras; //34 частота расщипления - unsigned int F_rasAdd; - int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу. + unsigned int TimeToJump; //5 + unsigned int JumpDelta; + + unsigned int ShowMod2; + int Debag; + int Debag2; + unsigned int UARTFlag; + unsigned int PLC_Start; + unsigned int LG_Type; + unsigned int LogPLC; // 1 + unsigned int Log; + unsigned int LogMod; // 2 + unsigned int PLC_Phase; + int PLC_Gain; + unsigned int PLC_Lern; // 3 обратный таймер для поиска максимальной амплитуды при работе без модулятора + int PLC_Eror; + int PLC_Eror_Rate; + int PLC_Eror_count; + int PLC_regul; + unsigned int ModAmp; // 4 амплитуда модулятора + unsigned int ShiftMod; + + unsigned int FlashMod; // 5 0-ничего не делать, 1 - запись во Flash, 2 чтение из Flash. + unsigned int ModeOut; // 6 переменная для выбора варианта вывода параметров типа Rate. + + unsigned int Rate1_Event; // 7 событие 1с для вывода параметров Rate 1 + unsigned int Rate3_Event; + unsigned int Reper_Event; // 8 событие для вывода набора параметров типа Rate по меандру. + unsigned int Event_500Hz; + unsigned int EvenRate7; + unsigned int EvenRate5K; + + int DAC_current_Work; //3 + int DAC_current_Start; //4 стартовый ток накачки? + int HFO_ref; + int HFO_Min; + int HFO_Max; + unsigned int HFO_Gain; + unsigned int RgConA; // 9 регистр управления ГЛД + unsigned int RgConB; //10 регистр управления ГЛД + unsigned int RgConMod; - //ЭНКОДЕР - int CaunPlus; //36 счетчик + - int CaunMin; - //37 счетчик - - int CaunPlusRateAdd; //36 счетчик + - int CaunMinRateAdd; - int CaunPlusRate; //36 счетчик + - int CaunMinRate; - - int CaunPlusReperAdd; //36 счетчик + - int CaunMinReperAdd; - int CaunPlusReper; //36 счетчик + - int CaunMinReper; - // данные АЦП - unsigned int TermoNKU; //38 - unsigned int Termo; //39 значение АЦП - unsigned int DeltaT; //40 - int In1; //41 - int In2; //42 - int Tmp_OffsetT4; //47 - int Tmp_OffsetT5; - float Tmp_scaleT4; //53 - float Tmp_scaleT5; //54 - - unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное - unsigned int ADS_Accum; - unsigned int IN1_Accum; - unsigned int IN2_Accum; - unsigned int DacIn; //44 Значенее амплитудного детектора Временное - unsigned int ADS_AccumTermLM; //45 - unsigned int TermLM; //46 - unsigned int ADF_Count; - unsigned int ADM_Count; //47 Значенее времени накопления данных - unsigned int ADS_Count; //48 Значенее времени накопления данных - unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит - unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит - unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре - unsigned int ADS_NewData; //52 -----------/----------/----------/-------- - - - int DownTreshold; //27 - int HighTreshold; - int PLCDelay; - int ResetLevelCool; //105 - int ResetLevelHeat; - - - int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод) - - unsigned int CMD_In; //54 входящая команда - unsigned int SOC_Out; //55 - unsigned int My_Addres; //56 адрес прибора - unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц) - - unsigned int GLD_Serial; //58 серийный номер прибора - unsigned int CRC; //59 контрольная сумма посылки - unsigned int Firmware_Version; //60 версия программы - unsigned int RsErrLine; //61 регистр ошибок передачи. - - int CuruAngle; - int CuruAngle32; //62 текущеий угол. - int CuruAngle64; - int CuruAngle96; - int CuruAngle128; - int OldCuruAngle; //63 старый угол - int CuruAngleLog; - int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика) - - unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0 - unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 || - - unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига. - unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки. - unsigned int LaserOn; - unsigned int EXT_Latch; //69 + unsigned int Gain_Sin; //11 коиф усиления синуса. + unsigned int Gain_Cos; //12 коиф усиления косинуса. + unsigned int FrqPhase; + unsigned int FrqPhaseEror; + unsigned int Frq; //13 Непосредственное значение частоты для таймера. + unsigned int FrqHZ; //14 Частота в Гц. + unsigned int FrqHZmin; //15 Мин значение частоты ВП + unsigned int FrqHZmax; //16 Мах значение частоты ВП + unsigned int FrqChengSpeed; //17 скорость регулировки частоты ВП + unsigned int L_vibro; + + unsigned int VibroFrqRegulF; //18 флаг регулировки частоты ВП + unsigned int VibroAMPRegulF; //19 флаг регулировки амплитуды ВП + unsigned int VibroNoiseF; //20 флаг ошумления амплитуды ВП + unsigned int VibroOutF; //21 флаг изменения состояния ножек вибро. + unsigned int LowVibroFlag; + unsigned int ClrVFlag; + + unsigned int Amp; //22 значение амплитуды вибропривода в попугаях (Gyro.Amp = (0%--100%) << 16) + unsigned int AmpPer; //23 Амплитуда в процентах Gyro.AmpPer = Gyro.Amp>>16 ; + unsigned int AmpT; //24 значение тиков после которых происходит смена амплитуды ошумления ( rand() % Gyro.AmpTD+Gyro.AmpMin)(частота ошумления) + unsigned int AmpMin; //25 минимальное значение AmpT(частота ошумления); + unsigned int AmpTD; //26 диапозон частоты ошумления(частота ошумления); + + unsigned int AmpPerMin; //27 ограничение минимальной амплитуды ВП + unsigned int AmpPerMax; //28 ограничение максимальной амплитуды ВП + unsigned int AmpSpeed; //29 коиффициент сорости регулировки амплитуды + unsigned int AmpTarget; //30 целевая амплитуда ВП к которой стремится регулировка. + unsigned int AmpPerDel; //31 значение для расчета амплитуды (дельта амплитуды) на сколько будет отличаться в працентах 1 амплитуда от второй при ошумлении, мин знач : AmpPer, мах знач : AmpPer+AmpPerDel; (в процентах) + unsigned int AmpN1; //32 левая граница импулься ВП + unsigned int AmpN2; //33 правая граница импулься ВП + unsigned int F_ras; //34 частота расщипления + unsigned int F_rasAdd; + int MaxAmp; //35 амплитуда Пик-Пик расчтитанная по востановленному синусу. + + //ЭНКОДЕР + int CaunPlus; //36 счетчик + + int CaunMin; + //37 счетчик - + int CaunPlusRateAdd; //36 счетчик + + int CaunMinRateAdd; + int CaunPlusRate; //36 счетчик + + int CaunMinRate; + + int CaunPlusReperAdd; //36 счетчик + + int CaunMinReperAdd; + int CaunPlusReper; //36 счетчик + + int CaunMinReper; + // данные АЦП + unsigned int TermoNKU; //38 + unsigned int Termo; //39 значение АЦП + unsigned int DeltaT; //40 + int In1; //41 + int In2; //42 + int Tmp_OffsetT4; //47 + int Tmp_OffsetT5; + float Tmp_scaleT4; //53 + float Tmp_scaleT5; //54 + + unsigned int ADF_Accum; //43 Значенее амплитудного детектора Временное + unsigned int ADS_Accum; + unsigned int IN1_Accum; + unsigned int IN2_Accum; + unsigned int DacIn; //44 Значенее амплитудного детектора Временное + unsigned int ADS_AccumTermLM; //45 + unsigned int TermLM; //46 + unsigned int ADF_Count; + unsigned int ADM_Count; //47 Значенее времени накопления данных + unsigned int ADS_Count; //48 Значенее времени накопления данных + unsigned int AD_Fast; //49 Значенее амплитудного детектора сдвинутое на 16 бит + unsigned int AD_Slow; //50 Значенее амплитудного детектора сдвинутое на 16 бит + unsigned int ADF_NewData; //51 есть данные после фильтрации в быстром фильтре + unsigned int ADS_NewData; //52 -----------/----------/----------/-------- + + + int DownTreshold; //27 + int HighTreshold; + int PLCDelay; + int ResetLevelCool; //105 + int ResetLevelHeat; + + + int PLC_Error2Mode; //53 счетчик, не ноль когдав двух модовом регулировка без модулятора(для просмотра мод) + + unsigned int CMD_In; //54 входящая команда + unsigned int SOC_Out; //55 + unsigned int My_Addres; //56 адрес прибора + unsigned int DropDelayGLD; //57 задержка для мультидропа (дискрета 100кГц) + + unsigned int GLD_Serial; //58 серийный номер прибора + unsigned int CRC; //59 контрольная сумма посылки + unsigned int Firmware_Version; //60 версия программы + unsigned int RsErrLine; //61 регистр ошибок передачи. + + int CuruAngle; + int CuruAngle32; //62 текущеий угол. + int CuruAngle64; + int CuruAngle96; + int CuruAngle128; + int OldCuruAngle; //63 старый угол + int CuruAngleLog; + int Cnt_Dif; //64 приращение угла между прошлым и текушим приращением за тик виброподвеса (32 тика) + + unsigned int PinReg; //65 bit4 bit3 bit 2 bit1 bit0 + unsigned int PinRegOld; //66 || светодиод || состояние поджига || состояние подсветки || состояние вибро 2 || состояние вибро 1 || + + unsigned int Discharg; //67 последовательность бит харрактеризующая форму сигнала поджига. + unsigned int BackLight; //68 последовательность бит харрактеризующая форму сигнала подсветки. + unsigned int LaserOn; + unsigned int EXT_Latch; //69 } GyroT, *Gyro_p; extern GyroT Gyro; @@ -287,8 +293,8 @@ unsigned int DAC_current_Work; //3 HFO_MIN unsigned int DAC_current_Start; //4 HFO_MAX - unsigned int FlashMod; //5 -unsigned int a4; //6 +unsigned int TimeToJump; //5 +unsigned int JumpDelta; //6 unsigned int PLC_Phase; //7 int PLC_Gain; //8 @@ -415,7 +421,7 @@ unsigned int a85; //112 unsigned int a86; //113 unsigned int a87; //114 -unsigned int a88; //115 +unsigned int FlashMod; //115 unsigned int a89; //116 unsigned int TSHeat0; //117