       return;
   }
 
-  //addr ok, go get data  
+  //address ok
 
-  if ( addr[0] != 0x10) {//add to this for DS18B22 etc
+  if ( addr[0] != 0x10) {//todo: support for DS18B22
       Serial.print("-2 ");
       pa(addr);
       Serial.print("Device is not a DS18S20 family device.\n");
       return;
   }
 
-
-  // The DallasTemperature library can do all this work for you!
-
+  //sensor ok, get data
   ds.reset();
   ds.select(addr);
 //  ds.write(0x44,1);         // start conversion, with parasite power on at the end

      return;
  }

  //decode and show basic temp
  float t = ((data[0] & 0xfe) + 256*data[1])/2.0
           - 0.25 + (16-data[6])/16.0;
  Serial.print("1 ");//this is temp
  pa(addr);
  Serial.print(t);
//  Serial.print(" ");
//  Serial.print(data[6],DEC);//count remain
//  Serial.print(" ");
//  Serial.print(data[7],DEC);//count per C, always 16
  //end of the line
  Serial.print("\n");
}

  ds.select(addr);    
  ds.write(0xBE);         // Read Scratchpad

  for ( i = 0; i < 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
//    Serial.print(data[i], HEX);//DEBUG
//    Serial.print(" ");
  }
  //check CRC
