application.cpp 694 B

123456789101112131415161718192021222324252627
  1. #include "application.h"
  2. #include <WString.h>
  3. void Application::init() noexcept {
  4. AbstractNode::init();
  5. lcd_.begin(16, 2);
  6. lcd_.clear();
  7. }
  8. void Application::update(unsigned long const deltaMillis) noexcept {
  9. AbstractNode::update(deltaMillis);
  10. updateDisplay_ += deltaMillis;
  11. auto const& hs = children_.getHeatSensor();
  12. if (hs.hasValueChanged() && updateDisplay_ > 250ul) {
  13. float const voltage = (hs.getValue() / 1024.0f) * 5.0f;
  14. float const temperature = (voltage - 0.5f) * 100.0f;
  15. lcd_.home();
  16. lcd_.write("Temperature: ");
  17. lcd_.setCursor(0, 1);
  18. lcd_.write(String{temperature, 2}.c_str());
  19. lcd_.write(" DC ");
  20. updateDisplay_ = 0ul;
  21. }
  22. }