X13.Periphery.TWIDriver.HIH61xx.Recv C# (CSharp) Method

Recv() public method

public Recv ( byte buf ) : bool
buf byte
return 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)) & 0x3FFF) *55.0/5461-40, 2);
                _H.value=Math.Round(((buf[4]<<2) | (buf[5] >> 6))*20.0/51, 1);
                _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) {