Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Getting "XL_ERR_QUEUE_IS_EMPTY" when connecting to Vector VN1630A

Getting "XL_ERR_QUEUE_IS_EMPTY" when connecting to Vector VN1630A

Scheduled Pinned Locked Moved Unsolved General and Desktop
4 Posts 3 Posters 823 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    vaibhavi
    wrote on 22 May 2021, 11:52 last edited by
    #1

    I am choosing VectorCAN plugin in CAN Bus Example.
    624ecaad-6fec-40c3-9e0c-6d76df5f9224-image.png

    The VN1630A is connected successfully.
    f668f3e0-d18d-47f3-933b-97f824927182-image.png

    But receiving "XL_ERR_QUEUE_IS_EMPTY" error within 2seconds.
    Unable to find the reason. Could anyone help me. Please.
    d0fc6991-0ccb-41ba-ba82-04d6975fbecf-image.png

    1 Reply Last reply
    0
    • S Offline
      S Offline
      Shadow_3102
      wrote on 8 Dec 2021, 03:08 last edited by
      #2

      It does not matter , because the queue is empty.
      And I notice that CAN bus status is Unknown, so can you receive CAN-FD message ?
      I try to receive CAN-FD message but fail, did you encounter this problem ?

      Best Regards

      A 1 Reply Last reply 16 Dec 2021, 11:16
      0
      • S Shadow_3102
        8 Dec 2021, 03:08

        It does not matter , because the queue is empty.
        And I notice that CAN bus status is Unknown, so can you receive CAN-FD message ?
        I try to receive CAN-FD message but fail, did you encounter this problem ?

        Best Regards

        A Offline
        A Offline
        aha_1980
        Lifetime Qt Champion
        wrote on 16 Dec 2021, 11:16 last edited by
        #3

        Hi @Shadow_3102,

        your problem with receiving CAN FD frames seems related to https://forum.qt.io/topic/132636/opensurce-qt6-2-vectorcan-can-not-receive-and-send-can-fd-message

        Regarding the "XL_ERR_QUEUE_IS_EMPTY", well that should not appear as error in the status line, agreed.

        I also wonder why the CAN bus status is Unknown. Unfortunately I don't have Vector hardware to check.

        Regards

        Qt has to stay free or it will die.

        S 1 Reply Last reply 17 Dec 2021, 01:19
        0
        • A aha_1980
          16 Dec 2021, 11:16

          Hi @Shadow_3102,

          your problem with receiving CAN FD frames seems related to https://forum.qt.io/topic/132636/opensurce-qt6-2-vectorcan-can-not-receive-and-send-can-fd-message

          Regarding the "XL_ERR_QUEUE_IS_EMPTY", well that should not appear as error in the status line, agreed.

          I also wonder why the CAN bus status is Unknown. Unfortunately I don't have Vector hardware to check.

          Regards

          S Offline
          S Offline
          Shadow_3102
          wrote on 17 Dec 2021, 01:19 last edited by
          #4

          @aha_1980 hi, aha_1980, the topic you metioned is posted by me , hahaha .

          And you can see my latest comment in the topic to know why the queue is empty.

          In conclude, when receiving can fd message, Qt use wrong way to parse it .

          You can see following code in startRead() in vectorcanbackend.cpp in Qt source file.

          Wrong usages:

          QCanBusFrame frame(**msg.id** & ~XL_CAN_EXT_MSG_ID,
                  frame.setTimeStamp(QCanBusFrame::TimeStamp::fromMicroSeconds(event.timeStamp / 1000));
                  frame.setExtendedFrameFormat(**msg.id** & XL_CAN_RXMSG_FLAG_EDL);
                  frame.setFrameType((**msg.flags** & XL_CAN_RXMSG_FLAG_RTR)
                                      ? QCanBusFrame::RemoteRequestFrame
                                      : (**msg.flags** & XL_CAN_RXMSG_FLAG_EF)
                                          ? QCanBusFrame::ErrorFrame
                                          : QCanBusFrame::DataFrame);
          

          Correct usages:

          QCanBusFrame frame(**msg.canId** & ~XL_CAN_EXT_MSG_ID,
                  frame.setTimeStamp(QCanBusFrame::TimeStamp::fromMicroSeconds(event.timeStampSync / 1000));
                  frame.setExtendedFrameFormat(**msg.canId** & XL_CAN_RXMSG_FLAG_EDL);
                  frame.setFrameType((**msg.msgFlags** & XL_CAN_RXMSG_FLAG_RTR)
                                      ? QCanBusFrame::RemoteRequestFrame
                                      : (**msg.msgFlags** & XL_CAN_RXMSG_FLAG_EF)
                                          ? QCanBusFrame::ErrorFrame
                                          : QCanBusFrame::DataFrame);
          

          BRs//Hengtai

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved