From 1a46b1b280ad3b02f2d10a635f95d122b4329fcf Mon Sep 17 00:00:00 2001 From: Fabian Peller <fabian.peller-konrad@kit.edu> Date: Thu, 30 Nov 2023 16:36:03 +0100 Subject: [PATCH] fix missing result for the last status update if a skill succeeds --- .../components/skills/SkillProviderExample/HelloWorld.cpp | 5 +++-- .../skills/provider/detail/SkillImplementationWrapper.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp b/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp index edf918402..d3e66e838 100644 --- a/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp +++ b/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp @@ -29,7 +29,8 @@ namespace armarx::skills::provider .rootProfileDefaults = root_profile_params.toAron(), .timeout = armarx::core::time::Duration::MilliSeconds(1000), .parametersType = - armarx::skills::Example::HelloWorldAcceptedType::ToAronType()}; + armarx::skills::Example::HelloWorldAcceptedType::ToAronType(), + .resultType = armarx::skills::Example::HelloWorldAcceptedType::ToAronType()}; } Skill::MainResult @@ -42,6 +43,6 @@ namespace armarx::skills::provider .dump(2) << "\n" << "(executed at: " << IceUtil::Time::now() << ")"; - return {TerminatedSkillStatus::Succeeded, nullptr}; + return {TerminatedSkillStatus::Succeeded, in.parameters.toAron()}; } } // namespace armarx::skills::provider diff --git a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp index 55f9d80c0..25fe34efa 100644 --- a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp +++ b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp @@ -340,7 +340,7 @@ namespace armarx // Exit succeeded! // All succeeded! { - updateStatus(SkillStatus::Succeeded); + updateStatus(SkillStatus::Succeeded, mainRet.data); // return result of main method std::unique_lock l(skillStatusesMutex); -- GitLab