CAN messages lost

  • Hello,
    I have observed that when I’m sending several CAN messages, if another CAN message arrives during the transmission of my CAN messages, the following CAN message to be sent is lost.
    The function "DeviceIoControl( m_hCAN, IOCTL_CAN_WRITE_TRANSMIT_DATA, &transmit, sizeof(CAN_TRANSMIT_DATA), NULL, 0, &dw, NULL );" returns a successful value, but I can observe that the message has not been sent.
    So... there is any way to disable the CAN read during my transmissions or any way to manage this problem?
    Thanks in advance,
    Miguel

  • Hm, strange this shoud not happen!
    Have you a bit more details?
    Do you use different theads for read/write? When you protect them by a critical section the problem disappaers?

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Ok, there is bug in the driver!
    You can workaround these bug by set „UseTXIRQ“ to zero.
    Use ndcucfg for do this:

    Code
    1. reg open \drivers\builtin\can
    2. reg set value UseTXIRQ dword 0
    3. reg save
    4. reboot

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Ok, Thanks!
    But trying to set this parameters, I have erased accidentally the flash disk (by pressing E in the Eboot).
    Now the NTDCU10 can't boot the kernel from flash... So, how can i download the kernel to the NETDCU again? I have download the version NK10_CF2_100608 from your webpage, but I don't know how to download the kernel to the flash? It seems that it can be done via ethernet or USB (prefered) but i don't know how... How can i do that?
    Thanks in advance,
    Miguel

  • You have to press "O"... for disable serial debug output :-(
    Or use ndcucfg from commandline (cmd.exe, telnet.exe)


    Nevertheless to download kernel via USB device is easy:
    Please download NetDCUUSB Loader from Toosl section under http://www.fs-net.de/download/bin/.
    While installation a ReadMe is put into the install directory. Follow the step int the ReadMy.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.