/* public CANMessage waitForMessage(uint a_canID, int a_timeout) { CANMessage retMsg; m_canMessage.setID(0); // init so we cannot receive the same frame twice <GS-10022010> lock (m_canMessage) { m_waitMsgID = a_canID; } m_resetEvent.WaitOne(a_timeout, true); lock (m_canMessage) { retMsg = m_canMessage; } return retMsg; } */ public override void handleMessage(CANMessage a_message) { lock (m_canMessage) { if (a_message.getID() == m_waitMsgID) { m_canMessage.setData(a_message.getData()); m_canMessage.setFlags(a_message.getFlags()); m_canMessage.setID(a_message.getID()); m_canMessage.setLength(a_message.getLength()); m_canMessage.setTimeStamp(a_message.getTimeStamp()); messageReceived = true; m_resetEvent.Set(); } } }