diff --git a/libs/main/io_devices/piserial.cpp b/libs/main/io_devices/piserial.cpp index bd4d6588..1f7c62de 100644 --- a/libs/main/io_devices/piserial.cpp +++ b/libs/main/io_devices/piserial.cpp @@ -707,7 +707,7 @@ bool PISerial::openDevice() { PIString wp = "//./" + p; PRIVATE->hCom = CreateFileA(wp.dataAscii(), ds, sm, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_OVERLAPPED, 0); if (PRIVATE->hCom == INVALID_HANDLE_VALUE) { - piCoutObj << "Unable to open \"" << p << "\""; + piCoutObj << "Unable to open \"" << p << "\"" << errorString(); fd = -1; return false; } diff --git a/libs/main/io_utils/pipacketextractor.cpp b/libs/main/io_utils/pipacketextractor.cpp index a0de975b..0518128b 100644 --- a/libs/main/io_utils/pipacketextractor.cpp +++ b/libs/main/io_utils/pipacketextractor.cpp @@ -305,13 +305,17 @@ PIString PIPacketExtractor::constructFullPathDevice() const { bool PIPacketExtractor::openDevice() { - if (dev) return dev->open(); + if (dev) { + if (!dev->isOpened()) return dev->open(); + } return false; } bool PIPacketExtractor::closeDevice() { - if (dev) return dev->close(); + if (dev) { + if (dev->isOpened()) return dev->close(); + } return false; }