//
#include <SerialUart.h>
//
CSerialUart::CSerialUart(HardwareSerial& serial)
            :HardwareSerial(serial)
{
  FPinRX = -1;
  FPinTX = -1;
}
// 
bool CSerialUart::Open(long unsigned baudrate, int pinrx, int pintx)
{
  FPinRX = pinrx;
  FPinTX = pintx;
  if ((0 < FPinRX) && (FPinTX))
  {
    this->begin(baudrate, SERIAL_8N1, FPinRX, FPinTX);
  } else
  {
    this->begin(baudrate, SERIAL_8N1);
  }
  delay(INIT_SERIALUART_STARTUP); 
  return true;
}
//
bool CSerialUart::Close(void)
{
  this->end();
  return true;
}
//
void CSerialUart::Message(const char* format, ...)
{
  char SBuffer[INIT_SERIALUART_BUFFERSIZE];
  va_list arguments;
  va_start(arguments, format);
  vsnprintf(SBuffer, sizeof(SBuffer), format, arguments); 
  va_end(arguments);
  this->println(SBuffer);
}
