mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2025-02-17 06:29:15 +01:00
ESP32: Turn always on the JOINed PROG track when it acts as MAIN
This commit is contained in:
parent
9c263062e4
commit
c5c5609fc6
@ -641,23 +641,25 @@ void TrackManager::setJoinRelayPin(byte joinRelayPin) {
|
|||||||
|
|
||||||
void TrackManager::setJoin(bool joined) {
|
void TrackManager::setJoin(bool joined) {
|
||||||
#ifdef ARDUINO_ARCH_ESP32
|
#ifdef ARDUINO_ARCH_ESP32
|
||||||
if (joined) {
|
if (joined) { // if we go into joined mode (PROG acts as MAIN)
|
||||||
FOR_EACH_TRACK(t) {
|
FOR_EACH_TRACK(t) {
|
||||||
if (track[t]->getMode() & TRACK_MODE_PROG) {
|
if (track[t]->getMode() & TRACK_MODE_PROG) { // find PROG track
|
||||||
tempProgTrack = t;
|
tempProgTrack = t; // remember PROG track
|
||||||
setTrackMode(t, TRACK_MODE_MAIN);
|
setTrackMode(t, TRACK_MODE_MAIN);
|
||||||
break;
|
track[t]->setPower(POWERMODE::ON); // if joined, always on
|
||||||
|
break; // there is only one prog track, done
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (tempProgTrack != MAX_TRACKS+1) {
|
if (tempProgTrack != MAX_TRACKS+1) {
|
||||||
// as setTrackMode with TRACK_MODE_PROG defaults to
|
// setTrackMode defaults to power off, so we
|
||||||
// power off, we will take the current power state
|
// need to preserve that state.
|
||||||
// of our track and then preserve that state.
|
POWERMODE tPTmode = track[tempProgTrack]->getPower(); // get current power status of this track
|
||||||
POWERMODE tPTmode = track[tempProgTrack]->getPower(); //get current power status of this track
|
setTrackMode(tempProgTrack, TRACK_MODE_PROG); // set track mode back to prog
|
||||||
setTrackMode(tempProgTrack, TRACK_MODE_PROG);
|
track[tempProgTrack]->setPower(tPTmode); // set power status as it was before
|
||||||
track[tempProgTrack]->setPower(tPTmode); //set track status as it was before
|
|
||||||
tempProgTrack = MAX_TRACKS+1;
|
tempProgTrack = MAX_TRACKS+1;
|
||||||
|
} else {
|
||||||
|
DIAG(F("Unjoin but no remembered prog track"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user