diff --git a/DCCEXParser.cpp b/DCCEXParser.cpp index 530d224..7a61118 100644 --- a/DCCEXParser.cpp +++ b/DCCEXParser.cpp @@ -88,7 +88,7 @@ Print *DCCEXParser::stashStream = NULL; RingStream *DCCEXParser::stashRingStream = NULL; byte DCCEXParser::stashTarget=0; -// This is a JMRI command parser, one instance per incoming stream +// This is a JMRI command parser. // It doesnt know how the string got here, nor how it gets back. // It knows nothing about hardware or tracks... it just parses strings and // calls the corresponding DCC api. @@ -159,9 +159,12 @@ int16_t DCCEXParser::splitValues(int16_t result[MAX_COMMAND_PARAMS], const byte return parameterCount; } -FILTER_CALLBACK DCCEXParser::filterCallback = 0; +extern __attribute__((weak)) FILTER_CALLBACK myFilter(); +FILTER_CALLBACK DCCEXParser::filterCallback = myFilter; FILTER_CALLBACK DCCEXParser::filterRMFTCallback = 0; AT_COMMAND_CALLBACK DCCEXParser::atCommandCallback = 0; + +// deprecated void DCCEXParser::setFilter(FILTER_CALLBACK filter) { filterCallback = filter; diff --git a/version.h b/version.h index 70f913d..c03f77d 100644 --- a/version.h +++ b/version.h @@ -12,6 +12,7 @@ // Automatic ALIAS(name) // Command Parser now accepts Underscore in Alias Names // 4.0.2 EXRAIL additions: +// myFilter automatic detection (no need to call setFilter) // FIX negative route ids in WIthrottle problem. // IFRED(signal_id), IFAMBER(signal_id), IFGREEN(signal_id) // commands