![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
forkd
Fork of LGstaandart by
Diff: Command.c
- Revision:
- 21:bc8c1cec3da6
- Parent:
- 0:8ad47e2b6f00
- Child:
- 25:1a6798ccd3cd
--- a/Command.c Tue Feb 02 17:14:25 2016 +0000 +++ b/Command.c Wed Feb 03 07:19:30 2016 +0000 @@ -15,448 +15,416 @@ unsigned int CountBuFFIn; unsigned int ParamIn; unsigned int Err; - unsigned int N=0,CRC_N; - unsigned int Param1=0; - unsigned int Param2=0; - unsigned int Param3=0; - unsigned int Param4=0; - +unsigned int N=0,CRC_N; +unsigned int Param1=0; +unsigned int Param2=0; +unsigned int Param3=0; +unsigned int Param4=0; + /* -void exec_CMD(void) //r. === ��������� ������������� ���������� � ���������� ������� +void exec_CMD(void) //r. === процедура окончательной дешифрации и исполнения команды { unsigned int Comand_code; - - //rx_buf_copy = 1; //r. ����������� ����� ����������� ��������� ������ + + //rx_buf_copy = 1; //r. предустанов флага копирования приемного буфера Comand_code = (rcv_buf[2] & 0xFF) << 8; - PC_Comand = Comand_code | (rcv_buf[3] & 0xFF); //e. save it in the memory for echo-transmission //r. ��������� ��� � ������ ��� �������� �������� + PC_Comand = Comand_code | (rcv_buf[3] & 0xFF); //e. save it in the memory for echo-transmission //r. сохранить его в памяти для обратной передачи }*/ void CMD_Maintenance(void) { - BuffTemp[0] = Main.SOC_Out; - BuffTemp[1] = Main.My_Addres; - BuffTemp[2] = Main.Firmware_Version; - BuffTemp[3] = Main.GLD_Serial; - BuffTemp[4]=0x00; - BuffTemp[5]=0x00; - Check(BuffTemp, 8); - WriteConN (BuffTemp,8); + BuffTemp[0] = Main.SOC_Out; + BuffTemp[1] = Main.My_Addres; + BuffTemp[2] = Main.Firmware_Version; + BuffTemp[3] = Main.GLD_Serial; + BuffTemp[4]=0x00; + BuffTemp[5]=0x00; + Check(BuffTemp, 8); + WriteConN (BuffTemp,8); } void CMD_Rate(void) -{ - - unsigned int T_VibH , T_VibL; // ������� ������������. - unsigned int Cnt_PlsL , Cnt_PlsH; // ������� +. - unsigned int Cnt_MnsL , Cnt_MnsH; // ������� -. - unsigned int Cnt_DifL , Cnt_DifH; // �������� ���������. - unsigned int F_rasL , F_rasH; // ������� �����������. - - unsigned int HF_regL , HF_regH; // ����� ���������� ���. �� ������� - unsigned int HF_difL , HF_difH; // ������ ������ ����������� ���. �� ������� - - unsigned int WP_regL , WP_regH; - - unsigned int ADC1L, ADC2L, ADC3L, ADC4L, ADC5L; - unsigned int ADC1H, ADC2H, ADC3H, ADC4H, ADC5H; - - - LoopOn +{ + + unsigned int T_VibH , T_VibL; // Частота вибропривода. + unsigned int Cnt_PlsL , Cnt_PlsH; // Счетчик +. + unsigned int Cnt_MnsL , Cnt_MnsH; // Счетчик -. + unsigned int Cnt_DifL , Cnt_DifH; // Разность счетчиков. + unsigned int F_rasL , F_rasH; // Частота расщепления. + + unsigned int HF_regL , HF_regH; // Выход регулятора ГВЧ. НЕ СДЕЛАНО + unsigned int HF_difL , HF_difH; // Сигнал ошибки регулячтора ГВЧ. НЕ СДЕЛАНО + + unsigned int WP_regL , WP_regH; + + unsigned int ADC1L, ADC2L, ADC3L, ADC4L, ADC5L; + unsigned int ADC1H, ADC2H, ADC3H, ADC4H, ADC5H; + + + LoopOn // Main.T_Vib=(unsigned int)((7680000*16/Main.Frq)*4096); - Main.T_Vib=(unsigned int)((7680000*16/(Main.Frq>>12))); - Main.Firmware_Version=0xff; /// ������������� ������� - - T_VibH = ( Main.T_Vib>>8 ) TakeByte; - T_VibL = ( Main.T_Vib ) TakeByte; - - Cnt_PlsH = ( Main.Cnt_Pls>>8) TakeByte; - Cnt_PlsL = ( Main.Cnt_Pls ) TakeByte; - - Cnt_MnsH = ( Main.Cnt_Mns>>8) TakeByte; - Cnt_MnsL = ( Main.Cnt_Mns ) TakeByte; - - Cnt_DifH = ( Main.Cnt_Dif>>8) TakeByte; - Cnt_DifL = ( Main.Cnt_Dif ) TakeByte; - - F_rasH = ( Main.F_ras>>8 ) TakeByte; - F_rasL = ( Main.F_ras ) TakeByte; - - ADC1H = ( Spi.ADC1>>8 ) TakeByte; - ADC1L = ( Spi.ADC1 ) TakeByte; - - ADC2H = ( Spi.ADC2>>8 ) TakeByte; - ADC2L = ( Spi.ADC2 ) TakeByte; - - ADC3H = ( Spi.ADC3>>8 ) TakeByte; - ADC3L = ( Spi.ADC3 ) TakeByte; - - ADC4H = ( Spi.ADC4>>8 ) TakeByte; - ADC4L = ( Spi.ADC4 ) TakeByte; - - ADC5H = ( Spi.ADC5>>8 ) TakeByte; - ADC5L = ( Spi.ADC5 ) TakeByte; - - WP_regH = ( Spi.DAC_B>>8 ) TakeByte; - WP_regL = ( Spi.DAC_B ) TakeByte; - - HF_regH=0xff; - HF_regL=0xff; + Main.T_Vib=(unsigned int)((7680000*16/(Main.Frq>>12))); + Main.Firmware_Version=0xff; /// промежуточная затычка + + T_VibH = ( Main.T_Vib>>8 ) TakeByte; + T_VibL = ( Main.T_Vib ) TakeByte; + + Cnt_PlsH = ( Main.Cnt_Pls>>8) TakeByte; + Cnt_PlsL = ( Main.Cnt_Pls ) TakeByte; + + Cnt_MnsH = ( Main.Cnt_Mns>>8) TakeByte; + Cnt_MnsL = ( Main.Cnt_Mns ) TakeByte; + + Cnt_DifH = ( Main.Cnt_Dif>>8) TakeByte; + Cnt_DifL = ( Main.Cnt_Dif ) TakeByte; + + F_rasH = ( Main.F_ras>>8 ) TakeByte; + F_rasL = ( Main.F_ras ) TakeByte; + + ADC1H = ( Spi.ADC1>>8 ) TakeByte; + ADC1L = ( Spi.ADC1 ) TakeByte; - HF_difH=0xff; - HF_difL=0xff; + ADC2H = ( Spi.ADC2>>8 ) TakeByte; + ADC2L = ( Spi.ADC2 ) TakeByte; + + ADC3H = ( Spi.ADC3>>8 ) TakeByte; + ADC3L = ( Spi.ADC3 ) TakeByte; + + ADC4H = ( Spi.ADC4>>8 ) TakeByte; + ADC4L = ( Spi.ADC4 ) TakeByte; + + ADC5H = ( Spi.ADC5>>8 ) TakeByte; + ADC5L = ( Spi.ADC5 ) TakeByte; + + WP_regH = ( Spi.DAC_B>>8 ) TakeByte; + WP_regL = ( Spi.DAC_B ) TakeByte; + + HF_regH=0xff; + HF_regL=0xff; + + HF_difH=0xff; + HF_difL=0xff; + - - BuffTemp[ 0] = Main.SOC_Out; - BuffTemp[ 1] = Main.My_Addres; - - BuffTemp[ 2] = Cnt_PlsH;//������� ���� �������� +. - BuffTemp[ 3] = Cnt_PlsL;//������� ���� �������� +. - - BuffTemp[ 4] = Cnt_MnsH;//������� ���� �������� -. - BuffTemp[ 5] = Cnt_MnsL;//������� ���� �������� -. - - BuffTemp[ 6] = Cnt_DifH;//������� ���� �������� ��������� - BuffTemp[ 7] = Cnt_DifL;//������� ���� �������� ��������� - - BuffTemp[ 8] = F_rasH; - BuffTemp[ 9] = F_rasL; - - BuffTemp[10] = HF_regH; - BuffTemp[11] = HF_regL; - - BuffTemp[12] = HF_difH; - BuffTemp[13] = HF_difL; - - BuffTemp[14] = T_VibH ;// - BuffTemp[15] = T_VibL; //? - - BuffTemp[16] = Main.Firmware_Version;//�� - BuffTemp[17] = Main.Firmware_Version;//�� - - BuffTemp[18] = T_VibH>>1; - BuffTemp[19] = T_VibL; - - BuffTemp[20] = Main.Firmware_Version;//�� - BuffTemp[21] = Main.Firmware_Version;//�� - - BuffTemp[22] = WP_regH; //��� Spi.DAC_B - BuffTemp[23] = WP_regL; //��� - - BuffTemp[24] = Main.Firmware_Version;// �� - BuffTemp[25] = Main.Firmware_Version;// �� - - BuffTemp[26] = ADC1H; - BuffTemp[27] = ADC1L; - - BuffTemp[28] = ADC1H; - BuffTemp[29] = ADC1L; - - BuffTemp[30] = ADC1H; - BuffTemp[31] = ADC1L; - - BuffTemp[32] = ADC1H; - BuffTemp[33] = ADC1L; - - BuffTemp[34] = ADC1H; - BuffTemp[35] = ADC1L; - - BuffTemp[36] = 0x00;//ADC6 - BuffTemp[37] = 0x00;//ADC6 - - BuffTemp[38] = Main.Firmware_Version; - BuffTemp[39] = Main.Firmware_Version; - BuffTemp[40] = Main.Firmware_Version; - BuffTemp[41] = Main.Firmware_Version; - - - Check(BuffTemp, 44); - WriteConN (BuffTemp,44); - LoopOff + BuffTemp[ 0] = Main.SOC_Out; + BuffTemp[ 1] = Main.My_Addres; + + BuffTemp[ 2] = Cnt_PlsH;//старший байт счетчика +. + BuffTemp[ 3] = Cnt_PlsL;//младший байт счетчика +. + + BuffTemp[ 4] = Cnt_MnsH;//старший байт счетчика -. + BuffTemp[ 5] = Cnt_MnsL;//младший байт счетчика -. + + BuffTemp[ 6] = Cnt_DifH;//старший байт разности счетчиков + BuffTemp[ 7] = Cnt_DifL;//младший байт разности счетчиков + + BuffTemp[ 8] = F_rasH; + BuffTemp[ 9] = F_rasL; + + BuffTemp[10] = HF_regH; + BuffTemp[11] = HF_regL; + + BuffTemp[12] = HF_difH; + BuffTemp[13] = HF_difL; + + BuffTemp[14] = T_VibH ;// + BuffTemp[15] = T_VibL; //? + + BuffTemp[16] = Main.Firmware_Version;//ХЗ + BuffTemp[17] = Main.Firmware_Version;//ХЗ + + BuffTemp[18] = T_VibH>>1; + BuffTemp[19] = T_VibL; + + BuffTemp[20] = Main.Firmware_Version;//ХЗ + BuffTemp[21] = Main.Firmware_Version;//ХЗ + + BuffTemp[22] = WP_regH; //СРП Spi.DAC_B + BuffTemp[23] = WP_regL; //СРП + + BuffTemp[24] = Main.Firmware_Version;// ХЗ + BuffTemp[25] = Main.Firmware_Version;// ХЗ + + BuffTemp[26] = ADC1H; + BuffTemp[27] = ADC1L; + + BuffTemp[28] = ADC1H; + BuffTemp[29] = ADC1L; + + BuffTemp[30] = ADC1H; + BuffTemp[31] = ADC1L; + + BuffTemp[32] = ADC1H; + BuffTemp[33] = ADC1L; + + BuffTemp[34] = ADC1H; + BuffTemp[35] = ADC1L; + + BuffTemp[36] = 0x00;//ADC6 + BuffTemp[37] = 0x00;//ADC6 + + BuffTemp[38] = Main.Firmware_Version; + BuffTemp[39] = Main.Firmware_Version; + BuffTemp[40] = Main.Firmware_Version; + BuffTemp[41] = Main.Firmware_Version; + + + Check(BuffTemp, 44); + WriteConN (BuffTemp,44); + LoopOff } -void CMD_M_Control_D8()///���������\����� ��������� ���������� -{ - int bit,NReg; - BuffTemp[0] = Main.SOC_Out; //DD - BuffTemp[1] = Main.My_Addres; //00 - BuffTemp[2] = Main.CMD_In; //D8 - //10? - if((Param1&0x80)) - { - bit=1; - } - else - { - bit=0; - } - - if ((Param1 & 0x10) == 0) - { - NReg=0; - switch(Param1&0xf) // Main.RgConA - { - case 0x0: - Main.RgConA|=bit; - break; - - case 0x1: - Main.RgConA|=bit<<0x1; - break; - - case 0x2: - Main.RgConA|=bit<<0x2; - break; - - case 0x3: - Main.RgConA|=bit<<0x3; - break; - - case 0x4: - Main.RgConA|=bit<<0x4; - break; - - case 0x5: - Main.RgConA|=bit<<0x5; - break; - - case 0x6: - Main.RgConA|=bit<<0x6; - break; - - case 0x7: - Main.RgConA|=bit<<0x7; - break; - } - BuffTemp[3] = NReg<<4; - BuffTemp[4] = (Main.RgConA>>8 )& 0xff; - BuffTemp[5] = Main.RgConA & 0xff; - } - else - { - NReg=1; // Main.RgConB - switch(Param1&0xf) // Main.RgConB - { - case 0x0: - Main.RgConB|=bit; - break; - case 0x1: - Main.RgConB|=bit<1; - break; - case 0x2: - Main.RgConB|=bit<2; - break; - } - BuffTemp[3] = NReg<<4; - BuffTemp[4] = (Main.RgConB>>8 ) & 0xff; - BuffTemp[5] = Main.RgConB & 0xff; - } - - Check(BuffTemp, CRC_N); - WriteConN (BuffTemp,CRC_N); +void CMD_M_Control_D8()///установка\сброс регистров управления +{ + int bit,NReg; + BuffTemp[0] = Main.SOC_Out; //DD + BuffTemp[1] = Main.My_Addres; //00 + BuffTemp[2] = Main.CMD_In; //D8 + //10? + if((Param1&0x80)) { + bit=1; + } else { + bit=0; + } + + if ((Param1 & 0x10) == 0) { + NReg=0; + switch(Param1&0xf) { // Main.RgConA + case 0x0: + Main.RgConA|=bit; + break; + + case 0x1: + Main.RgConA|=bit<<0x1; + break; + + case 0x2: + Main.RgConA|=bit<<0x2; + break; + + case 0x3: + Main.RgConA|=bit<<0x3; + break; + + case 0x4: + Main.RgConA|=bit<<0x4; + break; + + case 0x5: + Main.RgConA|=bit<<0x5; + break; + + case 0x6: + Main.RgConA|=bit<<0x6; + break; + + case 0x7: + Main.RgConA|=bit<<0x7; + break; + } + BuffTemp[3] = NReg<<4; + BuffTemp[4] = (Main.RgConA>>8 )& 0xff; + BuffTemp[5] = Main.RgConA & 0xff; + } else { + NReg=1; // Main.RgConB + switch(Param1&0xf) { // Main.RgConB + case 0x0: + Main.RgConB|=bit; + break; + case 0x1: + Main.RgConB|=bit<1; + break; + case 0x2: + Main.RgConB|=bit<2; + break; + } + BuffTemp[3] = NReg<<4; + BuffTemp[4] = (Main.RgConB>>8 ) & 0xff; + BuffTemp[5] = Main.RgConB & 0xff; + } + + Check(BuffTemp, CRC_N); + WriteConN (BuffTemp,CRC_N); } - void CMD_M_Control_D9()///������ ��������� ���������� - { - int bit,NReg; - BuffTemp[0] = Main.SOC_Out; //DD - BuffTemp[1] = Main.My_Addres; //00 - BuffTemp[2] = Main.CMD_In; //D9 - if ((Param1 & 0x10) == 0) - { - BuffTemp[3]=0<<4; - BuffTemp[4] = (Main.RgConA>>8 )& 0xff; - BuffTemp[5] = Main.RgConA & 0xff; - } - else - { - BuffTemp[3]=1<<4; - BuffTemp[4] = (Main.RgConB>>8 ) & 0xff; - BuffTemp[5] = Main.RgConB & 0xff; - } - Check(BuffTemp, CRC_N); - WriteConN (BuffTemp,CRC_N); - } -// (����� (���) ���� 0...3, ������� ���� ���������� ����, ������� ���� ���� ����) +void CMD_M_Control_D9()///чтение регистров управления +{ + int bit,NReg; + BuffTemp[0] = Main.SOC_Out; //DD + BuffTemp[1] = Main.My_Addres; //00 + BuffTemp[2] = Main.CMD_In; //D9 + if ((Param1 & 0x10) == 0) { + BuffTemp[3]=0<<4; + BuffTemp[4] = (Main.RgConA>>8 )& 0xff; + BuffTemp[5] = Main.RgConA & 0xff; + } else { + BuffTemp[3]=1<<4; + BuffTemp[4] = (Main.RgConB>>8 ) & 0xff; + BuffTemp[5] = Main.RgConB & 0xff; + } + Check(BuffTemp, CRC_N); + WriteConN (BuffTemp,CRC_N); +} +// (номер (код) ЦАПа 0...3, старший байт требуемого ЦАПа, младший байт треб ЦАПа) void CMD_M_Stymul() { - int temp; - temp =((BuffTemp[4]<<8) | BuffTemp[5]); - // temp=0; - temp=temp&0xFFFF; - DACF =(temp*K_DAC)+deltaDAC; - Spi.DAC_B =(unsigned int)(DACF) /*(unsigned int)(temp*K_DAC+deltaDAC)*/; // K_DAC); - - //int temp; + int temp; + temp =((BuffTemp[4]<<8) | BuffTemp[5]); + // temp=0; + temp=temp&0xFFFF; + DACF =(temp*K_DAC)+deltaDAC; + Spi.DAC_B =(unsigned int)(DACF) /*(unsigned int)(temp*K_DAC+deltaDAC)*/; // K_DAC); + + //int temp; // temp =((BuffTemp[4]<<8) | BuffTemp[5]); - //temp = 65535 - temp; - /*if(temp<1000) - { - temp=0; - } - else if(temp>60000) - { - temp=65535; - }*/ - //Spi.DAC_B =(((BuffTemp[4]<<8) | BuffTemp[5])*K_DAC+deltaDAC);/*((BuffTemp[4]<<8) | BuffTemp[5])-0xFFFF*///; //((rcv_buf[4] << 8) | (int)rcv_buf[5]);K_DAC+deltaDAC - //BuffTemp[0] = temp; //DD - //WriteConN (BuffTemp,1); + //temp = 65535 - temp; + /*if(temp<1000) + { + temp=0; + } + else if(temp>60000) + { + temp=65535; + }*/ + //Spi.DAC_B =(((BuffTemp[4]<<8) | BuffTemp[5])*K_DAC+deltaDAC);/*((BuffTemp[4]<<8) | BuffTemp[5])-0xFFFF*///; //((rcv_buf[4] << 8) | (int)rcv_buf[5]);K_DAC+deltaDAC + //BuffTemp[0] = temp; //DD + //WriteConN (BuffTemp,1); } unsigned int Check(char *c, unsigned int Count) { - int i=1; - unsigned int temp,CRC; + int i=1; + unsigned int temp,CRC; + + + temp=1; + CRC=0; + + + for(; i<Count-2; i++) { + CRC+=c[i]; + } - - temp=1; - CRC=0; - - - for(;i<Count-2;i++) - { - CRC+=c[i]; - } - - if(c[Count-2]!=((CRC>>8)&0xFF)) - { - temp=0; - Main.RsErrLine = (Main.RsErrLine)&=0x2; - } + if(c[Count-2]!=((CRC>>8)&0xFF)) { + temp=0; + Main.RsErrLine = (Main.RsErrLine)&=0x2; + } - if(c[Count-1]!=((CRC>>0)&0xFF)) - { - temp=0; + if(c[Count-1]!=((CRC>>0)&0xFF)) { + temp=0; // Main.RsErrLine= (Main.RsErrLine)=0x2; - } - - c[Count-2]=(CRC>>8)&0xFF; - c[Count-1]=(CRC>>0)&0xFF; - - - - return temp; + } + + c[Count-2]=(CRC>>8)&0xFF; + c[Count-1]=(CRC>>0)&0xFF; + + + + return temp; } int Getlengf(void) { - unsigned int lengf=0; - switch(Main.CMD_In) - { - case 0x99://maintainance - lengf=6; - CRC_N=8; - break; - - case 0x0A: //m_stymul - lengf=8; - break; - - case 0xA5://DeviceMode + unsigned int lengf=0; + switch(Main.CMD_In) { + case 0x99://maintainance + lengf=6; + CRC_N=8; + break; - lengf=6; - CRC_N=8; - break; - - case 0xDD://m_rate + case 0x0A: //m_stymul + lengf=8; + break; + + case 0xA5://DeviceMode + + lengf=6; + CRC_N=8; + break; + + case 0xDD://m_rate - lengf=6; - CRC_N=44; - break; - - case 0xB0://DeviceMode + lengf=6; + CRC_N=44; + break; + + case 0xB0://DeviceMode + + lengf=6; + CRC_N=8; + break; + + case 0xD8://m_control - lengf=6; - CRC_N=8; - break; - - case 0xD8://m_control - - lengf=6; - CRC_N=8; - break; - - case 0xD9://m_control + lengf=6; + CRC_N=8; + break; + + case 0xD9://m_control - lengf=6; - CRC_N=8; - break; - } - return lengf; + lengf=6; + CRC_N=8; + break; + } + return lengf; } void Read_CMD(void) -{ - Main.SOC_Out=0xDD; - Main.RsErrLine = (Main.RsErrLine)& 0xffff; +{ + Main.SOC_Out=0xDD; + Main.RsErrLine = (Main.RsErrLine)& 0xffff; + + + CountBuFFIn=ReadChekCon(BuffTemp); + if(CountBuFFIn==1) { + if (BuffTemp[0] != SOC_In) { + ReadCon(BuffTemp); + Main.RsErrLine += 0x100;//WriteCon("\n\r ...Error.... "); + BuffTemp[99]=Main.RsErrLine; + } + } else if(CountBuFFIn==2) { + if (BuffTemp[1] != Main.My_Addres) { + ReadCon(BuffTemp); + Main.RsErrLine += 0x1;//WriteCon("\n\r ...Error_ADDRES.... "); + } + } else if(CountBuFFIn==3) { + Main.CMD_In=BuffTemp[2]; + N=Getlengf(); + } else if(CountBuFFIn==4 && N==6) { + Param1=BuffTemp[3]; + } else if((CountBuFFIn==5)&&(N==7)) { + //LoopOn + Param1=BuffTemp[3]; + Param2=BuffTemp[4]; - - CountBuFFIn=ReadChekCon(BuffTemp); - if(CountBuFFIn==1) - { - if (BuffTemp[0] != SOC_In) - { - ReadCon(BuffTemp); - Main.RsErrLine += 0x100;//WriteCon("\n\r ...Error.... "); - BuffTemp[99]=Main.RsErrLine; - } - } - else if(CountBuFFIn==2) - { - if (BuffTemp[1] != Main.My_Addres) - { - ReadCon(BuffTemp); - Main.RsErrLine += 0x1;//WriteCon("\n\r ...Error_ADDRES.... "); - } - } - else if(CountBuFFIn==3) - { - Main.CMD_In=BuffTemp[2]; - N=Getlengf(); - } - - else if(CountBuFFIn==4 && N==6) - { - Param1=BuffTemp[3]; - } - else if((CountBuFFIn==5)&&(N==7)) - { - //LoopOn - Param1=BuffTemp[3]; - Param2=BuffTemp[4]; - - } - else if((CountBuFFIn==6)&&(N==8)) - { - Param1=BuffTemp[3]; - Param2=BuffTemp[4]; - Param3=BuffTemp[5]; - } - else if(CountBuFFIn > (N-1)) - { - ReadCon(BuffTemp); - if(Check(BuffTemp, CountBuFFIn)) - { - switch(Main.CMD_In) - { - case CMD_MAINT: - CMD_Maintenance(); - break; - case 0xD8: - CMD_M_Control_D8(); - case 0xD9: - CMD_M_Control_D9(); - break; - case 0x0A: - CMD_M_Stymul(Param1,Param2,Param3); - break; - case 0xDD: - Rate_Flag=1; - break; - Main.RsErrLine = 0; - } - - } + } else if((CountBuFFIn==6)&&(N==8)) { + Param1=BuffTemp[3]; + Param2=BuffTemp[4]; + Param3=BuffTemp[5]; + } else if(CountBuFFIn > (N-1)) { + ReadCon(BuffTemp); + if(Check(BuffTemp, CountBuFFIn)) { + switch(Main.CMD_In) { + case CMD_MAINT: + CMD_Maintenance(); + break; + case 0xD8: + CMD_M_Control_D8(); + case 0xD9: + CMD_M_Control_D9(); + break; + case 0x0A: + CMD_M_Stymul(Param1,Param2,Param3); + break; + case 0xDD: + Rate_Flag=1; + break; + Main.RsErrLine = 0; + } + } + } } +