From d0e995ff7c5f4a6b1a7e31520ec87e9f09871a19 Mon Sep 17 00:00:00 2001 From: Tristan Schnell Date: Thu, 13 Jun 2019 14:54:19 +0200 Subject: [PATCH] implemented error when trying to start driver without connection to a robot --- ur_rtde_driver/include/ur_rtde_driver/comm/pipeline.h | 5 ++++- ur_rtde_driver/include/ur_rtde_driver/comm/producer.h | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ur_rtde_driver/include/ur_rtde_driver/comm/pipeline.h b/ur_rtde_driver/include/ur_rtde_driver/comm/pipeline.h index 6fdd0f4..38c9ca3 100644 --- a/ur_rtde_driver/include/ur_rtde_driver/comm/pipeline.h +++ b/ur_rtde_driver/include/ur_rtde_driver/comm/pipeline.h @@ -184,7 +184,10 @@ public: running_ = false; - pThread_.join(); + if (pThread_.joinable()) + { + pThread_.join(); + } if (cThread_.joinable()) { cThread_.join(); diff --git a/ur_rtde_driver/include/ur_rtde_driver/comm/producer.h b/ur_rtde_driver/include/ur_rtde_driver/comm/producer.h index 58a20ee..167742d 100644 --- a/ur_rtde_driver/include/ur_rtde_driver/comm/producer.h +++ b/ur_rtde_driver/include/ur_rtde_driver/comm/producer.h @@ -24,6 +24,7 @@ #include "ur_rtde_driver/comm/parser.h" #include "ur_rtde_driver/comm/stream.h" #include "ur_rtde_driver/comm/package.h" +#include "ur_rtde_driver/exceptions.h" namespace ur_driver { @@ -48,7 +49,10 @@ public: tv.tv_sec = 1; tv.tv_usec = 0; stream_.setReceiveTimeout(tv); - stream_.connect(); + if(!stream_.connect()) + { + throw UrException("Failed to connect to robot. Please check if the robot is booted and connected."); + } } void teardownProducer() {