made turnout delay configurable
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.5.13</version>
|
||||
<version>1.5.14</version>
|
||||
<name>Web4Rail</name>
|
||||
<packaging>jar</packaging>
|
||||
<description>Java Model Railway Control</description>
|
||||
|
||||
@@ -284,6 +284,7 @@ Origin and destination : Start und Ziel
|
||||
Origin\: {} to {} : Start: {} nach {}
|
||||
parked train : abgestellter Zug
|
||||
parked trains : abgestellte Züge
|
||||
Pause between switching turnouts of route : Pause zwischen Weichen einer Route
|
||||
Plan saved as "{}". : Plan als „{}“ gespeichert.
|
||||
Plan updated. : Plan aktualisiert.
|
||||
Port for state {} : Anschluss für Status {}
|
||||
|
||||
@@ -79,6 +79,7 @@ import de.srsoftware.web4rail.tiles.Switch;
|
||||
import de.srsoftware.web4rail.tiles.TextDisplay;
|
||||
import de.srsoftware.web4rail.tiles.Tile;
|
||||
import de.srsoftware.web4rail.tiles.TileWithShadow;
|
||||
import de.srsoftware.web4rail.tiles.Turnout;
|
||||
import de.srsoftware.web4rail.tiles.Turnout.State;
|
||||
import de.srsoftware.web4rail.tiles.Turnout3E;
|
||||
import de.srsoftware.web4rail.tiles.TurnoutLE;
|
||||
@@ -541,6 +542,7 @@ public class Plan extends BaseClass{
|
||||
.put(MAINTENANCE_INTERVAL, Car.defaulMaintenanceDist)
|
||||
.put(LENGTH_UNIT, lengthUnit)
|
||||
.put(SPEED_UNIT, speedUnit)
|
||||
.put(Turnout.DELAY, Turnout.delay)
|
||||
.put(TILE, jTiles);
|
||||
}
|
||||
|
||||
@@ -570,6 +572,7 @@ public class Plan extends BaseClass{
|
||||
if (json.has(SPEED_STEP)) Train.defaultSpeedStep = json.getInt(SPEED_STEP);
|
||||
if (json.has(FREE_BEHIND_TRAIN)) Route.freeBehindTrain = json.getBoolean(FREE_BEHIND_TRAIN);
|
||||
if (json.has(MAINTENANCE_INTERVAL)) Car.defaulMaintenanceDist = json.getLong(MAINTENANCE_INTERVAL);
|
||||
if (json.has(Turnout.DELAY)) Turnout.delay = json.getInt(Turnout.DELAY);
|
||||
|
||||
try {
|
||||
Car.loadAll(name+".cars",plan);
|
||||
@@ -756,6 +759,7 @@ public class Plan extends BaseClass{
|
||||
formInputs.add(t("Default maintenance intervall"),new Input(MAINTENANCE_INTERVAL, Car.defaulMaintenanceDist).numeric().addTo(new Tag("span")).content(NBSP+Plan.lengthUnit));
|
||||
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));
|
||||
formInputs.add(t("Allow editing JSON of action lists"),new Checkbox(ALLOW_JSON_EDIT, t("Do you know, what you are doing?"), allowJsonEdit ));
|
||||
formInputs.add(t("Pause between switching turnouts of route"),new Input(Turnout.DELAY, Turnout.delay).numeric());
|
||||
|
||||
postForm.add(relayProperties());
|
||||
postForm.add(routeProperties());
|
||||
@@ -1071,6 +1075,7 @@ public class Plan extends BaseClass{
|
||||
if (params.containsKey(SPEED_UNIT)) speedUnit = params.getString(SPEED_UNIT);
|
||||
if (params.containsKey(SPEED_STEP)) Train.defaultSpeedStep = params.getInt(SPEED_STEP);
|
||||
if (params.containsKey(FINAL_SPEED)) Train.defaultEndSpeed = params.getInt(FINAL_SPEED);
|
||||
if (params.containsKey(Turnout.DELAY)) Turnout.delay = params.getInt(Turnout.DELAY);
|
||||
if (params.containsKey(MAINTENANCE_INTERVAL)) try {
|
||||
Car.defaulMaintenanceDist = params.getLong(MAINTENANCE_INTERVAL);
|
||||
} catch(NumberFormatException e) {};
|
||||
|
||||
@@ -30,7 +30,7 @@ public class SetTurnout extends Action {
|
||||
if (isNull(turnout)) return false;
|
||||
if (!turnout.state(state,false).succeeded()) return false;
|
||||
if (turnout.address() == 0) return true;
|
||||
sleep(1000);
|
||||
sleep(Turnout.delay);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ public class Switch extends Tile{
|
||||
private ActionList actionsOn,actionsOff;
|
||||
private static final String ON = "ON";
|
||||
private static final String OFF = "OFF";
|
||||
|
||||
|
||||
public Switch() {
|
||||
actionsOn = new ActionList(this);
|
||||
actionsOff = new ActionList(this);
|
||||
|
||||
@@ -31,10 +31,11 @@ public abstract class Turnout extends Tile implements Device{
|
||||
private static final String PORT_A = "port_a";
|
||||
private static final String PORT_B = "port_b";
|
||||
public static final String STATE = "state";
|
||||
public static final String DELAY = "turnout_delay";
|
||||
protected static final String STRAIGHT = "straight";
|
||||
|
||||
public static int delay = 1000;
|
||||
protected int address = 0;
|
||||
protected int delay = 400;
|
||||
protected int duration = 400;
|
||||
protected boolean error = false;
|
||||
protected boolean initialized = false;
|
||||
private Protocol protocol = Protocol.DCC128;
|
||||
|
||||
@@ -25,9 +25,9 @@ public abstract class TurnoutL extends Turnout {
|
||||
protected String commandFor(State newState) {
|
||||
switch (newState) {
|
||||
case LEFT:
|
||||
return "SET {} GA "+address+" "+portB+" 1 "+delay;
|
||||
return "SET {} GA "+address+" "+portB+" 1 "+duration;
|
||||
case STRAIGHT:
|
||||
return "SET {} GA "+address+" "+portA+" 1 "+delay;
|
||||
return "SET {} GA "+address+" "+portA+" 1 "+duration;
|
||||
default:
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@ public abstract class TurnoutR extends Turnout {
|
||||
public String commandFor(State newState) {
|
||||
switch (newState) {
|
||||
case RIGHT:
|
||||
return "SET {} GA "+address+" "+portB+" 1 "+delay;
|
||||
return "SET {} GA "+address+" "+portB+" 1 "+duration;
|
||||
case STRAIGHT:
|
||||
return "SET {} GA "+address+" "+portA+" 1 "+delay;
|
||||
return "SET {} GA "+address+" "+portA+" 1 "+duration;
|
||||
default:
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user