repositories
/
des2015.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
working multiple missions
[des2015.git]
/
dsl
/
runtime
/
src
/
nl
/
ru
/
des
/
BasicBehaviour.java
diff --git
a/dsl/runtime/src/nl/ru/des/BasicBehaviour.java
b/dsl/runtime/src/nl/ru/des/BasicBehaviour.java
index
e55558d
..
8fd1fd3
100644
(file)
--- a/
dsl/runtime/src/nl/ru/des/BasicBehaviour.java
+++ b/
dsl/runtime/src/nl/ru/des/BasicBehaviour.java
@@
-8,7
+8,7
@@
public abstract class BasicBehaviour implements Behavior{
protected enum SuppressedState {
IDLE, IN_ACTION, SUPPRESSED;
}
protected enum SuppressedState {
IDLE, IN_ACTION, SUPPRESSED;
}
- pr
otected
SuppressedState suppressed;
+ pr
ivate
SuppressedState suppressed;
protected RegulatedMotor leftMotor, rightMotor, measMotor;
protected SensorCollector sensors;
protected long time;
protected RegulatedMotor leftMotor, rightMotor, measMotor;
protected SensorCollector sensors;
protected long time;
@@
-28,16
+28,20
@@
public abstract class BasicBehaviour implements Behavior{
leftMotor.setAcceleration(Constants.acceleration);
rightMotor.stop(true);
leftMotor.stop(true);
leftMotor.setAcceleration(Constants.acceleration);
rightMotor.stop(true);
leftMotor.stop(true);
- suppressed = SuppressedState.IDLE;
+ setSuppressed(SuppressedState.IDLE);
+ long time = System.currentTimeMillis();
+ while(System.currentTimeMillis()-time > 250){
+ Thread.yield();
+ }
}
protected void measure(){
measMotor.backward();
}
protected void measure(){
measMotor.backward();
- while(
suppressed
== SuppressedState.IN_ACTION && !measMotor.isStalled()){
+ while(
getSuppressed()
== SuppressedState.IN_ACTION && !measMotor.isStalled()){
Thread.yield();
}
measMotor.forward();
Thread.yield();
}
measMotor.forward();
- while(
suppressed
== SuppressedState.IN_ACTION && !measMotor.isStalled()){
+ while(
getSuppressed()
== SuppressedState.IN_ACTION && !measMotor.isStalled()){
Thread.yield();
}
measMotor.stop(true);
Thread.yield();
}
measMotor.stop(true);
@@
-50,7
+54,7
@@
public abstract class BasicBehaviour implements Behavior{
sensors.resetGyro();
rightMotor.backward();
leftMotor.forward();
sensors.resetGyro();
rightMotor.backward();
leftMotor.forward();
- while(
suppressed
== SuppressedState.IN_ACTION && Math.abs(sensors.gyro()) < angle){
+ while(
getSuppressed()
== SuppressedState.IN_ACTION && Math.abs(sensors.gyro()) < angle){
Thread.yield();
}
LCDPrinter.print(Float.toString(sensors.gyro()));
Thread.yield();
}
LCDPrinter.print(Float.toString(sensors.gyro()));
@@
-62,20
+66,28
@@
public abstract class BasicBehaviour implements Behavior{
sensors.resetGyro();
leftMotor.backward();
rightMotor.forward();
sensors.resetGyro();
leftMotor.backward();
rightMotor.forward();
- while(
suppressed
== SuppressedState.IN_ACTION && Math.abs(sensors.gyro()) < angle){
+ while(
getSuppressed()
== SuppressedState.IN_ACTION && Math.abs(sensors.gyro()) < angle){
Thread.yield();
}
LCDPrinter.print(Float.toString(sensors.gyro()));
}
Thread.yield();
}
LCDPrinter.print(Float.toString(sensors.gyro()));
}
+ protected synchronized void setSuppressed(SuppressedState sup){
+ suppressed = sup;
+ }
+
+ protected SuppressedState getSuppressed(){
+ return suppressed;
+ }
+
@Override
public void action() {
@Override
public void action() {
- s
uppressed = SuppressedState.IN_ACTION
;
+ s
etSuppressed(SuppressedState.IN_ACTION)
;
}
@Override
public void suppress() {
}
@Override
public void suppress() {
- s
uppressed = SuppressedState.SUPPRESSED
;
+ s
etSuppressed(SuppressedState.SUPPRESSED)
;
}
@Override public boolean takeControl(){
}
@Override public boolean takeControl(){