Пример #1
0
/*        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;
 *      }
 */
        override public 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());
                    m_resetEvent.Set();
                }
            }
        }