| 248 | |
| 249 | |
| 250 | bool SHT::readData(bool fast) |
| 251 | { |
| 252 | uint8_t buffer[6]; |
| 253 | if (readBytes(6, (uint8_t*) &buffer[0]) == false) |
| 254 | { |
| 255 | return false; |
| 256 | } |
| 257 | |
| 258 | if (!fast) |
| 259 | { |
| 260 | if (buffer[2] != crc8(buffer, 2)) |
| 261 | { |
| 262 | _error = SHT_ERR_CRC_TEMP; |
| 263 | return false; |
| 264 | } |
| 265 | if (buffer[5] != crc8(buffer + 3, 2)) |
| 266 | { |
| 267 | _error = SHT_ERR_CRC_HUM; |
| 268 | return false; |
| 269 | } |
| 270 | } |
| 271 | |
| 272 | _rawTemperature = (buffer[0] << 8) + buffer[1]; |
| 273 | _rawHumidity = (buffer[3] << 8) + buffer[4]; |
| 274 | |
| 275 | _lastRead = millis(); |
| 276 | |
| 277 | return true; |
| 278 | } |
| 279 | |
| 280 | |
| 281 | int SHT::getError() |