fixes for get+hex
This commit is contained in:
+10
-8
@@ -228,23 +228,26 @@ string BaseLoop::decodeMessage(const string& data)
|
|||||||
|
|
||||||
SymbolString master;
|
SymbolString master;
|
||||||
istringstream input;
|
istringstream input;
|
||||||
message->prepareMaster(m_ownAddress, master, input);
|
result_t ret = message->prepareMaster(m_ownAddress, master, input);
|
||||||
|
if (ret != RESULT_OK) {
|
||||||
|
L.log(bas, error, " prepare message: %s", getResultCode(ret));
|
||||||
|
result << getResultCode(ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
L.log(bas, trace, " msg: %s", master.getDataStr().c_str());
|
L.log(bas, trace, " msg: %s", master.getDataStr().c_str());
|
||||||
|
|
||||||
// send message
|
// send message
|
||||||
SymbolString slave;
|
SymbolString slave;
|
||||||
result_t ret = m_busHandler->sendAndWait(master, slave);
|
ret = m_busHandler->sendAndWait(master, slave);
|
||||||
|
|
||||||
if (ret == RESULT_OK)
|
if (ret == RESULT_OK)
|
||||||
// decode data
|
// decode data
|
||||||
ret = message->decode(master, slave, result);
|
ret = message->decode(pt_slaveData, slave, result);// TODO reduce to requested variable only
|
||||||
|
|
||||||
if (ret != RESULT_OK) {
|
if (ret != RESULT_OK) {
|
||||||
L.log(bas, error, " %s", getResultCode(ret));
|
L.log(bas, error, " %s", getResultCode(ret));
|
||||||
result << getResultCode(ret);
|
result << getResultCode(ret);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
result << result.str(); // TODO reduce to requested variable only
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
result << "ebus command not found";
|
result << "ebus command not found";
|
||||||
@@ -347,7 +350,7 @@ string BaseLoop::decodeMessage(const string& data)
|
|||||||
ostringstream msg;
|
ostringstream msg;
|
||||||
msg << hex << setw(2) << setfill('0') << static_cast<unsigned>(m_ownAddress);
|
msg << hex << setw(2) << setfill('0') << static_cast<unsigned>(m_ownAddress);
|
||||||
msg << cmd[1];
|
msg << cmd[1];
|
||||||
SymbolString master(cmd[1]);
|
SymbolString master(msg.str());
|
||||||
L.log(bas, trace, " msg: %s", master.getDataStr().c_str());
|
L.log(bas, trace, " msg: %s", master.getDataStr().c_str());
|
||||||
|
|
||||||
// send message
|
// send message
|
||||||
@@ -362,8 +365,7 @@ string BaseLoop::decodeMessage(const string& data)
|
|||||||
L.log(bas, error, " %s", getResultCode(ret));
|
L.log(bas, error, " %s", getResultCode(ret));
|
||||||
result << getResultCode(ret);
|
result << getResultCode(ret);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
result << result.str(); // TODO reduce to requested variable only
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user