Browse Source

add waitfor release functionality

Martin Kunz 4 years ago
parent
commit
3e31d98db4

+ 7 - 0
src/main/java/urgrip/programnodes/GripperGripNodeContribution.java

@@ -44,12 +44,19 @@ public class GripperGripNodeContribution implements ProgramNodeContribution {
     public void generateScript(ScriptWriter writer) {
         String ioNameOpen=programAPI.getInstallationNode(URGripInstallationNodeContribution.class).getGripOpenIO();
         String ioNameClose=programAPI.getInstallationNode(URGripInstallationNodeContribution.class).getGripCloseIO();
+        String ioNameWaitFor=programAPI.getInstallationNode(URGripInstallationNodeContribution.class).getWaitforIO();
+
         int idxOpen = IOHandler.getIOIndex(ioNameOpen);
         int idxClose = IOHandler.getIOIndex(ioNameClose);
+        int idxWaitFor = IOHandler.getIOIndex(ioNameWaitFor);
+
         if(model.get(KEY_ACTION,"GRIP").equals("GRIP")) {
             writer.appendLine("set_standard_digital_out("+ idxOpen +", True)");
             writer.appendLine("set_standard_digital_out("+ idxClose +", False)");
         } else {
+            writer.appendLine("while get_standard_digital_in("+idxWaitFor+") != True:");
+            writer.appendLine("end");
+
             writer.appendLine("set_standard_digital_out("+ idxOpen +", False)");
             writer.appendLine("set_standard_digital_out("+ idxClose +", True)");
         }