#pragma once

#include <core.h>

class GroveTerminal
 { public:
      GroveTerminal() {} 
      void begin(unsigned long baud) { pinMode(1,OUTPUT); pinStrength(1,1); pinMode(0,INPUT); SERIAL_PORT_HARDWARE.begin(baud, SERIAL_8N1); }
      StreamList &read() { return input.begin(&SERIAL_PORT_HARDWARE); }
      String readln();
      PrintList &print() { return output.begin(false, &SERIAL_PORT_HARDWARE); }
      PrintList &println() { return output.begin(true, &SERIAL_PORT_HARDWARE); }
      void setDelimiter(char c) { input.setDelimiter(c); }
      void setPlaces(int p) { output.setPlaces(p); }
	   void setBase(int b) { output.setBase(b); }
   private:
   	StreamList input;
   	PrintList  output;
 };
