drivers/can_ixxat_win32/ixxat.cpp
changeset 365 9b76e0881beb
parent 267 96c688ebcde7
child 384 83793fc7ce48
equal deleted inserted replaced
364:17edd8a028fa 365:9b76e0881beb
   125    {
   125    {
   126    if (m_BoardHdl == 0xFFFF)
   126    if (m_BoardHdl == 0xFFFF)
   127       return true; // true -> NOT OK
   127       return true; // true -> NOT OK
   128    long res = VCI_ERR;
   128    long res = VCI_ERR;
   129    if (m->rtr == NOT_A_REQUEST)
   129    if (m->rtr == NOT_A_REQUEST)
   130       res = VCI_TransmitObj(m_BoardHdl, m_TxQueHdl, m->cob_id.w, m->len, const_cast<unsigned char*>(m->data));
   130       res = VCI_TransmitObj(m_BoardHdl, m_TxQueHdl, m->cob_id, m->len, const_cast<unsigned char*>(m->data));
   131    else
   131    else
   132       res = VCI_RequestObj(m_BoardHdl, m_TxQueHdl, m->cob_id.w, m->len);
   132       res = VCI_RequestObj(m_BoardHdl, m_TxQueHdl, m->cob_id, m->len);
   133    return (res == false); // false -> OK 
   133    return (res == false); // false -> OK 
   134    }
   134    }
   135 
   135 
   136 
   136 
   137 bool IXXAT::receive(Message *m)
   137 bool IXXAT::receive(Message *m)
   139    if (m_BoardHdl == 0xFFFF)
   139    if (m_BoardHdl == 0xFFFF)
   140       return false;
   140       return false;
   141    VCI_CAN_OBJ obj;
   141    VCI_CAN_OBJ obj;
   142    if (m_RX_Que.extract_top(obj))
   142    if (m_RX_Que.extract_top(obj))
   143       {
   143       {
   144       m->cob_id.w = obj.id;
   144       m->cob_id = obj.id;
   145       m->len = obj.len;
   145       m->len = obj.len;
   146       m->rtr = (obj.rtr == VCI_RX_BUF) ? NOT_A_REQUEST : REQUEST;
   146       m->rtr = (obj.rtr == VCI_RX_BUF) ? NOT_A_REQUEST : REQUEST;
   147       if (m->rtr == NOT_A_REQUEST)
   147       if (m->rtr == NOT_A_REQUEST)
   148          ::memcpy(m->data, obj.a_data, m->len);
   148          ::memcpy(m->data, obj.a_data, m->len);
   149       return true;
   149       return true;