diff -r ea38efeeb7b3 -r 6aa393418fb3 tool/Command.cpp --- a/tool/Command.cpp Fri May 07 15:26:26 2010 +0200 +++ b/tool/Command.cpp Tue May 11 13:57:58 2010 +0200 @@ -371,14 +371,22 @@ string Command::alStateString(uint8_t state) { - switch (state) { - case 1: return "INIT"; - case 2: return "PREOP"; - case 3: return "BOOT"; - case 4: return "SAFEOP"; - case 8: return "OP"; - default: return "???"; - } -} - -/****************************************************************************/ + string ret; + + switch (state & EC_SLAVE_STATE_MASK) { + case 1: ret = "INIT"; break; + case 2: ret = "PREOP"; break; + case 3: ret = "BOOT"; break; + case 4: ret = "SAFEOP"; break; + case 8: ret = "OP"; break; + default: ret = "???"; + } + + if (state & EC_SLAVE_STATE_ACK_ERR) { + ret += "+ERROR"; + } + + return ret; +} + +/****************************************************************************/