diff --git a/pom.xml b/pom.xml
index 20bfd9b..66ad72f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 1.4.25
+ 1.4.26
Web4Rail
jar
Java Model Railway Control
diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation
index c58e623..2faacfc 100644
--- a/resources/translations/Application.de.translation
+++ b/resources/translations/Application.de.translation
@@ -241,6 +241,7 @@ Not connected to other bridge part! : Nicht mit anderem Brücken-Teil verbunden!
Notes : Notizen
No tile moved. : keine Kachel verschoben.
{} not within last {} blocks of train : {} ist nicht in den letzten {} Blöcken des Zugs
+no value : kein Wert
{} now heading for {} : {} ist nun unterwegs nach {}
{} now in auto-mode : {} ist nun im Automatikmodus
Occupied area : Belegte Abschnitte
diff --git a/src/main/java/de/srsoftware/web4rail/BaseClass.java b/src/main/java/de/srsoftware/web4rail/BaseClass.java
index cc6fd9e..9f3a74e 100644
--- a/src/main/java/de/srsoftware/web4rail/BaseClass.java
+++ b/src/main/java/de/srsoftware/web4rail/BaseClass.java
@@ -86,7 +86,7 @@ public abstract class BaseClass implements Constants{
}
public Context block(Block newBlock) {
- LOG.debug("{}.block({})",this,newBlock);
+ //LOG.debug("{}.block({})",this,newBlock);
block = newBlock;
return this;
}
@@ -143,7 +143,7 @@ public abstract class BaseClass implements Constants{
}
public Context direction(Direction newDirection) {
- LOG.debug("{}.direction({})",this,newDirection);
+ //LOG.debug("{}.direction({})",this,newDirection);
direction = newDirection;
return this;
}
@@ -164,7 +164,7 @@ public abstract class BaseClass implements Constants{
public Context setMain(BaseClass object) {
main = object;
- LOG.debug("{}.setMain({})",this,object);
+ //LOG.debug("{}.setMain({})",this,object);
if (main instanceof Tile) this.tile = (Tile) main;
if (main instanceof Contact) this.contact = (Contact) main;
if (main instanceof Block) this.block = (Block) main;
@@ -209,7 +209,7 @@ public abstract class BaseClass implements Constants{
}
public Context train(Train newTrain) {
- LOG.debug("{}.train({})",this,newTrain);
+ //LOG.debug("{}.train({})",this,newTrain);
train = newTrain;
return this;
}
@@ -331,18 +331,20 @@ public abstract class BaseClass implements Constants{
public static String distance(long l) {
String unit = Plan.lengthUnit;
if (DEFAULT_LENGTH_UNIT.equals(unit)) {
+ double d = l;
if (l > 1_000_000) {
- l/=1_000_000;
+ d = l/1_000_000d;
unit = t("km");
} else
if (l > 1_000) {
- l/=1_000;
+ d = l/1_000;
unit = t("m");
} else
if (l > 10) {
- l/=10;
+ d = l/10;
unit = t("cm");
}
+ return String.format("%.3f", d)+NBSP+unit;
}
return l+NBSP+unit;
}
diff --git a/src/main/java/de/srsoftware/web4rail/Plan.java b/src/main/java/de/srsoftware/web4rail/Plan.java
index 2a085e6..6989e2c 100644
--- a/src/main/java/de/srsoftware/web4rail/Plan.java
+++ b/src/main/java/de/srsoftware/web4rail/Plan.java
@@ -214,6 +214,7 @@ public class Plan extends BaseClass{
case ACTION_FREE:
Tile t = get(Id.from(params), false);
t.free(t.lockingTrain());
+ plan.alter();
return t.properties();
case ACTION_MOVE:
return moveTile(params.get(DIRECTION),Id.from(params));
diff --git a/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java b/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
index 9668bca..0bf6f01 100644
--- a/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
+++ b/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
@@ -6,6 +6,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.TreeMap;
import java.util.concurrent.TimeoutException;
@@ -334,8 +335,17 @@ public class Locomotive extends Car implements Constants,Device{
Table table = new Table();
table.addHead(t("setting"),t("CV"),t("value"),t("actions"));
- for (Entry entry : cvs.entrySet()){
+ for (int cv=1; cv<19; cv++) {
+ Object val = cvs.get(cv);
+ if (isNull(val)) {
+ if (Set.of(7, 8, 10, 11, 12, 13, 14, 15, 16).contains(cv)) continue;
+ val = t("no value");
+ }
+ table.addRow(setting(cv),cv,val,new Button(t("edit"), "copyCv(this);"));
+ }
+ for (Entry entry : cvs.entrySet()){
int cv = entry.getKey();
+ if (cv<10) continue;
int val = entry.getValue();
table.addRow(setting(cv),cv,val,new Button(t("edit"), "copyCv(this);"));
}
@@ -429,7 +439,7 @@ public class Locomotive extends Car implements Constants,Device{
return t("maximum speed vmax");
case 6:
return t("mid speed vmid");
- case 8:
+ case 9:
return t("PWM rate");
case 17:
case 18:
@@ -459,10 +469,10 @@ public class Locomotive extends Car implements Constants,Device{
}
public Object turn() {
- stop();
+ setSpeed(0);
super.turn();
plan.stream(t("Stopped and reversed {}.",this));
- return properties();
+ return stop();
}
@Override