implemented editable speed step
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.4.7</version>
|
||||
<version>1.4.8</version>
|
||||
<name>Web4Rail</name>
|
||||
<packaging>jar</packaging>
|
||||
<description>Java Model Railway Control</description>
|
||||
|
||||
@@ -156,6 +156,7 @@ public class Plan extends BaseClass{
|
||||
private static final String FINAL_SPEED = "final_speed";
|
||||
private static final String FREE_BEHIND_TRAIN = "free_behind_train";
|
||||
private static final String RENAME = "rename";
|
||||
private static final String SPEED_STEP = "speed_step";
|
||||
private String name = DEFAULT_NAME;
|
||||
|
||||
private ControlUnit controlUnit = new ControlUnit(this); // the control unit, to which the plan is connected
|
||||
@@ -496,6 +497,7 @@ public class Plan extends BaseClass{
|
||||
|
||||
return new JSONObject()
|
||||
.put(FINAL_SPEED, Train.defaultEndSpeed)
|
||||
.put(SPEED_STEP, Train.defaultSpeedStep)
|
||||
.put(FREE_BEHIND_TRAIN, Route.freeBehindTrain)
|
||||
.put(LENGTH_UNIT, lengthUnit)
|
||||
.put(SPEED_UNIT, speedUnit)
|
||||
@@ -525,6 +527,7 @@ public class Plan extends BaseClass{
|
||||
if (json.has(LENGTH_UNIT)) lengthUnit = json.getString(LENGTH_UNIT);
|
||||
if (json.has(SPEED_UNIT)) speedUnit = json.getString(SPEED_UNIT);
|
||||
if (json.has(FINAL_SPEED)) Train.defaultEndSpeed = json.getInt(FINAL_SPEED);
|
||||
if (json.has(SPEED_STEP)) Train.defaultSpeedStep = json.getInt(SPEED_STEP);
|
||||
if (json.has(FREE_BEHIND_TRAIN)) Route.freeBehindTrain = json.getBoolean(FREE_BEHIND_TRAIN);
|
||||
|
||||
try {
|
||||
@@ -704,6 +707,7 @@ public class Plan extends BaseClass{
|
||||
formInputs.add(null, new Input(ACTION,ACTION_UPDATE));
|
||||
formInputs.add(t("Length unit"),new Input(LENGTH_UNIT, lengthUnit));
|
||||
formInputs.add(t("Speed unit"),new Input(SPEED_UNIT, speedUnit));
|
||||
formInputs.add(t("Speed step"),new Input(SPEED_STEP, Train.defaultSpeedStep).attr("title", t("Speeds are always increadsed/decreased by this value")));
|
||||
formInputs.add(t("Lower speed limit"),new Input(FINAL_SPEED, Train.defaultEndSpeed).attr("title", t("Final speed after breaking, before halting")));
|
||||
formInputs.add(t("Free tiles behind train"),new Checkbox(FREE_BEHIND_TRAIN, t("If checked, tiles behind the train are freed according to the length of the train and the tiles. If it is unchecked, tiles will not get free before route is finished."), Route.freeBehindTrain));
|
||||
|
||||
@@ -1017,6 +1021,7 @@ public class Plan extends BaseClass{
|
||||
|
||||
if (params.containsKey(LENGTH_UNIT)) lengthUnit = params.get(LENGTH_UNIT);
|
||||
if (params.containsKey(SPEED_UNIT)) speedUnit = params.get(SPEED_UNIT);
|
||||
if (params.containsKey(SPEED_STEP)) Train.defaultSpeedStep = Integer.parseInt(params.get(SPEED_STEP));
|
||||
if (params.containsKey(FINAL_SPEED)) Train.defaultEndSpeed = Integer.parseInt(params.get(FINAL_SPEED));
|
||||
Route.freeBehindTrain = "on".equalsIgnoreCase(params.get(FREE_BEHIND_TRAIN));
|
||||
|
||||
|
||||
@@ -253,7 +253,7 @@ public class Route extends BaseClass {
|
||||
table.addRow(t,isSet(fTime)? fTime+NBSP+"ms" : "–",isSet(rTime)? fTime+NBSP+"ms" : "–");
|
||||
}
|
||||
table.clazz("brake-times").addTo(fieldset);
|
||||
new Tag("p").content(t("1) Duration between 5 {} steps during brake process.",speedUnit)).addTo(fieldset);
|
||||
new Tag("p").content(t("1) Duration between {} {} steps during brake process.",Train.defaultSpeedStep,speedUnit)).addTo(fieldset);
|
||||
return fieldset;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ public class Locomotive extends Car implements Constants,Device{
|
||||
new Locomotive(params.get(Locomotive.NAME)).parent(plan).register();
|
||||
return Locomotive.manager();
|
||||
case ACTION_FASTER10:
|
||||
return loco.faster(10);
|
||||
return loco.faster(Train.defaultSpeedStep);
|
||||
case ACTION_MOVE:
|
||||
return loco.moveUp();
|
||||
case ACTION_PROGRAM:
|
||||
@@ -71,7 +71,7 @@ public class Locomotive extends Car implements Constants,Device{
|
||||
case ACTION_PROPS:
|
||||
return loco == null ? Locomotive.manager() : loco.properties();
|
||||
case ACTION_SLOWER10:
|
||||
return loco.faster(-10);
|
||||
return loco.faster(-Train.defaultSpeedStep);
|
||||
case ACTION_STOP:
|
||||
return loco.stop();
|
||||
case ACTION_TOGGLE_F1:
|
||||
@@ -134,10 +134,10 @@ public class Locomotive extends Car implements Constants,Device{
|
||||
Tag par = new Tag("p");
|
||||
|
||||
params.put(ACTION, ACTION_FASTER10);
|
||||
new Button(t("Faster (10 {})",speedUnit),params).addTo(par);
|
||||
new Button(t("Faster ({} {})",Train.defaultSpeedStep,speedUnit),params).addTo(par);
|
||||
|
||||
params.put(ACTION, ACTION_SLOWER10);
|
||||
new Button(t("Slower (10 {})",speedUnit),params).addTo(par);
|
||||
new Button(t("Slower ({} {})",Train.defaultSpeedStep,speedUnit),params).addTo(par);
|
||||
|
||||
par.addTo(fieldset);
|
||||
|
||||
|
||||
@@ -55,7 +55,8 @@ public class Train extends BaseClass implements Comparable<Train> {
|
||||
|
||||
private static final String NAME = "name";
|
||||
|
||||
public static int defaultEndSpeed;
|
||||
public static int defaultEndSpeed = 10;
|
||||
public static int defaultSpeedStep = 10;
|
||||
private String name = null;
|
||||
|
||||
|
||||
@@ -132,7 +133,7 @@ public class Train extends BaseClass implements Comparable<Train> {
|
||||
case ACTION_TOGGLE_F4:
|
||||
return train.toggleFunction(4);
|
||||
case ACTION_FASTER10:
|
||||
return train.faster(10);
|
||||
return train.faster(Train.defaultSpeedStep);
|
||||
case ACTION_MOVE:
|
||||
return train.setDestination(params);
|
||||
case ACTION_PROPS:
|
||||
@@ -142,7 +143,7 @@ public class Train extends BaseClass implements Comparable<Train> {
|
||||
case ACTION_REVERSE:
|
||||
return train.reverse().properties();
|
||||
case ACTION_SLOWER10:
|
||||
return train.slower(10);
|
||||
return train.slower(Train.defaultSpeedStep);
|
||||
case ACTION_START:
|
||||
return train.properties(train.start(false));
|
||||
case ACTION_STOP:
|
||||
|
||||
@@ -12,8 +12,6 @@ public class BrakeProcess extends BaseClass implements Runnable{
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(BrakeProcess.class);
|
||||
|
||||
private static final int SPEED_STEP = 10;
|
||||
|
||||
public static int defaultTimeStep = 500;
|
||||
private Train train;
|
||||
private int targetSpeed = Train.defaultEndSpeed;
|
||||
@@ -41,7 +39,7 @@ public class BrakeProcess extends BaseClass implements Runnable{
|
||||
int s = startSpeed;
|
||||
while (s > Train.defaultEndSpeed) {
|
||||
dist += s*ts;
|
||||
s -= SPEED_STEP;
|
||||
s -= Train.defaultSpeedStep;
|
||||
}
|
||||
LOG.debug("Estimated distamce with {} ms timestep: {}",ts,dist);
|
||||
return dist;
|
||||
@@ -64,7 +62,7 @@ public class BrakeProcess extends BaseClass implements Runnable{
|
||||
sleep(timeStep);
|
||||
lastSpeed = train.speed;
|
||||
updateDistance();
|
||||
if (lastSpeed > targetSpeed) lastSpeed -= SPEED_STEP;
|
||||
if (lastSpeed > targetSpeed) lastSpeed -= Train.defaultSpeedStep;
|
||||
if (ended) break;
|
||||
if (lastSpeed <= targetSpeed && (ended = true)) lastSpeed = targetSpeed;
|
||||
train.setSpeed(lastSpeed);
|
||||
|
||||
Reference in New Issue
Block a user