From d6b3c06baafe50137125dbf87b032e9282f7202b Mon Sep 17 00:00:00 2001 From: armar-user <armar6@kit> Date: Fri, 28 Jul 2023 09:42:34 +0200 Subject: [PATCH] add flag to (dis)enable requesting objects Signed-off-by: rainer <rainer.kartmann@kit.edu> --- .../statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml | 2 +- .../statecharts/ObjectMemoryGroup/RequestObjects.cpp | 6 ++++++ .../statecharts/ObjectMemoryGroup/RequestObjects.xml | 3 +++ .../ObjectMemoryGroup/test/RequestObjectsTest.xml | 4 ++-- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml b/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml index 48baf4ecf..8f7d00053 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml @@ -4,7 +4,7 @@ <Proxy value="RobotAPIInterfaces.MemoryNameSystem"/> </Proxies> <Folder basename="test"> - <State filename="RequestObjectsTest.xml"/> + <State filename="RequestObjectsTest.xml" visibility="public"/> </Folder> <State filename="RequestObjects.xml" visibility="public"/> </StatechartGroup> diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp index 2142038a7..562ddabd5 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp @@ -28,6 +28,12 @@ namespace armarx::ObjectMemoryGroup void RequestObjects::run() { + if (not in.getEnable()) + { + emitSuccess(); + return; + } + using Reader = armarx::armem::obj::instance::Reader; const std::string provider = in.isProviderSet() ? in.getProvider() : ""; diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml index 12a5c8bf4..8b32c2010 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <State version="1.2" name="RequestObjects" uuid="9F09FB2F-CC0C-4B8A-A716-F130E04A7230" width="800" height="600" type="Normal State"> <InputParameters> + <Parameter name="Enable" type="::armarx::BoolVariantData" docType="bool" optional="no"> + <DefaultValue value='{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::BoolVariantData","value":true}}' docValue="True"/> + </Parameter> <Parameter name="ObjectIds" type="::armarx::SingleTypeVariantListBase(::armarx::StringVariantData)" docType="List(string)" optional="no"/> <Parameter name="Provider" type="::armarx::StringVariantData" docType="string" optional="yes"/> <Parameter name="RelativeTimeoutMilliseconds" type="::armarx::IntVariantData" docType="int" optional="no"/> diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml b/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml index fa73294aa..edb16e982 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml @@ -14,9 +14,9 @@ <OutputParameters/> <LocalParameters/> <Substates> - <EndState name="Failure" event="Failure" left="363.333" top="140.056" boundingSquareSize="99.6636"/> + <EndState name="Failure" event="Failure" left="363.167" top="140.056" boundingSquareSize="99.6636"/> <LocalState name="RequestObjects" refuuid="9F09FB2F-CC0C-4B8A-A716-F130E04A7230" left="114.167" top="196.278" boundingSquareSize="99.6636"/> - <EndState name="Success" event="Success" left="363.333" top="250.53" boundingSquareSize="99.6636"/> + <EndState name="Success" event="Success" left="363.167" top="250.278" boundingSquareSize="99.6636"/> </Substates> <Events> <Event name="Failure"> -- GitLab