1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-23 08:06:13 +01:00

remove power state from <=> answer

This commit is contained in:
Harald Barth 2023-11-13 17:16:58 +01:00
parent b3ba647b09
commit 86ed8ff8a6
3 changed files with 17 additions and 20 deletions

View File

@ -269,8 +269,8 @@ void CommandDistributor::broadcastRaw(clientType type, char * msg) {
broadcastReply(type, F("%s"),msg); broadcastReply(type, F("%s"),msg);
} }
void CommandDistributor::broadcastTrackState(const FSH* format,byte trackLetter, byte pstate, int16_t dcAddr) { void CommandDistributor::broadcastTrackState(const FSH* format,byte trackLetter, int16_t dcAddr) {
broadcastReply(COMMAND_TYPE, format,trackLetter, pstate, dcAddr); broadcastReply(COMMAND_TYPE, format, trackLetter, dcAddr);
} }
void CommandDistributor::broadcastRouteState(uint16_t routeId, byte state ) { void CommandDistributor::broadcastRouteState(uint16_t routeId, byte state ) {

View File

@ -55,7 +55,7 @@ public :
static int16_t retClockTime(); static int16_t retClockTime();
static void broadcastPower(); static void broadcastPower();
static void broadcastRaw(clientType type,char * msg); static void broadcastRaw(clientType type,char * msg);
static void broadcastTrackState(const FSH* format,byte trackLetter, byte pstate, int16_t dcAddr); static void broadcastTrackState(const FSH* format,byte trackLetter, int16_t dcAddr);
template<typename... Targs> static void broadcastReply(clientType type, Targs... msg); template<typename... Targs> static void broadcastReply(clientType type, Targs... msg);
static void forget(byte clientId); static void forget(byte clientId);
static void broadcastRouteState(uint16_t routeId,byte state); static void broadcastRouteState(uint16_t routeId,byte state);

View File

@ -400,46 +400,43 @@ bool TrackManager::parseJ(Print *stream, int16_t params, int16_t p[])
void TrackManager::streamTrackState(Print* stream, byte t) { void TrackManager::streamTrackState(Print* stream, byte t) {
// null stream means send to commandDistributor for broadcast // null stream means send to commandDistributor for broadcast
if (track[t]==NULL) return; if (track[t]==NULL) return;
auto format=F(""); auto format=F("<= %d XXX>\n");
byte pstate = TrackManager::isPowerOn(t) ? 1 : 0;
TRACK_MODE tm = track[t]->getMode(); TRACK_MODE tm = track[t]->getMode();
if (tm & TRACK_MODE_MAIN) { if (tm & TRACK_MODE_MAIN) {
if(tm & TRACK_MODE_AUTOINV) if(tm & TRACK_MODE_AUTOINV)
format=F("<= %c %d MAIN AUTOINV>\n"); format=F("<= %c MAIN A>\n");
else if (tm & TRACK_MODE_INV) else if (tm & TRACK_MODE_INV)
format=F("<= %c %d MAIN INV>\n"); format=F("<= %c MAIN I>\n");
else else
format=F("<= %c %d MAIN>\n"); format=F("<= %c MAIN>\n");
} }
#ifndef DISABLE_PROG #ifndef DISABLE_PROG
else if (tm & TRACK_MODE_PROG) else if (tm & TRACK_MODE_PROG)
format=F("<= %c %d PROG>\n"); format=F("<= %c PROG>\n");
#endif #endif
else if (tm & TRACK_MODE_NONE) else if (tm & TRACK_MODE_NONE)
format=F("<= %c %d NONE>\n"); format=F("<= %c NONE>\n");
else if(tm & TRACK_MODE_EXT) else if(tm & TRACK_MODE_EXT)
format=F("<= %c %d EXT>\n"); format=F("<= %c EXT>\n");
else if(tm & TRACK_MODE_BOOST) { else if(tm & TRACK_MODE_BOOST) {
if(tm & TRACK_MODE_AUTOINV) if(tm & TRACK_MODE_AUTOINV)
format=F("<= %c %d BOOST AUTOINV>\n"); format=F("<= %c B A>\n");
else if (tm & TRACK_MODE_INV) else if (tm & TRACK_MODE_INV)
format=F("<= %c %d BOOST INV>\n"); format=F("<= %c B I>\n");
else else
format=F("<= %c %d BOOST>\n"); format=F("<= %c B>\n");
} }
else if (tm & TRACK_MODE_DC) { else if (tm & TRACK_MODE_DC) {
if (tm & TRACK_MODE_INV) if (tm & TRACK_MODE_INV)
format=F("<= %c %d DCX %d>\n"); format=F("<= %c DCX %d>\n");
else else
format=F("<= %c %d DC %d>\n"); format=F("<= %c DC %d>\n");
} }
else
format=F("<= %c %d XXX>\n");
if (stream) if (stream)
StringFormatter::send(stream,format,'A'+t, pstate, trackDCAddr[t]); StringFormatter::send(stream,format,'A'+t, trackDCAddr[t]);
else else
CommandDistributor::broadcastTrackState(format,'A'+t, pstate, trackDCAddr[t]); CommandDistributor::broadcastTrackState(format,'A'+t, trackDCAddr[t]);
} }