1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2025-07-28 09:53:45 +02:00

smaller code

This commit is contained in:
Harald Barth
2021-11-26 19:32:45 +01:00
parent 8a17965cd2
commit 43538d3b32
2 changed files with 31 additions and 25 deletions

View File

@@ -958,18 +958,20 @@ void DCCEXParser::callback_R(int16_t result)
commitAsyncReplyStream();
}
void DCCEXParser::callback_Rloco(int16_t result)
{
if (result <= 0)
StringFormatter::send(getAsyncReplyStream(), F("<r ERROR>\n"));
else if (result & LONG_ADDR_MARKER ) { //long addr
result = result & ~LONG_ADDR_MARKER;
if (result > HIGHEST_SHORT_ADDR) //real long
StringFormatter::send(getAsyncReplyStream(), F("<r %d>\n"), result);
void DCCEXParser::callback_Rloco(int16_t result) {
const FSH * detail;
if (result<=0) {
detail=F("<r ERROR %d>\n");
} else {
bool longAddr=result & LONG_ADDR_MARKER; //long addr
if (longAddr)
result = result^LONG_ADDR_MARKER;
if (longAddr && result <= HIGHEST_SHORT_ADDR)
detail=F("<r LONG %d UNSUPPORTED>\n");
else
StringFormatter::send(getAsyncReplyStream(), F("<r LONG %d UNSUPPORTED>\n"), result);
} else // short addr
StringFormatter::send(getAsyncReplyStream(), F("<r %d>\n"), result);
detail=F("<r %d>\n");
}
StringFormatter::send(getAsyncReplyStream(), detail, result);
commitAsyncReplyStream();
}