diff --git a/DCCEXParser.cpp b/DCCEXParser.cpp index de1618c..404685d 100644 --- a/DCCEXParser.cpp +++ b/DCCEXParser.cpp @@ -712,10 +712,11 @@ void DCCEXParser::parseOne(Print *stream, byte *com, RingStream * ringStream) uint8_t posCount = tto->getPositionCount(); const FSH *todesc = NULL; #ifdef EXRAIL_ACTIVE - // todesc = RMFT2::getTurntableDescription(id); + todesc = RMFT2::getTurntableDescription(id); #endif if (todesc == NULL) todesc = F(""); - StringFormatter::send(stream, F(" %d %d %d"), id, type, pos); + StringFormatter::send(stream, F(" %d %d %d"), id, type, pos, todesc); + for (uint8_t p = 0; p < posCount; p++) { int16_t value = tto->getPositionValue(p); StringFormatter::send(stream, F(" %d"), value); diff --git a/EXRAIL2.h b/EXRAIL2.h index 16fff82..f6c4807 100644 --- a/EXRAIL2.h +++ b/EXRAIL2.h @@ -149,7 +149,7 @@ class LookList { static const FSH * getRosterName(int16_t id); static const FSH * getRosterFunctions(int16_t id); static const FSH * getTurntableDescription(int16_t id); - // static const FSH * getTurntablePositionDescription(int16_t id, uint8_t position); + static const FSH * getTurntablePositionDescription(int16_t turntableId, uint8_t positionId); private: static void ComandFilter(Print * stream, byte & opcode, byte & paramCount, int16_t p[]); diff --git a/EXRAILMacros.h b/EXRAILMacros.h index 68f3bf0..c413989 100644 --- a/EXRAILMacros.h +++ b/EXRAILMacros.h @@ -205,10 +205,14 @@ const FSH * RMFT2::getTurntableDescription(int16_t turntableId) { // Pass to get turntable position descriptions (optional) // #include "EXRAIL2MacroReset.h" // #undef TT_ADDPOSITION -// #define TT_ADDPOSITION(turntable_id,value,description...) 0_DESC(id,description) +// #define TT_ADDPOSITION(turntable_id,value,description...) O_DESC(turntable_id,description) // const FSH * RMFT2::getTurntablePositionDescription(int16_t turntableId, uint8_t positionId) { - +// switch (turntableId) { +// #include "myAutomation.h" +// default:break; +// } +// return NULL; // } // Pass 6: Roster IDs (count)