Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
Diff: Command.c
- Revision:
- 196:f76dbc081e63
- Parent:
- 195:bcc769f5292b
- Child:
- 197:7a05523bf588
diff -r bcc769f5292b -r f76dbc081e63 Command.c --- a/Command.c Tue Sep 20 10:39:30 2016 +0000 +++ b/Command.c Fri Sep 23 05:34:50 2016 +0000 @@ -76,17 +76,15 @@ ///////////////end flah and boot/////////// void M_RateA(void) { - /*Gyro.Delta500_Event=0; - Gyro.DeltaEXT_Event=0;*/ switch(Gyro.ModeOut) { case 1: if(Gyro.Rate1_Event ) CMD_Rate(); break; case 2: if(Gyro.Reper_Event ) CMD_Rate2(); break; //Gyro.Reper_Event выставляется при переходе синуса из - в + - case 3: if(Gyro.Delta500_Event ) CMD_Delta_PS(); break; - case 4: if(Gyro.EXT_Latch ) CMD_Delta_PS(); break; - case 5: if(Gyro.Delta_Bins_Event500 ) CMD_Delta_Bins(); break; + case 3: if(Gyro.Event_500Hz ) CMD_Delta_PS(); break; + case 4: if(Gyro.EXT_Latch ) CMD_Delta_PS(); break; + case 5: if(Gyro.Event_500Hz ) CMD_Delta_Bins(); break; case 6: if(Gyro.B_Delta_EventEXT ) CMD_B_Delta(); break; - case 7: if(Gyro.B_Delta_Event500 ) CMD_B_Delta(); break; - } + case 7: if(Gyro.Event_500Hz ) CMD_B_Delta(); break; + } } void CMD_M_Param_R(void) @@ -142,7 +140,8 @@ } void CMD_B_Delta(void) { - Gyro.B_Delta_Event500=0; + //Gyro.B_Delta_Event500=0; + Gyro.Event_500Hz=0; Gyro.B_Delta_EventEXT=0; unsigned int Temp; BuffTemp[ 0] = Gyro.SOC_Out; @@ -159,8 +158,8 @@ } void CMD_Delta_Bins(void) -{ - Gyro.Delta_Bins_Event500=0; +{ Gyro.Event_500Hz=0; + //Gyro.Delta_Bins_Event500=0; unsigned int Temp; BuffTemp[ 0] = Gyro.SOC_Out; BuffTemp[ 1] = Gyro.My_Addres; @@ -178,9 +177,9 @@ } void CMD_Delta_PS(void) { - Gyro.Delta500_Event=0; + //Gyro.Delta500_Event=0; Gyro.EXT_Latch=0; - + Gyro.Event_500Hz=0; unsigned int Temp; BuffTemp[ 0] = Gyro.SOC_Out; BuffTemp[ 1] = Gyro.My_Addres; @@ -379,14 +378,14 @@ Temp=Gyro.CuruAngle; //(0,28/с) //8 байт + 4 байта от прошлых измерений - // Gyro.CuruAngle = Gyro.CuruAngle + OldCuruAngle; //(72 град/с) +//Gyro.CuruAngle = Gyro.CuruAngle + OldCuruAngle; //(72 град/с) /* OldCuruAngle=Gyro.CuruAngle & 0xff; //сохраняем 4 байта для след измирений Temp=Gyro.CuruAngle>>8; */ //приводим к форме вывода - /* - //(9 град/с) + + /* //(9 град/с) OldCuruAngle=Gyro.CuruAngle & 0x1f; //сохраняем 5 бит для след измирений - Temp=Gyro.CuruAngle>>5; */ //приводим к форме вывода - Gyro.CuruAngle = 0; +Temp=Gyro.CuruAngle>>5; */ //приводим к форме вывода +Gyro.CuruAngle = 0; BuffTemp[ 6] =(Temp >> 8) & 0xff;//старший байт разности счетчиков BuffTemp[ 7] =(Temp >> 0) & 0xff;//младший байт разности счетчиков @@ -722,20 +721,20 @@ switch(TempParam) { case Delta_500 : CMD_Delta_PS(); break; case Delta_EXT : CMD_Delta_PS(); break; - case PDelta_500 : Gyro.ModeOut=3; break; + case PDelta_500 : Gyro.ModeOut=3; Gyro.Event_500Hz=0; break; case PDelta_EXT : Gyro.ModeOut=4; break; } break; case 0xB0: DropDelay(); TempParam = TempParam=(BuffTemp[3]>>7); //Delta_Bins switch(TempParam) { - case PDelta_Bins: Gyro.ModeOut=5; break; + case PDelta_Bins: Gyro.ModeOut=5; Gyro.Event_500Hz=0; break; case Delta_Bins : CMD_Delta_Bins(); break; } break; case 0x0F: DropDelay(); TempParam = (((BuffTemp[3])>>4) & 0x9); //B_Delta switch(TempParam) { case PB_Delta_EXT: Gyro.ModeOut=6; break; - case PB_Delta_INT: Gyro.ModeOut=7; break; + case PB_Delta_INT: Gyro.ModeOut=7; Gyro.Event_500Hz=0; break; case B_Delta_EXT: CMD_B_Delta(); break; case B_Delta_INT: CMD_B_Delta(); break; } @@ -906,7 +905,17 @@ WriteCon(Time); for (int i = 0; i < 32; i++ )sprintf((Time + i * 9)," <%05d> ",Buff_Restored_sin[i]); WriteCon(Time); - } + sprintf(Time,"\r\n"); + WriteCon(Time); + for (int i = 0; i < 32; i++ )sprintf((Time + i * 9)," <%05d> ",Buff_Restored_sin2[i]); + WriteCon(Time); + sprintf(Time,"\r\n"); + WriteCon(Time); + sprintf((Time)," %d %d \r\n ", Gyro.tempdelta2, Gyro.tempdelta); + WriteCon(Time); + Gyro.tempdelta2=0; + Gyro.tempdelta=0; + } if (Time[0] == '7') { // выдача технологическая sprintf(Time,"\r\n"); WriteCon(Time); @@ -957,13 +966,13 @@ if (Time[0] == 'l') Gyro.LogHZ = 0; //Отключить передачу //////////////////////////////////////////////////////////////////////////////////// /*Запись лога регулировки периметра*/ - if (Time[0] == 'g') {Gyro.LogPLC=1; Gyro.PLC_Lern=0;} //включит передачу - if (Time[0] == 'h') Gyro.StrayPLC_flag = 1; //LPC_TIM1->MR0+1000 вносим помеху + - if (Time[0] == 'j') Gyro.StrayPLC_flag = 0; //LPC_TIM1->MR0 убираем помеху + if (Time[0] == 'g') Gyro.LogPLC=1; //включит передачу + if (Time[0] == 'h') Gyro.LogPLC=2; //десперсионка + if (Time[0] == 'j') Gyro.LogPLC=0; //регулировка без выдачиж if (Time[0] == 'b') Gyro.StrayPLC_flag = 3; //LPC_TIM1->MR0-1000 вносим помеху - if (Time[0] == 'n') Gyro.StrayPLC_flag = 2; //LPC_TIM1->MR0+2500 большая помеха. if (Time[0] == 'k') Gyro.LogPLC = 0; //Отключить передачу - if (Time[0] == 'd') Gyro.ModJump = 1; //прыжок на воду + + if (Time[0] == 'd') Gyro.LogPLC=1; //прыжок на воду + if (Time[0] == 'f') Gyro.ModJump = 2; //прыжок на воду - //if (Time[0] == 'z') {Gyro.ModJump = 3; Spi.DAC_B = 0x3a98; } //прообежать по всем модам. ////////////////////////////////////////////////////////////////////////////////////// @@ -972,14 +981,14 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////G=1,K=0 в терменале - if((Gyro.LogHZ == 1)&&(Gyro.Event_500Hz==1)) //Запись для Ориджина. + /* if((Gyro.LogHZ == 1)&&(Gyro.Event_500Hz==1)) //Запись для Ориджина. { Gyro.Event_500Hz=0; sprintf((Time),"%d \r\n",Gyro.MaxAmp); WriteCon(Time); } - + */ if (Time[0] == '8') { // выдача технологическая sprintf(Time,"\r\n"); WriteCon(Time);