From e8b9f80c8cd232cf1736c8740c7a534b776abf03 Mon Sep 17 00:00:00 2001 From: Harald Barth Date: Sat, 11 Nov 2023 09:45:28 +0100 Subject: [PATCH] Reformat reply to <=> --- CommandDistributor.cpp | 4 ++-- CommandDistributor.h | 2 +- TrackManager.cpp | 35 +++++++++++++++-------------------- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/CommandDistributor.cpp b/CommandDistributor.cpp index 351a18d..653bbef 100644 --- a/CommandDistributor.cpp +++ b/CommandDistributor.cpp @@ -269,8 +269,8 @@ void CommandDistributor::broadcastRaw(clientType type, char * msg) { broadcastReply(type, F("%s"),msg); } -void CommandDistributor::broadcastTrackState(const FSH* format,byte trackLetter, int16_t dcAddr) { - broadcastReply(COMMAND_TYPE, format,trackLetter, dcAddr); +void CommandDistributor::broadcastTrackState(const FSH* format,byte trackLetter, byte pstate, int16_t dcAddr) { + broadcastReply(COMMAND_TYPE, format,trackLetter, pstate, dcAddr); } void CommandDistributor::broadcastRouteState(uint16_t routeId, byte state ) { diff --git a/CommandDistributor.h b/CommandDistributor.h index 83bfbbd..7dfcdf6 100644 --- a/CommandDistributor.h +++ b/CommandDistributor.h @@ -55,7 +55,7 @@ public : static int16_t retClockTime(); static void broadcastPower(); static void broadcastRaw(clientType type,char * msg); - static void broadcastTrackState(const FSH* format,byte trackLetter, int16_t dcAddr); + static void broadcastTrackState(const FSH* format,byte trackLetter, byte pstate, int16_t dcAddr); template static void broadcastReply(clientType type, Targs... msg); static void forget(byte clientId); static void broadcastRouteState(uint16_t routeId,byte state); diff --git a/TrackManager.cpp b/TrackManager.cpp index 3b380f1..647f07c 100644 --- a/TrackManager.cpp +++ b/TrackManager.cpp @@ -401,50 +401,45 @@ void TrackManager::streamTrackState(Print* stream, byte t) { // null stream means send to commandDistributor for broadcast if (track[t]==NULL) return; auto format=F(""); -// bool pstate = TrackManager::isPowerOn(t); -// char *statestr; -// if (pstate) -// statestr = (char *)"ON"; -// else -// statestr = (char *)"OFF"; + byte pstate = TrackManager::isPowerOn(t) ? 1 : 0; TRACK_MODE tm = track[t]->getMode(); if (tm & TRACK_MODE_MAIN) { if(tm & TRACK_MODE_AUTOINV) - format=F("<= %c MAIN AUTOINV>\n"); + format=F("<= %c %d MAIN AUTOINV>\n"); else if (tm & TRACK_MODE_INV) - format=F("<= %c MAIN INV>\n"); + format=F("<= %c %d MAIN INV>\n"); else - format=F("<= %c MAIN>\n"); + format=F("<= %c %d MAIN>\n"); } #ifndef DISABLE_PROG else if (tm & TRACK_MODE_PROG) - format=F("<= %c PROG>\n"); + format=F("<= %c %d PROG>\n"); #endif else if (tm & TRACK_MODE_NONE) - format=F("<= %c NONE>\n"); + format=F("<= %c %d NONE>\n"); else if(tm & TRACK_MODE_EXT) - format=F("<= %c EXT>\n"); + format=F("<= %c %d EXT>\n"); else if(tm & TRACK_MODE_BOOST) { if(tm & TRACK_MODE_AUTOINV) - format=F("<= %c BOOST AUTOINV>\n"); + format=F("<= %c %d BOOST AUTOINV>\n"); else if (tm & TRACK_MODE_INV) - format=F("<= %c BOOST INV>\n"); + format=F("<= %c %d BOOST INV>\n"); else - format=F("<= %c BOOST>\n"); + format=F("<= %c %d BOOST>\n"); } else if (tm & TRACK_MODE_DC) { if (tm & TRACK_MODE_INV) - format=F("<= %c DCX %d>\n"); + format=F("<= %c %d DCX %d>\n"); else - format=F("<= %c DC %d>\n"); + format=F("<= %c %d DC %d>\n"); } else - format=F("<= %c XXX>\n"); + format=F("<= %c %d XXX>\n"); if (stream) - StringFormatter::send(stream,format,'A'+t, trackDCAddr[t]); + StringFormatter::send(stream,format,'A'+t, pstate, trackDCAddr[t]); else - CommandDistributor::broadcastTrackState(format,'A'+t, trackDCAddr[t]); + CommandDistributor::broadcastTrackState(format,'A'+t, pstate, trackDCAddr[t]); }