Download this file
#include "ui.h"
#include "heater_controller_master.h"

UI::UI(Protocol* protocol):
  protocol(protocol)
  {
    protocol->set_ui(this);
  }

bool UI::canRun(uint32_t now) {
  return Serial.available();
}

void UI::run(uint32_t now) {
  char c = Serial.read();
  //Serial.println(c);
  switch(c) {
    case 'S':
      protocol->status_request();
      break;
    case 'C':
      protocol->relay_close_request();
      break;
    case 'O':
      protocol->relay_open_request();
      break;
    default:
      break;
  }
}

void UI::write_status(uint8_t relay_state, float temperature, float current) {
  Serial.print("S");
  Serial.print(relay_state, DEC);
  Serial.print(" ");
  Serial.print(temperature);
  Serial.print(" ");
  Serial.print(current);
  Serial.println();
}

void UI::write_error(uint8_t code) {
  Serial.print("E");
  Serial.println(code, DEC);
}

void UI::write_OK() {
  Serial.println("OK");
}
// vim:ft=arduino