while(srcDataIdx < dataLen){
i = 0;
while(i<MAX_SEGMENT_SIZE){
tmpChr = pgm_read_byte(progdata + srcDataIdx++);
if(tmpChr == '%'){ //Truong hop ung voi dieu khien relay ("%RLx) hay gia tri AD ("%ADx")
if( (i + 9) > MAX_SEGMENT_SIZE){ //Neu khong con du cho trong tren buffer
srcDataIdx--;
break;
}
//Tiep tuc neu du cho trong tren buffer
tmpVar = pgm_read_byte(progdata + srcDataIdx + 3) - 0x30;
if((pgm_read_byte(progdata + srcDataIdx) == 'R') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'L')&&(pgm_read_byte(progdata + srcDataIdx + 2) == '1'))
{
//if(GetRelayState(tmpVar))
if(R1 == 1)
{//checked
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'd';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
else
{
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'w';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
}
if((pgm_read_byte(progdata + srcDataIdx) == 'R') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'L')&&(pgm_read_byte(progdata + srcDataIdx + 2) == '2'))
{
//if(GetRelayState(tmpVar))
if(R2 == 1)
{//checked
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'd';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
else
{
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'w';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
}
//else if((pgm_read_byte(progdata + srcDataIdx) == 'A') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'D')){
//tmpStr = (unsigned char*)uInt2StrLen(LM35_TYP_DECODE(GetADC(tmpVar)), 3);//(unsigned char*)uByte2Str(GetAD(tmpChr));
//tmpVar = 0;
//dataBuffer[i++] = tmpStr[tmpVar++];
//dataBuffer[i++] = tmpStr[tmpVar++];
//dataBuffer[i++] = '.';
//dataBuffer[i++] = tmpStr[tmpVar++];
//while(tmpStr[tmpChr] != 0){
// dataBuffer[i++] = tmpStr[tmpChr++];
//}
//srcDataIdx += 4;
//}
i = 0;
while(i<MAX_SEGMENT_SIZE){
tmpChr = pgm_read_byte(progdata + srcDataIdx++);
if(tmpChr == '%'){ //Truong hop ung voi dieu khien relay ("%RLx) hay gia tri AD ("%ADx")
if( (i + 9) > MAX_SEGMENT_SIZE){ //Neu khong con du cho trong tren buffer
srcDataIdx--;
break;
}
//Tiep tuc neu du cho trong tren buffer
tmpVar = pgm_read_byte(progdata + srcDataIdx + 3) - 0x30;
if((pgm_read_byte(progdata + srcDataIdx) == 'R') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'L')&&(pgm_read_byte(progdata + srcDataIdx + 2) == '1'))
{
//if(GetRelayState(tmpVar))
if(R1 == 1)
{//checked
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'd';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
else
{
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'w';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
}
if((pgm_read_byte(progdata + srcDataIdx) == 'R') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'L')&&(pgm_read_byte(progdata + srcDataIdx + 2) == '2'))
{
//if(GetRelayState(tmpVar))
if(R2 == 1)
{//checked
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'd';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
else
{
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'w';dataBuffer[i++] = ' ';
srcDataIdx += 5;
}
}
//else if((pgm_read_byte(progdata + srcDataIdx) == 'A') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'D')){
//tmpStr = (unsigned char*)uInt2StrLen(LM35_TYP_DECODE(GetADC(tmpVar)), 3);//(unsigned char*)uByte2Str(GetAD(tmpChr));
//tmpVar = 0;
//dataBuffer[i++] = tmpStr[tmpVar++];
//dataBuffer[i++] = tmpStr[tmpVar++];
//dataBuffer[i++] = '.';
//dataBuffer[i++] = tmpStr[tmpVar++];
//while(tmpStr[tmpChr] != 0){
// dataBuffer[i++] = tmpStr[tmpChr++];
//}
//srcDataIdx += 4;
//}

Leave a comment: