-
Fork of HygroClip2 by
Diff: HygroClip2.cpp
- Revision:
- 1:810b9b0dd9a4
- Parent:
- 0:0f5101a649db
- Child:
- 2:b41e36e81711
--- a/HygroClip2.cpp Tue Feb 16 11:34:37 2016 +0000 +++ b/HygroClip2.cpp Tue Mar 15 07:45:31 2016 +0000 @@ -1,4 +1,5 @@ #include "HygroClip2.h" +#include <cmath> HygroClip2::HygroClip2(PinName tx, PinName rx) : uart_(tx, rx), temperature_(0.0f), humidity_(0.0f), dataReadyToPars_(false) @@ -12,7 +13,7 @@ { static size_t index = 0; uint8_t data = uart_.getc(); - + if (dataReadyToPars_) { return; } @@ -38,13 +39,15 @@ dataReadyToPars_ = false; humidity_ = atof(reinterpret_cast<char *>(&buffer_[11])); temperature_ = atof(reinterpret_cast<char *>(&buffer_[29])); + isDataValid_ = true; } else { - humidity_ = -1.0f; - temperature_ = -1.0f; + humidity_ = NAN; + temperature_ = NAN; + isDataValid_ = false; } - + uart_.printf("{F00RDD}\r"); } @@ -67,3 +70,7 @@ float absoluteHumidity = partialPressure / (461.51f * (getTemperature() + 273.15f)); return absoluteHumidity*1000; } +bool HygroClip2::isDataValid() +{ + return isDataValid_; +}