repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cec: make libudev optional. if libudev is not available on linux, adapter autodetecti...
[deb_libcec.git]
/
src
/
lib
/
AdapterCommunication.cpp
diff --git
a/src/lib/AdapterCommunication.cpp
b/src/lib/AdapterCommunication.cpp
index 3a1cfeb735b022749de36aa61cb18f4622d62d02..54077d6ed776b4b6ef72f0dcc0d76cffd948ab45 100644
(file)
--- a/
src/lib/AdapterCommunication.cpp
+++ b/
src/lib/AdapterCommunication.cpp
@@
-226,9
+226,9
@@
bool CCECAdapterMessage::is_error(void) const
code == MSGCODE_LOW_ERROR ||
code == MSGCODE_RECEIVE_FAILED ||
code == MSGCODE_COMMAND_REJECTED ||
code == MSGCODE_LOW_ERROR ||
code == MSGCODE_RECEIVE_FAILED ||
code == MSGCODE_COMMAND_REJECTED ||
- code ==
MSGCODE_TRANSMIT_LINE_TIMEOUT ||
+ code == MSGCODE_TRANSMIT_LINE_TIMEOUT ||
code == MSGCODE_TRANSMIT_FAILED_LINE ||
code == MSGCODE_TRANSMIT_FAILED_LINE ||
- code ==
MSGCODE_TRANSMIT_FAILED_ACK ||
+ code == MSGCODE_TRANSMIT_FAILED_ACK ||
code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_DATA ||
code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE);
}
code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_DATA ||
code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE);
}
@@
-288,8
+288,8
@@
bool CAdapterCommunication::Open(const char *strPort, uint16_t iBaudRate /* = 38
m_processor->AddLog(CEC_LOG_DEBUG, "connection opened");
//clear any input bytes
m_processor->AddLog(CEC_LOG_DEBUG, "connection opened");
//clear any input bytes
- uint8_t buff[1
024
];
- while (m_port->Read(buff,
sizeof(buff), 500) > 0
) {}
+ uint8_t buff[1];
+ while (m_port->Read(buff,
1, 5) == 1
) {}
if (CreateThread())
{
if (CreateThread())
{
@@
-322,11
+322,15
@@
void *CAdapterCommunication::Process(void)
while (!IsStopped())
{
while (!IsStopped())
{
- ReadFromDevice(50
0
);
+ ReadFromDevice(50);
Sleep(5);
WriteNextCommand();
}
Sleep(5);
WriteNextCommand();
}
+ CCECAdapterMessage *msg;
+ if (m_outBuffer.Pop(msg))
+ msg->condition.Broadcast();
+
return NULL;
}
return NULL;
}