X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=dsl%2Fxtend%2Fsrc%2Frobots%2Fmissions%2Fgenerator%2FTaskDSLGenerator.xtend;h=8e25b69bf8aa69688364c616846dc5afa3af2b16;hb=3a12cfb82749c7ca2cec2d31da1b4d62ffe9e7e2;hp=b4c56aea131ca10046cce54c8a932344d4c8eb70;hpb=16aef029cf49685c60c422d36b54d459355e832c;p=des2015.git diff --git a/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend b/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend index b4c56ae..8e25b69 100644 --- a/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend +++ b/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend @@ -73,11 +73,12 @@ public class «b.name»Behaviour extends BasicBehaviour { } «IF b.tc != null» @Override public boolean takeControl(){ - return suppressed == 1 || «printExpression(b.tc)»; + return suppressed == SuppressedState.IN_ACTION || «printExpression(b.tc)»; } «ENDIF» @Override public void action(){ + LCDPrinter.print("Start: «b.name»"); super.action(); «FOR a : b.actions» «IF a.whichMotor != null» @@ -86,8 +87,11 @@ public class «b.name»Behaviour extends BasicBehaviour { «a.whichMotor.d.toString()»Motor.setSpeed(«a.spd»); «ENDIF» «a.whichMotor.d.toString()»Motor.«a.moveDir.d.toString()»(); - «ELSEIF a.measureWhat != null» - «a.measureWhat.d.toString()»Measure(); + «ELSEIF a.time != null» + time = System.currentTimeMillis(); + while(suppressed != SuppressedState.SUPPRESSED«IF a.time.time > 0» && System.currentTimeMillis()-time>«a.time.time»«ENDIF»){ + Thread.yield(); + } «ELSEIF a.turnDir != null» «IF a.acc > 0» leftMotor.setAcceleration(«a.acc»); @@ -97,12 +101,10 @@ public class «b.name»Behaviour extends BasicBehaviour { «ENDIF» «a.turnDir.d.toString()»Turn(«a.degrees»); «ELSE» - time = System.currentTimeMillis(); - while(suppressed != 2«IF a.time.time > 0» && System.currentTimeMillis()-time>«a.time.time»«ENDIF»){ - Thread.yield(); - } + measure(); «ENDIF» «ENDFOR» + LCDPrinter.print("Stop: «b.name»"); reset(); } }