|
|
@ -2,6 +2,7 @@
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const LOCO_F_REVERSE = 1;
|
|
|
|
|
|
|
|
|
|
|
|
var locomotives = [];
|
|
|
|
var locomotives = [];
|
|
|
|
|
|
|
|
|
|
|
@ -488,11 +489,17 @@ function lococtrl_show(name) {
|
|
|
|
function lococtrl_reverse() {
|
|
|
|
function lococtrl_reverse() {
|
|
|
|
var name = getTextBetween(this.id, "lococtrl_", "_REVBTN");
|
|
|
|
var name = getTextBetween(this.id, "lococtrl_", "_REVBTN");
|
|
|
|
var reverse;
|
|
|
|
var reverse;
|
|
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < locomotives.length; i++) {
|
|
|
|
for (var i = 0; i < locomotives.length; i++) {
|
|
|
|
if (name == locomotives[i].name) {
|
|
|
|
if (name == locomotives[i].name) {
|
|
|
|
if (locomotives[i].flags & 1) reverse = 0;
|
|
|
|
if (locomotives[i].flags & 1) {
|
|
|
|
else reverse = 1;
|
|
|
|
reverse = 0;
|
|
|
|
|
|
|
|
this.innerHTML = "FWD";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
reverse = 1;
|
|
|
|
|
|
|
|
this.innerHTML = "REV";
|
|
|
|
|
|
|
|
}
|
|
|
|
locomotive_server_Set ({name: name, reverse: reverse});
|
|
|
|
locomotive_server_Set ({name: name, reverse: reverse});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -501,11 +508,15 @@ function lococtrl_reverse() {
|
|
|
|
|
|
|
|
|
|
|
|
function lococtrl_speed() {
|
|
|
|
function lococtrl_speed() {
|
|
|
|
var name = getTextBetween(this.id, "lococtrl_", "_RANGE");
|
|
|
|
var name = getTextBetween(this.id, "lococtrl_", "_RANGE");
|
|
|
|
|
|
|
|
var reverse = document.getElementById("lococtrl_"+name+"_REVBTN");
|
|
|
|
|
|
|
|
|
|
|
|
debug ("Speed Loco:'"+name+"' Speed:'"+this.value+"'");
|
|
|
|
let speed = this.value;
|
|
|
|
|
|
|
|
if (reverse.innerHTML == "REV") speed = -speed;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
debug ("Speed Loco:'"+name+"' Speed:'"+speed+"'");
|
|
|
|
for (var i = 0; i < locomotives.length; i++) {
|
|
|
|
for (var i = 0; i < locomotives.length; i++) {
|
|
|
|
if (name == locomotives[i].name) {
|
|
|
|
if (name == locomotives[i].name) {
|
|
|
|
locomotive_server_Set ({name: name, speed: this.value});
|
|
|
|
locomotive_server_Set ({name: name, speed: speed});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -513,13 +524,17 @@ function lococtrl_speed() {
|
|
|
|
|
|
|
|
|
|
|
|
function lococtrl_setData(data) {
|
|
|
|
function lococtrl_setData(data) {
|
|
|
|
var range = document.getElementById("lococtrl_"+data.name+"_RANGE");
|
|
|
|
var range = document.getElementById("lococtrl_"+data.name+"_RANGE");
|
|
|
|
|
|
|
|
var reverse = document.getElementById("lococtrl_"+data.name+"_REVBTN");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (range && reverse) {
|
|
|
|
if (range) {
|
|
|
|
debug ("lococtrl: speed:" + data.speed + " vmax:" +
|
|
|
|
debug ("lococtrl: speed:" + data.speed);
|
|
|
|
data.vmax + " flags:" + data.flags);
|
|
|
|
|
|
|
|
if (data.flags & LOCO_F_REVERSE) reverse.innerHTML = "REV";
|
|
|
|
|
|
|
|
else reverse.innerHTML = "FWD";
|
|
|
|
|
|
|
|
|
|
|
|
range.min = 0;
|
|
|
|
range.min = 0;
|
|
|
|
range.max = data.vmax;
|
|
|
|
if (data.vmax) range.max = data.vmax;
|
|
|
|
range.value = Math.abs(data.speed);
|
|
|
|
if (data.speed) range.value = Math.abs(data.speed);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|