tunin BrakeProcessor
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>de.srsoftware</groupId>
|
||||
<artifactId>web4rail</artifactId>
|
||||
<version>1.3.59</version>
|
||||
<version>1.3.60</version>
|
||||
<name>Web4Rail</name>
|
||||
<packaging>jar</packaging>
|
||||
<description>Java Model Railway Control</description>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
|
||||
<logger name="de.srsoftware.web4rail" level="DEBUG" />
|
||||
<logger name="de.srsoftware.web4rail" level="INFO" />
|
||||
<logger name="de.srsoftware.web4rail.Application" level="DEBUG" />
|
||||
<logger name="de.srsoftware.web4rail.Route" level="DEBUG" />
|
||||
<logger name="de.srsoftware.web4rail.actions.Action" level="DEBUG" />
|
||||
@@ -37,5 +37,6 @@
|
||||
<logger name="de.srsoftware.web4rail.moving.Train" level="DEBUG" />
|
||||
<logger name="de.srsoftware.web4rail.tiles.Contact" level="DEBUG" />
|
||||
<logger name="de.srsoftware.web4rail.tiles.Block" level="DEBUG" />
|
||||
<logger name="de.srsoftware.web4rail.threads.BrakeProcessor" level="DEBUG" />
|
||||
|
||||
</configuration>
|
||||
|
||||
@@ -903,12 +903,12 @@ public class Train extends BaseClass implements Comparable<Train> {
|
||||
@Override
|
||||
public void locked(Route newRoute) {
|
||||
LOG.debug("Locked route {} for {}",newRoute,Train.this);
|
||||
route = newRoute;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void prepared(Route newRoute) {
|
||||
LOG.debug("Prepared route {} for {}",newRoute,Train.this);
|
||||
route = newRoute;
|
||||
set((PathFinder)null);
|
||||
route.start(Train.this);
|
||||
}
|
||||
|
||||
@@ -43,10 +43,13 @@ public class BrakeProcessor extends BaseClass implements Runnable {
|
||||
int step = brakeTime;
|
||||
for (int i = 0; i < 15; i++) {
|
||||
long calculatedDistance = calculate(brakeTime, startSpeed);
|
||||
step /= 2;
|
||||
if (step < 1) step = 1;
|
||||
if (measuredDistance > calculatedDistance) brakeTime += step;
|
||||
if (measuredDistance > calculatedDistance) {
|
||||
brakeTime += brakeTime;
|
||||
step = brakeTime/3;
|
||||
}
|
||||
if (measuredDistance < calculatedDistance) {
|
||||
step /= 2;
|
||||
if (step < 1) step = 1;
|
||||
brakeTime -= step;
|
||||
}
|
||||
LOG.debug("new brake time: {}, calculated distance: {}", brakeTime, calculatedDistance);
|
||||
|
||||
Reference in New Issue
Block a user