Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
Diff: Command.c
- Revision:
- 92:c892f0311aa7
- Parent:
- 45:cbc955aecebe
- Child:
- 93:b3803774f110
--- a/Command.c Thu Mar 24 14:46:58 2016 +0000 +++ b/Command.c Fri Mar 25 11:11:46 2016 +0000 @@ -1,14 +1,7 @@ #include "stdlib.h" #include "LPC17xx.h" -#include "Command.h" -#include "el_lin.h" -#include "vibro.h" #include "Global.h" -#include "uart_m.h" -#include "CntrlGLD.h" -#include "QEI.h" -#include "InputOutput.h" -#include "SPI.h" + unsigned int Rate_Flag; unsigned int CountBuFFIn; unsigned int N=0,CRC_N; @@ -57,7 +50,7 @@ unsigned int ADC1H, ADC2H, ADC3H, ADC4H, ADC5H; - LoopOn + // Gyro .T_Vib=(unsigned int)((7680000*16/Gyro.Frq)*4096); Gyro.T_Vib=(unsigned int)((7680000*16/(Gyro.Frq>>12))); Gyro.Firmware_Version=0xff; /// промежуточная затычка @@ -167,7 +160,7 @@ Check(BuffTemp, 44); WriteConN (BuffTemp,44); - LoopOff + } void CMD_M_Control_D8()///установка\сброс регистров управления @@ -324,6 +317,7 @@ unsigned int lengf=0; switch(Gyro.CMD_In) { case 0x99://Gyrotainance + lengf=6; CRC_N=8; break; @@ -367,44 +361,52 @@ void Read_CMD(void) { - + Gyro.RsErrLine = (Gyro.RsErrLine)& 0xffff;//для сброса ошибки - CountBuFFIn=ReadChekCon1(BuffTemp); // чтение данных из консоли + CountBuFFIn=ReadChekCon(BuffTemp); // чтение данных из консоли - if(CountBuFFIn==1) { // если есть первый байт + if(CountBuFFIn==1) { // если есть первый байт if (BuffTemp[0] != SOC_In) { ReadCon(BuffTemp); Gyro.RsErrLine += 0x100;//WriteCon("\n\r ...Error.... "); BuffTemp[99]=Gyro.RsErrLine; } - } else if(CountBuFFIn==2) { //если второй ,fqn + } else if(CountBuFFIn==2) { //если второй ,fqn if (BuffTemp[1] != Gyro.My_Addres) { - ReadCon(BuffTemp); + ReadCon(BuffTemp); Gyro.RsErrLine += 0x1;//WriteCon("\n\r ...Error_ADDRES.... "); } } else if(CountBuFFIn==3) { // если ьоетий байт Gyro.CMD_In=BuffTemp[2]; - N=Getlengf(); - } else if(CountBuFFIn==4 && (N==6)) { // N - длина посылки аскглд(для записи параметров). определяется по коду команды в Getlengf(); + N=Getlengf(); + } + else if(CountBuFFIn==4 && (N==6)) + { // N - длина посылки аскглд(для записи параметров). определяется по коду команды в Getlengf(); Param1=BuffTemp[3]; - } else if((CountBuFFIn==5)&&(N==7)) { - //LoopOn + } + else if((CountBuFFIn==5)&&(N==7)) + { + Param1=BuffTemp[3]; Param2=BuffTemp[4]; - } else if((CountBuFFIn==6)&&(N==8)) { + } + else if((CountBuFFIn==6)&&(N==8)) + { Param1=BuffTemp[3]; Param2=BuffTemp[4]; Param3=BuffTemp[5]; - } else if(CountBuFFIn > (N-1)) { - ReadCon1(BuffTemp); - if(Check(BuffTemp, CountBuFFIn)) { + } + else if(CountBuFFIn > (N-1)) + { + ReadCon(BuffTemp); switch(Gyro.CMD_In) { - case CMD_MAINT: + case 0x99: + LoopOn CMD_Maintenance(); break; case 0xD8: @@ -419,7 +421,7 @@ Rate_Flag=1; break; Gyro.RsErrLine = 0; - } + } }