diff --git a/UMP.cpp b/UMP.cpp index 2a8cd47..301b004 100644 --- a/UMP.cpp +++ b/UMP.cpp @@ -41,6 +41,7 @@ const unsigned int BUFFER_LENGTH = 255U; CUMP::CUMP(const std::string& port) : m_serial(port, SERIAL_115200), +m_open(false), m_buffer(NULL), m_length(0U), m_offset(0U), @@ -58,6 +59,9 @@ CUMP::~CUMP() bool CUMP::open() { + if (m_open) + return true; + bool ret = m_serial.open(); if (!ret) return false; @@ -74,6 +78,8 @@ bool CUMP::open() return false; } + m_open = true; + return true; } @@ -235,5 +241,10 @@ void CUMP::clock(unsigned int ms) void CUMP::close() { + if (!m_open) + return; + m_serial.close(); + + m_open = false; }