From: clement r. <kl...@us...> - 2005-11-07 20:33:23
|
Update of /cvsroot/robotflow/RobotFlow/MARIE/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31013 Added Files: extractMarieCommandGripper.cpp extractMarieDataGripper.cpp newMarieCommandGripper.cpp newMarieDataGripper.cpp CommandGripper.n DataGripper.n DataList.n UT.n Log Message: initial add --- NEW FILE: newMarieCommandGripper.cpp --- /* * MARIE - Mobile and Autonomous Robotics Integration Environment * Copyright (C) 2004 Dominic Letourneau / Carle Cote / Clement Raievsky * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * You can contact MARIE development team at http://marie.sourceforge.net */ #include <sstream> #include <string> #include <map> #include "MarieObject.h" #include "CommandGripper.h" #include "DataNull.h" #include "BufferedNode.h" #include "CompositeType.h" using namespace std; using namespace FD; namespace marie { //forward declaration class newMarieCommandGripper; DECLARE_NODE(newMarieCommandGripper) /*Node * * @name newMarieCommandGripper * @category RobotFlow:MARIE:COMMAND * @description Create an object of type MarieObject containing a CommandGripper data * * @input_name GRIPPER_COMPOSITE * @input_type CompositeType * @input_description Composite <PAD_OPEN <Bool>, PAD_CLOSE <Bool>, PAD_STOP <Bool>, LIFT_UP <Bool>, LIFT_DOWN <Bool>, LIFT_STOP <Bool>, STORE <Bool>, DEPLOY <Bool>, HALT <Bool>> -> Gripper State, all state variables are optional. Only present ones will be changed. * * @output_name COMMAND_GRIPPER * @output_description Output MarieObject containing a DataGripper data * @output_type MarieObject * END*/ class newMarieCommandGripper : public BufferedNode { typedef RCPtr<CompositeType> COMPOSITE_TYPE_PTR; private: //intputs int m_GripperCompositeID; //outputs int m_GripperCommandID; public: newMarieCommandGripper(string nodeName, ParameterSet params) : BufferedNode(nodeName,params) { //inputs m_GripperCompositeID = addInput("GRIPPER_COMPOSITE"); //outputs m_GripperCommandID = addOutput("COMMAND_GRIPPER"); } void calculate(int output_id, int count, Buffer &out) { ObjectRef compositePtr = getInput(m_GripperCompositeID,count); if (!compositePtr->isNil()) { COMPOSITE_TYPE_PTR composite = compositePtr; CommandGripper *commandGripper = new CommandGripper(); std::map<std::string, ObjectRef> commandState; commandState["PAD_OPEN"] = nilObject; commandState["PAD_CLOSE"] = nilObject; commandState["PAD_STOP"] = nilObject; commandState["LIFT_UP"] = nilObject; commandState["LIFT_DOWN"] = nilObject; commandState["LIFT_STOP"] = nilObject; commandState["STORE"] = nilObject; commandState["DEPLOY"] = nilObject; commandState["HALT"] = nilObject; std::map<std::string, ObjectRef>::iterator stateIt = commandState.begin(); for(;stateIt != commandState.end() ; stateIt++) { try { stateIt->second = composite->get(stateIt->first); } catch(...) {} } if (!commandState["PAD_OPEN"]->isNil()) { RCPtr<Bool> padOpen = commandState["PAD_OPEN"]; bool value = *padOpen; if (value) { commandGripper->open(); } } if (!commandState["PAD_CLOSE"]->isNil()) { RCPtr<Bool> padClose = commandState["PAD_CLOSE"]; bool value = *padClose; if (value) { commandGripper->close(); } } if (!commandState["PAD_STOP"]->isNil()) { RCPtr<Bool> padStop = commandState["PAD_STOP"]; bool value = *padStop; if (value) { commandGripper->stop(); } } if (!commandState["LIFT_UP"]->isNil()) { RCPtr<Bool> liftUp = commandState["LIFT_UP"]; bool value = *liftUp; if (value) { commandGripper->liftUp(); } } if (!commandState["LIFT_DOWN"]->isNil()) { RCPtr<Bool> liftDown = commandState["LIFT_DOWN"]; bool value = *liftDown; if (value) { commandGripper->liftDown(); } } if (!commandState["LIFT_STOP"]->isNil()) { RCPtr<Bool> liftStop = commandState["LIFT_STOP"]; bool value = *liftStop; if (value) { commandGripper->liftStop(); } } if (!commandState["STORE"]->isNil()) { RCPtr<Bool> store = commandState["STORE"]; bool value = *store; if (value) { commandGripper->store(); } } if (!commandState["DEPLOY"]->isNil()) { RCPtr<Bool> deploy = commandState["DEPLOY"]; bool value = *deploy; if (value) { commandGripper->deploy(); } } if (!commandState["HALT"]->isNil()) { RCPtr<Bool> halt = commandState["HALT"]; bool value = *halt; if (value) { commandGripper->halt(); } } out[count] = ObjectRef(new MarieObject(commandGripper)); } else { out[count] = ObjectRef(new MarieObject(new DataNull())); } } };//class newMarieCommandGripper }//namespace marie --- NEW FILE: UT.n --- #!/usr/bin/env batchflow <?xml version="1.0"?> <Document> <Network type="subnet" name="MAIN"> <Node name="node_LOOP0_1" type="LOOP0" x="-363.000000" y="-90.000000"> <Parameter name="DOWHILE" type="bool" value="" description="No description available"/> </Node> <NetOutput name="OUTPUT" node="node_LOOP0_1" terminal="OUTPUT" object_type="" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.9.0"/> </Network> <Network type="iterator" name="LOOP0"> <Node name="node_Constant_1" type="Constant" x="105.000000" y="-33.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_1" type="NOP" x="829.000000" y="92.000000"/> <Node name="node_DataMap_1" type="DataMap" x="117.500000" y="46.000000"/> <Node name="node_IF_1" type="IF" x="255.500000" y="85.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_TextProbe_1" type="TextProbe" x="713.500000" y="91.000000"> <Parameter name="BREAK_AT" type="int" value="1" description="If set, the probe runs until (count = BREAK_AT)"/> <Parameter name="SHOW" type="bool" value="true" description="Whether or not to show the the data by default"/> <Parameter name="SKIP" type="int" value="" description="Count increment for each "Next""/> <Parameter name="PROBE_NAME" type="string" value="results" description="Name (title) of the probe"/> </Node> <Node name="node_MakeComposite_1" type="MakeComposite" x="282.500000" y="29.000000"/> <Node name="node_AppendComposite_1" type="AppendComposite" x="516.500000" y="90.000000"> <Parameter name="OVERRIDE" type="bool" value="true" description="if true, insertion of new object ref with key existing in given composite will override existing object ref"/> </Node> <Node name="node_Constant_2" type="Constant" x="113.000000" y="85.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_Constant_3" type="Constant" x="114.000000" y="108.000000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Link from="node_DataMap_1" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_TextProbe_1" output="OUTPUT" to="node_NOP_1" input="INPUT"/> <Link from="node_MakeComposite_1" output="OUTPUT" to="node_AppendComposite_1" input="COMPOSITE"/> <Link from="node_IF_1" output="OUTPUT" to="node_AppendComposite_1" input="DataMap"/> <Link from="node_AppendComposite_1" output="OUTPUT" to="node_TextProbe_1" input="INPUT"/> <Link from="node_Constant_2" output="VALUE" to="node_IF_1" input="THEN"/> <Link from="node_Constant_3" output="VALUE" to="node_IF_1" input="ELSE"/> <NetCondition name="CONDITION" node="node_Constant_1" terminal="VALUE"/> <NetOutput name="OUTPUT" node="node_NOP_1" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.9.0"/> </Network> <Network type="subnet" name="DataMap"> <Node name="node_NOP_1" type="NOP" x="566.000000" y="139.000000"/> <Node name="node_MakeComposite_1" type="MakeComposite" x="-440.000000" y="8.000000"/> <Node name="node_Constant_1" type="Constant" x="-637.000000" y="78.000000"> <Parameter name="VALUE" type="string" value="412" description="The value"/> </Node> <Node name="node_newMarieDataMap_1" type="newMarieDataMap" x="-284.000000" y="9.000000"/> <Node name="node_Constant_2" type="Constant" x="-640.000000" y="152.000000"> <Parameter name="VALUE" type="int" value="413" description="The value"/> </Node> <Node name="node_extractMarieDataMap_1" type="extractMarieDataMap" x="-116.000000" y="9.000000"/> <Node name="node_GetComposite_1" type="GetComposite" x="42.000000" y="9.000000"/> <Node name="node_Equal_1" type="Equal" x="284.000000" y="69.000000"/> <Node name="node_AND_1" type="AND" x="491.000000" y="139.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_Equal_2" type="Equal" x="351.000000" y="146.000000"/> <Node name="node_ToInt_1" type="ToInt" x="229.000000" y="106.000000"/> <Link from="node_Constant_1" output="VALUE" to="node_MakeComposite_1" input="essai"/> <Link from="node_Constant_2" output="VALUE" to="node_MakeComposite_1" input="autre"/> <Link from="node_MakeComposite_1" output="OUTPUT" to="node_newMarieDataMap_1" input="COMPOSITE"/> <Link from="node_newMarieDataMap_1" output="DATA_MAP" to="node_extractMarieDataMap_1" input="DATA_MAP"/> <Link from="node_extractMarieDataMap_1" output="COMPOSITE" to="node_GetComposite_1" input="INPUT"/> <Link from="node_GetComposite_1" output="essai" to="node_Equal_1" input="INPUT1"/> <Link from="node_Constant_1" output="VALUE" to="node_Equal_1" input="INPUT2"/> <Link from="node_Equal_1" output="OUTPUT" to="node_AND_1" input="INPUT1"/> <Link from="node_Equal_2" output="OUTPUT" to="node_AND_1" input="INPUT2"/> <Link from="node_ToInt_1" output="OUTPUT" to="node_Equal_2" input="INPUT1"/> <Link from="node_Constant_2" output="VALUE" to="node_Equal_2" input="INPUT2"/> <Link from="node_GetComposite_1" output="autre" to="node_ToInt_1" input="INPUT"/> <Link from="node_AND_1" output="OUTPUT" to="node_NOP_1" input="INPUT"/> <NetOutput name="OUTPUT" node="node_NOP_1" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.9.0"/> </Network> </Document> --- NEW FILE: DataGripper.n --- #!/usr/bin/env batchflow <?xml version="1.0"?> <Document> <Network type="subnet" name="MAIN"> <Node name="node_MakeComposite_1" type="MakeComposite" x="-782.000000" y="32.000000"/> <Node name="node_Constant_1" type="Constant" x="-1070.500000" y="-65.500000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_2" type="NOP" x="1231.000000" y="402.000000"/> <Node name="node_Constant_2" type="Constant" x="338.000000" y="168.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_OPENED comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_1" type="IF" x="530.000000" y="151.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_1" type="Throw" x="418.000000" y="166.500000"/> <Node name="node_NOP_6" type="NOP" x="-911.000000" y="149.000000"/> <Node name="node_Constant_3" type="Constant" x="-1071.000000" y="-38.000000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_Constant_4" type="Constant" x="335.000000" y="245.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_CLOSED comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_2" type="IF" x="528.000000" y="228.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_2" type="Throw" x="415.000000" y="243.500000"/> <Node name="node_NOP_7" type="NOP" x="-911.000000" y="175.500000"/> <Node name="node_Constant_5" type="Constant" x="-1070.500000" y="-9.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_8" type="NOP" x="-910.500000" y="203.000000"/> <Node name="node_Constant_6" type="Constant" x="342.000000" y="314.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_MOVING comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_3" type="IF" x="528.000000" y="297.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_3" type="Throw" x="422.000000" y="312.500000"/> <Node name="node_Constant_7" type="Constant" x="-1072.500000" y="18.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_Constant_8" type="Constant" x="345.000000" y="378.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_ERROR comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_4" type="IF" x="529.000000" y="361.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_4" type="Throw" x="425.000000" y="376.500000"/> <Node name="node_NOP_13" type="NOP" x="-912.000000" y="229.000000"/> <Node name="node_Constant_9" type="Constant" x="-1072.500000" y="44.500000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_NOP_14" type="NOP" x="-911.500000" y="255.000000"/> <Node name="node_Constant_10" type="Constant" x="344.000000" y="446.500000"> <Parameter name="VALUE" type="string" value="failure of LIFT_UP comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_5" type="IF" x="529.000000" y="429.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_5" type="Throw" x="425.000000" y="444.500000"/> <Node name="node_Constant_11" type="Constant" x="-1072.000000" y="71.000000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_Constant_12" type="Constant" x="-1073.500000" y="99.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_17" type="NOP" x="-908.000000" y="308.000000"/> <Node name="node_NOP_18" type="NOP" x="-910.000000" y="282.000000"/> <Node name="node_Constant_13" type="Constant" x="344.000000" y="511.500000"> <Parameter name="VALUE" type="string" value="failure of LIFT_DOWN comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_6" type="IF" x="528.000000" y="494.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_6" type="Throw" x="424.000000" y="509.500000"/> <Node name="node_Constant_14" type="Constant" x="344.000000" y="577.500000"> <Parameter name="VALUE" type="string" value="failure of LIFT_MOVING comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_7" type="IF" x="528.000000" y="560.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_7" type="Throw" x="424.000000" y="575.500000"/> <Node name="node_Constant_15" type="Constant" x="-1073.000000" y="125.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_Constant_16" type="Constant" x="345.000000" y="646.500000"> <Parameter name="VALUE" type="string" value="failure of LIFT_ERROR comparison while testing DataGripper" description="The value"/> </Node> <Node name="node_IF_8" type="IF" x="529.000000" y="629.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_8" type="Throw" x="425.000000" y="644.500000"/> <Node name="node_NOP_25" type="NOP" x="-909.000000" y="334.500000"/> <Node name="node_AND_11" type="AND" x="641.000000" y="189.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_12" type="AND" x="767.000000" y="261.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_13" type="AND" x="642.000000" y="327.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_14" type="AND" x="643.000000" y="462.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_15" type="AND" x="644.000000" y="597.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_16" type="AND" x="904.000000" y="402.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_17" type="AND" x="766.000000" y="534.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_Catch_1" type="Catch" x="1056.000000" y="410.000000"/> <Node name="node_extractMarieDataGripper_1" type="extractMarieDataGripper" x="-444.000000" y="30.500000"/> <Node name="node_newMarieDataGripper_1" type="newMarieDataGripper" x="-625.000000" y="32.500000"/> <Node name="node_GetComposite_2" type="GetComposite" x="-266.000000" y="29.500000"/> <Node name="node_BOOL_EQUAL_1" type="BOOL_EQUAL" x="241.500000" y="137.500000"/> <Node name="node_BOOL_EQUAL_2" type="BOOL_EQUAL" x="242.500000" y="211.500000"/> <Node name="node_BOOL_EQUAL_3" type="BOOL_EQUAL" x="247.500000" y="284.500000"/> <Node name="node_BOOL_EQUAL_4" type="BOOL_EQUAL" x="245.500000" y="345.500000"/> <Node name="node_BOOL_EQUAL_5" type="BOOL_EQUAL" x="244.500000" y="415.500000"/> <Node name="node_BOOL_EQUAL_6" type="BOOL_EQUAL" x="246.500000" y="479.500000"/> <Node name="node_BOOL_EQUAL_7" type="BOOL_EQUAL" x="247.500000" y="545.500000"/> <Node name="node_BOOL_EQUAL_8" type="BOOL_EQUAL" x="248.500000" y="614.500000"/> <Link from="node_Throw_1" output="OUTPUT" to="node_IF_1" input="ELSE"/> <Link from="node_Constant_2" output="VALUE" to="node_Throw_1" input="INPUT"/> <Link from="node_Constant_1" output="VALUE" to="node_NOP_6" input="INPUT"/> <Link from="node_Throw_2" output="OUTPUT" to="node_IF_2" input="ELSE"/> <Link from="node_Constant_4" output="VALUE" to="node_Throw_2" input="INPUT"/> <Link from="node_Constant_3" output="VALUE" to="node_NOP_7" input="INPUT"/> <Link from="node_Constant_5" output="VALUE" to="node_NOP_8" input="INPUT"/> <Link from="node_Throw_3" output="OUTPUT" to="node_IF_3" input="ELSE"/> <Link from="node_Constant_6" output="VALUE" to="node_Throw_3" input="INPUT"/> <Link from="node_Throw_4" output="OUTPUT" to="node_IF_4" input="ELSE"/> <Link from="node_Constant_8" output="VALUE" to="node_Throw_4" input="INPUT"/> <Link from="node_Constant_7" output="VALUE" to="node_NOP_13" input="INPUT"/> <Link from="node_Constant_9" output="VALUE" to="node_NOP_14" input="INPUT"/> <Link from="node_Throw_5" output="OUTPUT" to="node_IF_5" input="ELSE"/> <Link from="node_Constant_10" output="VALUE" to="node_Throw_5" input="INPUT"/> <Link from="node_Constant_12" output="VALUE" to="node_NOP_17" input="INPUT"/> <Link from="node_Constant_11" output="VALUE" to="node_NOP_18" input="INPUT"/> <Link from="node_Throw_6" output="OUTPUT" to="node_IF_6" input="ELSE"/> <Link from="node_Constant_13" output="VALUE" to="node_Throw_6" input="INPUT"/> <Link from="node_Throw_7" output="OUTPUT" to="node_IF_7" input="ELSE"/> <Link from="node_Constant_14" output="VALUE" to="node_Throw_7" input="INPUT"/> <Link from="node_Throw_8" output="OUTPUT" to="node_IF_8" input="ELSE"/> <Link from="node_Constant_16" output="VALUE" to="node_Throw_8" input="INPUT"/> <Link from="node_AND_11" output="OUTPUT" to="node_AND_12" input="INPUT1"/> <Link from="node_AND_13" output="OUTPUT" to="node_AND_12" input="INPUT2"/> <Link from="node_AND_12" output="OUTPUT" to="node_AND_16" input="INPUT1"/> <Link from="node_AND_17" output="OUTPUT" to="node_AND_16" input="INPUT2"/> <Link from="node_AND_14" output="OUTPUT" to="node_AND_17" input="INPUT1"/> <Link from="node_AND_15" output="OUTPUT" to="node_AND_17" input="INPUT2"/> <Link from="node_IF_1" output="OUTPUT" to="node_AND_11" input="INPUT1"/> <Link from="node_IF_2" output="OUTPUT" to="node_AND_11" input="INPUT2"/> <Link from="node_IF_3" output="OUTPUT" to="node_AND_13" input="INPUT1"/> <Link from="node_IF_4" output="OUTPUT" to="node_AND_13" input="INPUT2"/> <Link from="node_IF_5" output="OUTPUT" to="node_AND_14" input="INPUT1"/> <Link from="node_IF_6" output="OUTPUT" to="node_AND_14" input="INPUT2"/> <Link from="node_IF_7" output="OUTPUT" to="node_AND_15" input="INPUT1"/> <Link from="node_IF_8" output="OUTPUT" to="node_AND_15" input="INPUT2"/> <Link from="node_Catch_1" output="EXCEPTION" to="node_Catch_1" input="CATCH"/> <Link from="node_Catch_1" output="OUTPUT" to="node_NOP_2" input="INPUT"/> <Link from="node_MakeComposite_1" output="OUTPUT" to="node_newMarieDataGripper_1" input="GRIPPER_COMPOSITE"/> <Link from="node_newMarieDataGripper_1" output="DATA_GRIPPER" to="node_extractMarieDataGripper_1" input="DATA_GRIPPER"/> <Link from="node_extractMarieDataGripper_1" output="GRIPPER_COMPOSITE" to="node_GetComposite_2" input="INPUT"/> <Link from="node_Constant_1" output="VALUE" to="node_MakeComposite_1" input="PAD_OPENED"/> <Link from="node_Constant_3" output="VALUE" to="node_MakeComposite_1" input="PAD_CLOSED"/> <Link from="node_Constant_5" output="VALUE" to="node_MakeComposite_1" input="PAD_MOVING"/> <Link from="node_Constant_7" output="VALUE" to="node_MakeComposite_1" input="PAD_ERROR"/> <Link from="node_Constant_9" output="VALUE" to="node_MakeComposite_1" input="LIFT_UP"/> <Link from="node_Constant_11" output="VALUE" to="node_MakeComposite_1" input="LIFT_DOWN"/> <Link from="node_Constant_12" output="VALUE" to="node_MakeComposite_1" input="LIFT_MOVING"/> <Link from="node_Constant_15" output="VALUE" to="node_MakeComposite_1" input="LIFT_ERROR"/> <Link from="node_AND_16" output="OUTPUT" to="node_Catch_1" input="INPUT"/> <Link from="node_GetComposite_2" output="PAD_OPENED" to="node_BOOL_EQUAL_1" input="INPUT_1"/> <Link from="node_NOP_6" output="OUTPUT" to="node_BOOL_EQUAL_1" input="INPUT_0"/> <Link from="node_BOOL_EQUAL_1" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_BOOL_EQUAL_1" output="OUTPUT" to="node_IF_1" input="THEN"/> <Link from="node_BOOL_EQUAL_2" output="OUTPUT" to="node_IF_2" input="COND"/> <Link from="node_BOOL_EQUAL_2" output="OUTPUT" to="node_IF_2" input="THEN"/> <Link from="node_GetComposite_2" output="PAD_CLOSED" to="node_BOOL_EQUAL_2" input="INPUT_1"/> <Link from="node_NOP_7" output="OUTPUT" to="node_BOOL_EQUAL_2" input="INPUT_0"/> <Link from="node_GetComposite_2" output="PAD_MOVING" to="node_BOOL_EQUAL_3" input="INPUT_1"/> <Link from="node_NOP_8" output="OUTPUT" to="node_BOOL_EQUAL_3" input="INPUT_0"/> <Link from="node_GetComposite_2" output="PAD_ERROR" to="node_BOOL_EQUAL_4" input="INPUT_1"/> <Link from="node_NOP_13" output="OUTPUT" to="node_BOOL_EQUAL_4" input="INPUT_0"/> <Link from="node_GetComposite_2" output="LIFT_UP" to="node_BOOL_EQUAL_5" input="INPUT_1"/> <Link from="node_NOP_14" output="OUTPUT" to="node_BOOL_EQUAL_5" input="INPUT_0"/> <Link from="node_GetComposite_2" output="LIFT_DOWN" to="node_BOOL_EQUAL_6" input="INPUT_1"/> <Link from="node_NOP_18" output="OUTPUT" to="node_BOOL_EQUAL_6" input="INPUT_0"/> <Link from="node_GetComposite_2" output="LIFT_MOVING" to="node_BOOL_EQUAL_7" input="INPUT_1"/> <Link from="node_NOP_17" output="OUTPUT" to="node_BOOL_EQUAL_7" input="INPUT_0"/> <Link from="node_GetComposite_2" output="LIFT_ERROR" to="node_BOOL_EQUAL_8" input="INPUT_1"/> <Link from="node_NOP_25" output="OUTPUT" to="node_BOOL_EQUAL_8" input="INPUT_0"/> <Link from="node_BOOL_EQUAL_3" output="OUTPUT" to="node_IF_3" input="COND"/> <Link from="node_BOOL_EQUAL_3" output="OUTPUT" to="node_IF_3" input="THEN"/> <Link from="node_BOOL_EQUAL_4" output="OUTPUT" to="node_IF_4" input="COND"/> <Link from="node_BOOL_EQUAL_4" output="OUTPUT" to="node_IF_4" input="THEN"/> <Link from="node_BOOL_EQUAL_5" output="OUTPUT" to="node_IF_5" input="COND"/> <Link from="node_BOOL_EQUAL_5" output="OUTPUT" to="node_IF_5" input="THEN"/> <Link from="node_BOOL_EQUAL_6" output="OUTPUT" to="node_IF_6" input="COND"/> <Link from="node_BOOL_EQUAL_6" output="OUTPUT" to="node_IF_6" input="THEN"/> <Link from="node_BOOL_EQUAL_7" output="OUTPUT" to="node_IF_7" input="COND"/> <Link from="node_BOOL_EQUAL_7" output="OUTPUT" to="node_IF_7" input="THEN"/> <Link from="node_BOOL_EQUAL_8" output="OUTPUT" to="node_IF_8" input="COND"/> <Link from="node_BOOL_EQUAL_8" output="OUTPUT" to="node_IF_8" input="THEN"/> <Link from="node_Constant_15" output="VALUE" to="node_NOP_25" input="INPUT"/> <NetOutput name="OUTPUT" node="node_NOP_2" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.9.0"/> </Network> <Network type="subnet" name="BOOL_EQUAL"> <Node name="node_OR_1" type="OR" x="390.000000" y="146.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_1" type="AND" x="234.000000" y="139.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_1" type="NOP" x="97.000000" y="131.500000"/> <Node name="node_OR_2" type="OR" x="228.000000" y="191.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_1" type="NOT" x="282.000000" y="190.500000"/> <Node name="node_NOP_2" type="NOP" x="96.000000" y="158.500000"/> <Link from="node_AND_1" output="OUTPUT" to="node_OR_1" input="INPUT1"/> <Link from="node_NOT_1" output="OUTPUT" to="node_OR_1" input="INPUT2"/> <Link from="node_NOP_1" output="OUTPUT" to="node_AND_1" input="INPUT1"/> <Link from="node_NOP_2" output="OUTPUT" to="node_AND_1" input="INPUT2"/> <Link from="node_NOP_1" output="OUTPUT" to="node_OR_2" input="INPUT1"/> <Link from="node_NOP_2" output="OUTPUT" to="node_OR_2" input="INPUT2"/> <Link from="node_OR_2" output="OUTPUT" to="node_NOT_1" input="INPUT"/> <NetInput name="INPUT_1" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="INPUT_0" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetOutput name="OUTPUT" node="node_OR_1" terminal="OUTPUT" object_type="bool" description="Boolean output"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.9.0"/> </Network> </Document> --- NEW FILE: CommandGripper.n --- #!/usr/bin/env batchflow <?xml version="1.0"?> <Document> <Network type="subnet" name="MAIN"> <Node name="node_extractMarieCommandGripper_1" type="extractMarieCommandGripper" x="-392.000000" y="-7.000000"/> <Node name="node_newMarieCommandGripper_1" type="newMarieCommandGripper" x="-626.000000" y="-6.000000"/> <Node name="node_MakeComposite_1" type="MakeComposite" x="-815.000000" y="-6.000000"/> <Node name="node_Constant_1" type="Constant" x="-1075.500000" y="-65.500000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_GetComposite_1" type="GetComposite" x="-212.000000" y="-6.000000"/> <Node name="node_NOP_2" type="NOP" x="1465.000000" y="588.000000"/> <Node name="node_OR_1" type="OR" x="380.000000" y="136.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_1" type="AND" x="224.000000" y="129.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_1" type="NOP" x="87.000000" y="121.500000"/> <Node name="node_OR_2" type="OR" x="218.000000" y="181.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_1" type="NOT" x="272.000000" y="180.500000"/> <Node name="node_NOP_3" type="NOP" x="86.000000" y="148.500000"/> <Node name="node_Constant_2" type="Constant" x="352.000000" y="202.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_OPEN comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_1" type="IF" x="530.000000" y="151.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_1" type="Throw" x="432.000000" y="200.500000"/> <Node name="node_AND_3" type="AND" x="1146.000000" y="589.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_6" type="NOP" x="-911.000000" y="149.000000"/> <Node name="node_Constant_3" type="Constant" x="-1075.000000" y="-37.000000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_OR_3" type="OR" x="374.000000" y="239.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_2" type="AND" x="218.000000" y="232.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_4" type="NOP" x="81.000000" y="224.500000"/> <Node name="node_OR_4" type="OR" x="212.000000" y="284.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_2" type="NOT" x="266.000000" y="283.500000"/> <Node name="node_NOP_5" type="NOP" x="80.000000" y="251.500000"/> <Node name="node_Constant_4" type="Constant" x="346.000000" y="305.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_CLOSE comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_2" type="IF" x="524.000000" y="254.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_2" type="Throw" x="426.000000" y="303.500000"/> <Node name="node_NOP_7" type="NOP" x="-911.000000" y="175.500000"/> <Node name="node_Constant_5" type="Constant" x="-1074.500000" y="-9.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_8" type="NOP" x="-910.500000" y="203.000000"/> <Node name="node_OR_5" type="OR" x="376.000000" y="340.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_4" type="AND" x="220.000000" y="333.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_9" type="NOP" x="83.000000" y="325.500000"/> <Node name="node_OR_6" type="OR" x="214.000000" y="385.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_3" type="NOT" x="268.000000" y="384.500000"/> <Node name="node_NOP_10" type="NOP" x="82.000000" y="352.500000"/> <Node name="node_Constant_6" type="Constant" x="348.000000" y="406.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_STOP comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_3" type="IF" x="526.000000" y="355.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_3" type="Throw" x="428.000000" y="404.500000"/> <Node name="node_Constant_7" type="Constant" x="-1074.500000" y="18.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_OR_7" type="OR" x="379.000000" y="450.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_5" type="AND" x="223.000000" y="443.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_11" type="NOP" x="86.000000" y="435.500000"/> <Node name="node_OR_8" type="OR" x="217.000000" y="495.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_4" type="NOT" x="271.000000" y="494.500000"/> <Node name="node_NOP_12" type="NOP" x="85.000000" y="462.500000"/> <Node name="node_Constant_8" type="Constant" x="351.000000" y="516.500000"> <Parameter name="VALUE" type="string" value="failure of LIFT_UP comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_4" type="IF" x="529.000000" y="465.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_4" type="Throw" x="431.000000" y="514.500000"/> <Node name="node_NOP_13" type="NOP" x="-912.000000" y="229.000000"/> <Node name="node_Constant_9" type="Constant" x="-1075.500000" y="44.500000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_NOP_14" type="NOP" x="-911.500000" y="255.000000"/> <Node name="node_OR_9" type="OR" x="381.000000" y="551.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_6" type="AND" x="225.000000" y="544.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_15" type="NOP" x="88.000000" y="536.500000"/> <Node name="node_OR_10" type="OR" x="219.000000" y="596.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_5" type="NOT" x="273.000000" y="595.500000"/> <Node name="node_NOP_16" type="NOP" x="87.000000" y="563.500000"/> <Node name="node_Constant_10" type="Constant" x="352.000000" y="617.500000"> <Parameter name="VALUE" type="string" value="failure of LIFT_DOWN comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_5" type="IF" x="531.000000" y="566.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_5" type="Throw" x="433.000000" y="615.500000"/> <Node name="node_Constant_11" type="Constant" x="-1074.000000" y="71.000000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_Constant_12" type="Constant" x="-1073.500000" y="99.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_17" type="NOP" x="-908.000000" y="308.000000"/> <Node name="node_NOP_18" type="NOP" x="-910.000000" y="282.000000"/> <Node name="node_Constant_13" type="Constant" x="353.000000" y="719.500000"> <Parameter name="VALUE" type="string" value="failure of LIFT_STOP comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_6" type="IF" x="531.000000" y="668.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_NOT_6" type="NOT" x="273.000000" y="697.500000"/> <Node name="node_Throw_6" type="Throw" x="433.000000" y="717.500000"/> <Node name="node_OR_11" type="OR" x="219.000000" y="698.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_OR_12" type="OR" x="381.000000" y="653.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOP_19" type="NOP" x="87.000000" y="665.500000"/> <Node name="node_OR_13" type="OR" x="383.000000" y="754.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_7" type="AND" x="225.000000" y="646.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_20" type="NOP" x="88.000000" y="638.500000"/> <Node name="node_AND_8" type="AND" x="227.000000" y="747.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_21" type="NOP" x="90.000000" y="739.500000"/> <Node name="node_OR_14" type="OR" x="221.000000" y="799.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_7" type="NOT" x="275.000000" y="798.500000"/> <Node name="node_NOP_22" type="NOP" x="89.000000" y="766.500000"/> <Node name="node_Constant_14" type="Constant" x="355.000000" y="820.500000"> <Parameter name="VALUE" type="string" value="failure of STORE comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_7" type="IF" x="533.000000" y="769.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_7" type="Throw" x="435.000000" y="818.500000"/> <Node name="node_OR_15" type="OR" x="385.000000" y="860.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_Constant_15" type="Constant" x="-1076.000000" y="128.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_AND_9" type="AND" x="229.000000" y="853.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_23" type="NOP" x="92.000000" y="845.500000"/> <Node name="node_OR_16" type="OR" x="223.000000" y="905.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_8" type="NOT" x="277.000000" y="904.500000"/> <Node name="node_NOP_24" type="NOP" x="91.000000" y="872.500000"/> <Node name="node_Constant_16" type="Constant" x="357.000000" y="926.500000"> <Parameter name="VALUE" type="string" value="failure of DEPLOY comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_8" type="IF" x="535.000000" y="875.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_8" type="Throw" x="437.000000" y="924.500000"/> <Node name="node_NOP_25" type="NOP" x="-909.000000" y="334.500000"/> <Node name="node_Constant_17" type="Constant" x="-1077.000000" y="159.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_26" type="NOP" x="-908.500000" y="360.500000"/> <Node name="node_OR_17" type="OR" x="387.000000" y="961.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_AND_10" type="AND" x="231.000000" y="954.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_NOP_27" type="NOP" x="94.000000" y="946.500000"/> <Node name="node_OR_18" type="OR" x="225.000000" y="1006.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is true"/> </Node> <Node name="node_NOT_9" type="NOT" x="279.000000" y="1005.500000"/> <Node name="node_NOP_28" type="NOP" x="93.000000" y="973.500000"/> <Node name="node_Constant_18" type="Constant" x="359.000000" y="1027.500000"> <Parameter name="VALUE" type="string" value="failure of HALT comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_9" type="IF" x="537.000000" y="976.500000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Throw_9" type="Throw" x="439.000000" y="1025.500000"/> <Node name="node_AND_11" type="AND" x="652.000000" y="214.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_12" type="AND" x="785.000000" y="314.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_13" type="AND" x="654.000000" y="413.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_14" type="AND" x="674.000000" y="613.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_15" type="AND" x="672.000000" y="820.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_16" type="AND" x="975.000000" y="580.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_AND_17" type="AND" x="818.000000" y="708.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_Catch_1" type="Catch" x="1290.000000" y="596.000000"/> <Link from="node_Constant_1" output="VALUE" to="node_MakeComposite_1" input="PAD_OPEN"/> <Link from="node_newMarieCommandGripper_1" output="COMMAND_GRIPPER" to="node_extractMarieCommandGripper_1" input="COMMAND_GRIPPER"/> <Link from="node_extractMarieCommandGripper_1" output="GRIPPER_COMPOSITE" to="node_GetComposite_1" input="INPUT"/> <Link from="node_AND_1" output="OUTPUT" to="node_OR_1" input="INPUT1"/> <Link from="node_NOT_1" output="OUTPUT" to="node_OR_1" input="INPUT2"/> <Link from="node_NOP_1" output="OUTPUT" to="node_AND_1" input="INPUT1"/> <Link from="node_NOP_3" output="OUTPUT" to="node_AND_1" input="INPUT2"/> <Link from="node_NOP_1" output="OUTPUT" to="node_OR_2" input="INPUT1"/> <Link from="node_NOP_3" output="OUTPUT" to="node_OR_2" input="INPUT2"/> <Link from="node_OR_2" output="OUTPUT" to="node_NOT_1" input="INPUT"/> <Link from="node_OR_1" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_OR_1" output="OUTPUT" to="node_IF_1" input="THEN"/> <Link from="node_Throw_1" output="OUTPUT" to="node_IF_1" input="ELSE"/> <Link from="node_Constant_2" output="VALUE" to="node_Throw_1" input="INPUT"/> <Link from="node_GetComposite_1" output="PAD_OPEN" to="node_NOP_1" input="INPUT"/> <Link from="node_Constant_1" output="VALUE" to="node_NOP_6" input="INPUT"/> <Link from="node_NOP_6" output="OUTPUT" to="node_NOP_3" input="INPUT"/> <Link from="node_AND_2" output="OUTPUT" to="node_OR_3" input="INPUT1"/> <Link from="node_NOT_2" output="OUTPUT" to="node_OR_3" input="INPUT2"/> <Link from="node_NOP_4" output="OUTPUT" to="node_AND_2" input="INPUT1"/> <Link from="node_NOP_5" output="OUTPUT" to="node_AND_2" input="INPUT2"/> <Link from="node_NOP_4" output="OUTPUT" to="node_OR_4" input="INPUT1"/> <Link from="node_NOP_5" output="OUTPUT" to="node_OR_4" input="INPUT2"/> <Link from="node_OR_4" output="OUTPUT" to="node_NOT_2" input="INPUT"/> <Link from="node_NOP_7" output="OUTPUT" to="node_NOP_5" input="INPUT"/> <Link from="node_OR_3" output="OUTPUT" to="node_IF_2" input="COND"/> <Link from="node_OR_3" output="OUTPUT" to="node_IF_2" input="THEN"/> <Link from="node_Throw_2" output="OUTPUT" to="node_IF_2" input="ELSE"/> <Link from="node_Constant_4" output="VALUE" to="node_Throw_2" input="INPUT"/> <Link from="node_Constant_3" output="VALUE" to="node_NOP_7" input="INPUT"/> <Link from="node_Constant_5" output="VALUE" to="node_NOP_8" input="INPUT"/> <Link from="node_AND_4" output="OUTPUT" to="node_OR_5" input="INPUT1"/> <Link from="node_NOT_3" output="OUTPUT" to="node_OR_5" input="INPUT2"/> <Link from="node_NOP_9" output="OUTPUT" to="node_AND_4" input="INPUT1"/> <Link from="node_NOP_10" output="OUTPUT" to="node_AND_4" input="INPUT2"/> <Link from="node_NOP_9" output="OUTPUT" to="node_OR_6" input="INPUT1"/> <Link from="node_NOP_10" output="OUTPUT" to="node_OR_6" input="INPUT2"/> <Link from="node_OR_6" output="OUTPUT" to="node_NOT_3" input="INPUT"/> <Link from="node_NOP_8" output="OUTPUT" to="node_NOP_10" input="INPUT"/> <Link from="node_OR_5" output="OUTPUT" to="node_IF_3" input="COND"/> <Link from="node_OR_5" output="OUTPUT" to="node_IF_3" input="THEN"/> <Link from="node_Throw_3" output="OUTPUT" to="node_IF_3" input="ELSE"/> <Link from="node_Constant_6" output="VALUE" to="node_Throw_3" input="INPUT"/> <Link from="node_AND_5" output="OUTPUT" to="node_OR_7" input="INPUT1"/> <Link from="node_NOT_4" output="OUTPUT" to="node_OR_7" input="INPUT2"/> <Link from="node_NOP_11" output="OUTPUT" to="node_AND_5" input="INPUT1"/> <Link from="node_NOP_12" output="OUTPUT" to="node_AND_5" input="INPUT2"/> <Link from="node_NOP_11" output="OUTPUT" to="node_OR_8" input="INPUT1"/> <Link from="node_NOP_12" output="OUTPUT" to="node_OR_8" input="INPUT2"/> <Link from="node_OR_8" output="OUTPUT" to="node_NOT_4" input="INPUT"/> <Link from="node_NOP_13" output="OUTPUT" to="node_NOP_12" input="INPUT"/> <Link from="node_OR_7" output="OUTPUT" to="node_IF_4" input="COND"/> <Link from="node_OR_7" output="OUTPUT" to="node_IF_4" input="THEN"/> <Link from="node_Throw_4" output="OUTPUT" to="node_IF_4" input="ELSE"/> <Link from="node_Constant_8" output="VALUE" to="node_Throw_4" input="INPUT"/> <Link from="node_Constant_7" output="VALUE" to="node_NOP_13" input="INPUT"/> <Link from="node_Constant_9" output="VALUE" to="node_NOP_14" input="INPUT"/> <Link from="node_AND_6" output="OUTPUT" to="node_OR_9" input="INPUT1"/> <Link from="node_NOT_5" output="OUTPUT" to="node_OR_9" input="INPUT2"/> <Link from="node_NOP_15" output="OUTPUT" to="node_AND_6" input="INPUT1"/> <Link from="node_NOP_16" output="OUTPUT" to="node_AND_6" input="INPUT2"/> <Link from="node_NOP_15" output="OUTPUT" to="node_OR_10" input="INPUT1"/> <Link from="node_NOP_16" output="OUTPUT" to="node_OR_10" input="INPUT2"/> <Link from="node_OR_10" output="OUTPUT" to="node_NOT_5" input="INPUT"/> <Link from="node_NOP_14" output="OUTPUT" to="node_NOP_16" input="INPUT"/> <Link from="node_OR_9" output="OUTPUT" to="node_IF_5" input="COND"/> <Link from="node_OR_9" output="OUTPUT" to="node_IF_5" input="THEN"/> <Link from="node_Throw_5" output="OUTPUT" to="node_IF_5" input="ELSE"/> <Link from="node_Constant_10" output="VALUE" to="node_Throw_5" input="INPUT"/> <Link from="node_Constant_12" output="VALUE" to="node_NOP_17" input="INPUT"/> <Link from="node_Constant_11" output="VALUE" to="node_NOP_18" input="INPUT"/> <Link from="node_OR_12" output="OUTPUT" to="node_IF_6" input="COND"/> <Link from="node_OR_12" output="OUTPUT" to="node_IF_6" input="THEN"/> <Link from="node_Throw_6" output="OUTPUT" to="node_IF_6" input="ELSE"/> <Link from="node_OR_11" output="OUTPUT" to="node_NOT_6" input="INPUT"/> <Link from="node_Constant_13" output="VALUE" to="node_Throw_6" input="INPUT"/> <Link from="node_NOP_20" output="OUTPUT" to="node_OR_11" input="INPUT1"/> <Link from="node_NOP_19" output="OUTPUT" to="node_OR_11" input="INPUT2"/> <Link from="node_AND_7" output="OUTPUT" to="node_OR_12" input="INPUT1"/> <Link from="node_NOT_6" output="OUTPUT" to="node_OR_12" input="INPUT2"/> <Link from="node_AND_8" output="OUTPUT" to="node_OR_13" input="INPUT1"/> <Link from="node_NOT_7" output="OUTPUT" to="node_OR_13" input="INPUT2"/> <Link from="node_NOP_20" output="OUTPUT" to="node_AND_7" input="INPUT1"/> <Link from="node_NOP_19" output="OUTPUT" to="node_AND_7" input="INPUT2"/> <Link from="node_NOP_21" output="OUTPUT" to="node_AND_8" input="INPUT1"/> <Link from="node_NOP_22" output="OUTPUT" to="node_AND_8" input="INPUT2"/> <Link from="node_NOP_21" output="OUTPUT" to="node_OR_14" input="INPUT1"/> <Link from="node_NOP_22" output="OUTPUT" to="node_OR_14" input="INPUT2"/> <Link from="node_OR_14" output="OUTPUT" to="node_NOT_7" input="INPUT"/> <Link from="node_NOP_17" output="OUTPUT" to="node_NOP_22" input="INPUT"/> <Link from="node_OR_13" output="OUTPUT" to="node_IF_7" input="COND"/> <Link from="node_OR_13" output="OUTPUT" to="node_IF_7" input="THEN"/> <Link from="node_Throw_7" output="OUTPUT" to="node_IF_7" input="ELSE"/> <Link from="node_Constant_14" output="VALUE" to="node_Throw_7" input="INPUT"/> <Link from="node_AND_9" output="OUTPUT" to="node_OR_15" input="INPUT1"/> <Link from="node_NOT_8" output="OUTPUT" to="node_OR_15" input="INPUT2"/> <Link from="node_NOP_23" output="OUTPUT" to="node_AND_9" input="INPUT1"/> <Link from="node_NOP_24" output="OUTPUT" to="node_AND_9" input="INPUT2"/> <Link from="node_NOP_23" output="OUTPUT" to="node_OR_16" input="INPUT1"/> <Link from="node_NOP_24" output="OUTPUT" to="node_OR_16" input="INPUT2"/> <Link from="node_OR_16" output="OUTPUT" to="node_NOT_8" input="INPUT"/> <Link from="node_NOP_25" output="OUTPUT" to="node_NOP_24" input="INPUT"/> <Link from="node_OR_15" output="OUTPUT" to="node_IF_8" input="COND"/> <Link from="node_OR_15" output="OUTPUT" to="node_IF_8" input="THEN"/> <Link from="node_Throw_8" output="OUTPUT" to="node_IF_8" input="ELSE"/> <Link from="node_Constant_16" output="VALUE" to="node_Throw_8" input="INPUT"/> <Link from="node_Constant_15" output="VALUE" to="node_NOP_25" input="INPUT"/> <Link from="node_Constant_17" output="VALUE" to="node_NOP_26" input="INPUT"/> <Link from="node_AND_10" output="OUTPUT" to="node_OR_17" input="INPUT1"/> <Link from="node_NOT_9" output="OUTPUT" to="node_OR_17" input="INPUT2"/> <Link from="node_NOP_27" output="OUTPUT" to="node_AND_10" input="INPUT1"/> <Link from="node_NOP_28" output="OUTPUT" to="node_AND_10" input="INPUT2"/> <Link from="node_NOP_27" output="OUTPUT" to="node_OR_18" input="INPUT1"/> <Link from="node_NOP_28" output="OUTPUT" to="node_OR_18" input="INPUT2"/> <Link from="node_OR_18" output="OUTPUT" to="node_NOT_9" input="INPUT"/> <Link from="node_NOP_26" output="OUTPUT" to="node_NOP_28" input="INPUT"/> <Link from="node_OR_17" output="OUTPUT" to="node_IF_9" input="COND"/> <Link from="node_OR_17" output="OUTPUT" to="node_IF_9" input="THEN"/> <Link from="node_Throw_9" output="OUTPUT" to="node_IF_9" input="ELSE"/> <Link from="node_Constant_18" output="VALUE" to="node_Throw_9" input="INPUT"/> <Link from="node_MakeComposite_1" output="OUTPUT" to="node_newMarieCommandGripper_1" input="GRIPPER_COMPOSITE"/> <Link from="node_GetComposite_1" output="PAD_CLOSE" to="node_NOP_4" input="INPUT"/> <Link from="node_GetComposite_1" output="PAD_STOP" to="node_NOP_9" input="INPUT"/> <Link from="node_GetComposite_1" output="LIFT_UP" to="node_NOP_11" input="INPUT"/> <Link from="node_GetComposite_1" output="LIFT_DOWN" to="node_NOP_15" input="INPUT"/> <Link from="node_GetComposite_1" output="LIFT_STOP" to="node_NOP_20" input="INPUT"/> <Link from="node_GetComposite_1" output="STORE" to="node_NOP_21" input="INPUT"/> <Link from="node_GetComposite_1" output="DEPLOY" to="node_NOP_23" input="INPUT"/> <Link from="node_GetComposite_1" output="HALT" to="node_NOP_27" input="INPUT"/> <Link from="node_AND_11" output="OUTPUT" to="node_AND_12" input="INPUT1"/> <Link from="node_AND_13" output="OUTPUT" to="node_AND_12" input="INPUT2"/> <Link from="node_AND_12" output="OUTPUT" to="node_AND_16" input="INPUT1"/> <Link from="node_AND_17" output="OUTPUT" to="node_AND_16" input="INPUT2"/> <Link from="node_AND_14" output="OUTPUT" to="node_AND_17" input="INPUT1"/> <Link from="node_AND_15" output="OUTPUT" to="node_AND_17" input="INPUT2"/> <Link from="node_IF_1" output="OUTPUT" to="node_AND_11" input="INPUT1"/> <Link from="node_IF_2" output="OUTPUT" to="node_AND_11" input="INPUT2"/> <Link from="node_IF_3" output="OUTPUT" to="node_AND_13" input="INPUT1"/> <Link from="node_IF_4" output="OUTPUT" to="node_AND_13" input="INPUT2"/> <Link from="node_IF_5" output="OUTPUT" to="node_AND_14" input="INPUT1"/> <Link from="node_IF_6" output="OUTPUT" to="node_AND_14" input="INPUT2"/> <Link from="node_IF_7" output="OUTPUT" to="node_AND_15" input="INPUT1"/> <Link from="node_IF_8" output="OUTPUT" to="node_AND_15" input="INPUT2"/> <Link from="node_IF_9" output="OUTPUT" to="node_AND_3" input="INPUT2"/> <Link from="node_AND_16" output="OUTPUT" to="node_AND_3" input="INPUT1"/> <Link from="node_Constant_3" output="VALUE" to="node_MakeComposite_1" input="PAD_CLOSE"/> <Link from="node_Constant_5" output="VALUE" to="node_MakeComposite_1" input="PAD_STOP"/> <Link from="node_Constant_7" output="VALUE" to="node_MakeComposite_1" input="LIFT_UP"/> <Link from="node_Constant_9" output="VALUE" to="node_MakeComposite_1" input="LIFT_DOWN"/> <Link from="node_Constant_11" output="VALUE" to="node_MakeComposite_1" input="LIFT_STOP"/> <Link from="node_Constant_12" output="VALUE" to="node_MakeComposite_1" input="STORE"/> <Link from="node_Constant_15" output="VALUE" to="node_MakeComposite_1" input="DEPLOY"/> <Link from="node_Constant_17" output="VALUE" to="node_MakeComposite_1" input="HALT"/> <Link from="node_Catch_1" output="EXCEPTION" to="node_Catch_1" input="CATCH"/> <Link from="node_AND_3" output="OUTPUT" to="node_Catch_1" input="INPUT"/> <Link from="node_Catch_1" output="OUTPUT" to="node_NOP_2" input="INPUT"/> <Link from="node_NOP_18" output="OUTPUT" to="node_NOP_19" input="INPUT"/> <NetOutput name="OUTPUT" node="node_NOP_2" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.9.0"/> </Network> </Document> --- NEW FILE: DataList.n --- #!/usr/bin/env batchflow <?xml version="1.0"?> <Document> <Network type="subnet" name="MAIN"> <Node name="node_extractMarieCommandGripper_1" type="extractMarieCommandGripper" x="294.000000" y="-7.000000"/> <Node name="node_newMarieCommandGripper_1" type="newMarieCommandGripper" x="-1006.000000" y="-7.000000"/> <Node name="node_MakeComposite_1" type="MakeComposite" x="-1183.000000" y="-8.000000"/> <Node name="node_Constant_1" type="Constant" x="-1443.500000" y="-67.500000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_GetComposite_1" type="GetComposite" x="492.250000" y="-6.000000"/> <Node name="node_NOP_2" type="NOP" x="2039.250000" y="-89.000000"/> <Node name="node_NOP_1" type="NOP" x="811.250000" y="119.500000"/> <Node name="node_NOP_3" type="NOP" x="811.250000" y="146.500000"/> <Node name="node_Constant_2" type="Constant" x="898.250000" y="166.500000"> <Parameter name="VALUE" type="string" value="failure of PAD_OPEN comparison while testing CommandGripper" description="The value"/> </Node> <Node name="node_IF_1" type="IF" x="1111.250000... [truncated message content] |