X13.Periphery.TWIDriver.CC2D.Recv C# (CSharp) Метод

Recv() публичный Метод

public Recv ( byte buf ) : bool
buf byte
Результат bool
      public override bool Recv(byte[] buf) {
        if(buf[0]==ADDR) {
          if(buf[1]==0x10) {
            if(buf.Length==8) {
              if((buf[4] & 0xC0)==0) {
                _T.value=Math.Round(((buf[6]<<6) | (buf[7]>>2))*165.0/16384-40, 2);
                double tmp=Math.Round(((buf[4]<<8) | buf[5])*25.0/4096, 1);
                if(tmp<=100) {
                  _H.value=tmp;
                }
                _present.value=true;
                _pt=DateTime.Now.AddSeconds(_rand.Next(45, 75));
                _st=0;
                _tCnt=0;
              } else {
                if(_tCnt++<3) {
                  _pt=DateTime.Now.AddMilliseconds(15);
                  _st=1;
                } else {
                  _pt=DateTime.Now.AddSeconds(_rand.Next(15, 30));
                  _st=0;
                }
              }
            }
          } else {
            _present.value=false;
            if(TWIDriver._verbose) {
              Log.Error("{0}.recv - {1}", _T.path, (AckFlags)buf[1]);
            }
            _tCnt++;
            _pt=DateTime.Now.AddSeconds(1+_rand.Next(15, 30)*_tCnt);
            _st=0;
          }
          return true;
        }
        return false;
      }
      public override bool Poll(out byte[] buf) {