Code: Select all
CCPConnection::WaitForRecvEvent()
{
HANDLE receiveHandle = CreateEvent(NULL, FALSE, FALSE, NULL);
DWORD result = 0;
DWORD temp = 0;
//set PCAN_RECEIVE_EVENT and assign it a handle
CAN_SetValue(m_can_handle, PCAN_RECEIVE_EVENT, &receiveHandle, sizeof(receiveHandle));
do {
result = WaitForSingleObject(receiveHandle, INFINITE);
if(result == WAIT_OBJECT_0) {
qDebug() << "Got message-object.";
ReceiveMessages();
}
} while(m_measurement_running);
CAN_SetValue(m_can_handle, PCAN_RECEIVE_EVENT, &temp, sizeof(temp));
}
Code: Select all
void
CCPConnection::ReceiveMessages()
{
TCCPResult result;
TCCPMsg message;
do {
result = CCP_ReadMsg(m_ccp_handle,
&message);
if ((result & 0x7FFFFFFF) == PCAN_ERROR_QRCVEMPTY) {
qDebug() << "Empty queue";
continue;
} else if (CCP_ERROR_ACKNOWLEDGE_OK != result) {
Debug(result, "CCP_ReadMsg");
} else {
qDebug() << "Got message for PID:" << message.Data[0];
qDebug() << message.Data[1]
<< QString::number(message.Data[2], 16)
<< QString::number(message.Data[3], 16)
<< QString::number(message.Data[4], 16)
<< QString::number(message.Data[5], 16)
<< QString::number(message.Data[6], 16)
<< QString::number(message.Data[7], 16);
}
} while (true);
}
With my code I am able to read single measurements using CCP_Upload, so I guess my initialization and connection-setup works fine.
Also due to the correct output in PCAN-View the daqlist seems to get initialized and started correctly.
Do you have any idea on what am I doing wrong? Do I have to start the message-queue first or something?
Thanks in advance!