From 4581a7c9fde352bd18f76e22f16e068edaf61d82 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 4 Nov 2016 09:55:55 +0000 Subject: [PATCH] Stop double opens and closes on the UMP when used for Nextion and control lines. --- UMP.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) 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; }