- switch(msg.message())
- {
- case MSGCODE_NOTHING:
- m_controller->AddLog(CEC_LOG_DEBUG, "MSGCODE_NOTHING");
- break;
- case MSGCODE_TIMEOUT_ERROR:
- case MSGCODE_HIGH_ERROR:
- case MSGCODE_LOW_ERROR:
- {
- if (msg.message() == MSGCODE_TIMEOUT_ERROR)
- logStr = "MSGCODE_TIMEOUT";
- else if (msg.message() == MSGCODE_HIGH_ERROR)
- logStr = "MSGCODE_HIGH_ERROR";
- else
- logStr = "MSGCODE_LOW_ERROR";
-
- int iLine = (msg.size() >= 3) ? (msg[1] << 8) | (msg[2]) : 0;
- uint32_t iTime = (msg.size() >= 7) ? (msg[3] << 24) | (msg[4] << 16) | (msg[5] << 8) | (msg[6]) : 0;
- logStr.AppendFormat(" line:%i", iLine);
- logStr.AppendFormat(" time:%u", iTime);
- m_controller->AddLog(CEC_LOG_WARNING, logStr.c_str());
- *bError = true;
- }
- break;
- case MSGCODE_FRAME_START:
- {
- if (bProcessMessages)
- {
- logStr = "MSGCODE_FRAME_START";
- m_currentframe.clear();
- if (msg.size() >= 2)
- {
- logStr.AppendFormat(" initiator:%u destination:%u ack:%s %s", msg.initiator(), msg.destination(), msg.ack() ? "high" : "low", msg.eom() ? "eom" : "");
- m_currentframe.initiator = msg.initiator();
- m_currentframe.destination = msg.destination();
- m_currentframe.ack = msg.ack();
- m_currentframe.eom = msg.eom();
- }
- m_controller->AddLog(CEC_LOG_DEBUG, logStr.c_str());
- }
- else
- {
- m_frameBuffer.Push(msg);
- }
- }
- break;
- case MSGCODE_FRAME_DATA:
- {
- if (bProcessMessages)
- {
- logStr = "MSGCODE_FRAME_DATA";
- if (msg.size() >= 2)
- {
- uint8_t iData = msg[1];
- logStr.AppendFormat(" %02x", iData);
- m_currentframe.push_back(iData);
- m_currentframe.eom = msg.eom();
- }
- m_controller->AddLog(CEC_LOG_DEBUG, logStr.c_str());
- }
- else
- {
- m_frameBuffer.Push(msg);
- }