#include "SmartDisplay.hpp" SmartDisplay::SmartDisplay(Adafruit_SSD1306 *display) { m_display = display; } void SmartDisplay::printTeaConfigScreen(TeaData tea) { resetDisplay(); m_display->println(tea.m_teaName); m_display->print(tea.m_waterTemp); m_display->println(" C"); m_display->setTextSize(2); m_display->print(tea.m_steepingSeconds); m_display->print(" "); m_display->display(); } void SmartDisplay::printTeaSteepingProgressScreen(TeaData tea, int remainingSeconds) { resetDisplay(); m_display->println(tea.m_teaName); m_display->println(" (Steeping)"); m_display->setTextSize(2); m_display->println(remainingSeconds); m_display->display(); } void SmartDisplay::printWaitForRFIDScreen() { resetDisplay(); m_display->println("Waiting for RFID scan..."); m_display->display(); } void SmartDisplay::printRequestFeedbackScreen(TeaData teaData) { resetDisplay(); m_display->println("Feedback on brew intensity"); m_display->println(); m_display->println("|less| perfect |more|"); m_display->display(); } void SmartDisplay::printAddNewTeaConfigScreen(TeaData teaData) { resetDisplay(); m_display->println("Add initial config for new tea"); m_display->println(); m_display->print("Steeping time:"); m_display->print(teaData.m_steepingSeconds); m_display->println("s"); m_display->display(); } void SmartDisplay::printMsg(const String &s) { resetDisplay(); m_display->setCursor(0, 10); m_display->println(s); m_display->display(); } void SmartDisplay::printMsg(unsigned long l) { resetDisplay(); m_display->setCursor(0, 10); m_display->println(l); m_display->display(); } void SmartDisplay::resetDisplay() { m_display->clearDisplay(); m_display->setTextColor(WHITE); m_display->setTextSize(1); m_display->setCursor(0, 0); }