From 384dc97d1a473dedf59883d678c95c1292895a05 Mon Sep 17 00:00:00 2001
From: Jonas Rauber <kit@jonasrauber.de>
Date: Fri, 29 Aug 2014 16:17:40 +0200
Subject: [PATCH] changed MotionControlGroup statechart context and testing
 state bugfixes

---
 .../MotionControlGroup/MotionControlGroup.scgxml            | 2 +-
 .../MotionControlGroupRemoteStateOfferer.cpp                | 2 +-
 .../MotionControlGroupRemoteStateOfferer.h                  | 3 ++-
 .../RobotAPI/statecharts/MotionControlGroup/MoveJoints.xml  | 2 +-
 .../MotionControlGroup/testing/testMoveJoints.xml           | 6 +++---
 5 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroup.scgxml b/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroup.scgxml
index 3a4556031..a7c11afef 100644
--- a/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroup.scgxml
+++ b/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroup.scgxml
@@ -3,6 +3,6 @@
 	<Folder basename="testing">
 		<State filename="testMoveJoints.xml"/>
 	</Folder>
-	<State filename="MoveJoints.xml"/>
+	<State filename="MoveJoints.xml" visibility="public"/>
 </StatechartGroup>
 
diff --git a/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.cpp b/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.cpp
index a07cfa75d..5e3396603 100644
--- a/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.cpp
+++ b/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.cpp
@@ -32,7 +32,7 @@ MotionControlGroupRemoteStateOfferer::SubClassRegistry MotionControlGroupRemoteS
 
 
 MotionControlGroupRemoteStateOfferer::MotionControlGroupRemoteStateOfferer(StatechartGroupXmlReaderPtr reader) :
-    XMLRemoteStateOfferer < StatechartContext > (reader)
+    XMLRemoteStateOfferer < RobotStatechartContext > (reader)
 {
 }
 
diff --git a/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.h b/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.h
index 480f36ddb..4c6cdc09c 100644
--- a/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.h
+++ b/source/RobotAPI/statecharts/MotionControlGroup/MotionControlGroupRemoteStateOfferer.h
@@ -25,13 +25,14 @@
 #define _ARMARX_XMLUSERCODE_RobotAPI_MotionControlGroup_REMOTESTATEOFFERER_H
 
 #include <Core/statechart/xmlstates/XMLRemoteStateOfferer.h>
+#include <RobotAPI/core/RobotStatechartContext.h>
 
 namespace armarx
 {
     namespace MotionControlGroup
     {
         class MotionControlGroupRemoteStateOfferer :
-            virtual public XMLRemoteStateOfferer < StatechartContext > // Change this statechart context if you need another context (dont forget to change in the constructor as well)
+            virtual public XMLRemoteStateOfferer < RobotStatechartContext > // Change this statechart context if you need another context (dont forget to change in the constructor as well)
         {
         public:
             MotionControlGroupRemoteStateOfferer(StatechartGroupXmlReaderPtr reader);
diff --git a/source/RobotAPI/statecharts/MotionControlGroup/MoveJoints.xml b/source/RobotAPI/statecharts/MotionControlGroup/MoveJoints.xml
index 0ac4f83fe..f953c66f9 100644
--- a/source/RobotAPI/statecharts/MotionControlGroup/MoveJoints.xml
+++ b/source/RobotAPI/statecharts/MotionControlGroup/MoveJoints.xml
@@ -5,7 +5,7 @@
 		<Parameter name="jointMaxSpeed" type="::armarx::FloatVariantData" optional="no" default='{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":0.8000000119209290}}'/>
 		<Parameter name="jointMaxSpeeds" type="::armarx::SingleTypeVariantListBase(::armarx::FloatVariantData)" optional="yes" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":0.0}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
 		<Parameter name="jointNames" type="::armarx::SingleTypeVariantListBase(::armarx::StringVariantData)" optional="no" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::StringVariantData","value":""}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
-		<Parameter name="jointTargetTolerance" type="::armarx::DoubleVariantData" optional="yes" default='{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::DoubleVariantData","value":0.050}}'/>
+		<Parameter name="jointTargetTolerance" type="::armarx::FloatVariantData" optional="yes" default='{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":0.05000000074505806}}'/>
 		<Parameter name="targetJointValues" type="::armarx::SingleTypeVariantListBase(::armarx::FloatVariantData)" optional="no" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":0.0}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
 		<Parameter name="timeoutInMs" type="::armarx::IntVariantData" optional="yes" default='{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::IntVariantData","value":2000}}'/>
 	</InputParameters>
diff --git a/source/RobotAPI/statecharts/MotionControlGroup/testing/testMoveJoints.xml b/source/RobotAPI/statecharts/MotionControlGroup/testing/testMoveJoints.xml
index 24fdc0f7d..249872caf 100644
--- a/source/RobotAPI/statecharts/MotionControlGroup/testing/testMoveJoints.xml
+++ b/source/RobotAPI/statecharts/MotionControlGroup/testing/testMoveJoints.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <State version="1.0" name="testMoveJoints" uuid="846CFED7-7E7C-4E0B-B8FE-B5CF9D86A8EF" width="800" height="600">
 	<InputParameters>
-		<Parameter name="jointNames" type="::armarx::SingleTypeVariantListBase(::armarx::StringVariantData)" optional="yes" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::StringVariantData","value":""}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
-		<Parameter name="testJointValues" type="::armarx::SingleTypeVariantListBase(::armarx::FloatVariantData)" optional="yes" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":3.140000104904175}},{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":-0.50}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
+		<Parameter name="jointNames" type="::armarx::SingleTypeVariantListBase(::armarx::StringVariantData)" optional="yes" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::StringVariantData","value":"Underarm R"}},{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::StringVariantData","value":"Elbow R"}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
+		<Parameter name="jointValues" type="::armarx::SingleTypeVariantListBase(::armarx::FloatVariantData)" optional="yes" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":1.0}},{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":0.250}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
 	</InputParameters>
 	<OutputParameters>
 		<Parameter name="resultTolerance" type="::armarx::SingleTypeVariantListBase(::armarx::FloatVariantData)" optional="yes" default='{"array":[{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::FloatVariantData","value":0.0}}],"type":"::armarx::SingleTypeVariantListBase"}'/>
@@ -17,7 +17,7 @@
 	<StartState substateName="MoveJoints">
 		<ParameterMappings>
 			<ParameterMapping sourceType="Parent" from="jointNames" to="jointNames"/>
-			<ParameterMapping sourceType="Parent" from="testJointValues" to="targetJointValues"/>
+			<ParameterMapping sourceType="Parent" from="jointValues" to="targetJointValues"/>
 		</ParameterMappings>
 	</StartState>
 	<Transitions>
-- 
GitLab