09-04-2024 01:29 PM
Hello
I'm using the can api developed by Hoovahh, it works correctly.
The problem is that actually I'm sending over 200 can messages, some messages has differents cycle time so I'm using DQMH to launch different clonable modules depending the cycle time. The problem is due the quantity of messages sent my vector can case has an error (XL QUEUE IS FULL) so I've added a logic reading the error after send the message, if I receive the error mentioned before, I send a Flush TX (From Vector Hoovahh API) but the queue continues full. My doubt is the following, an additional step is required to do the flush works correctly?
09-04-2024 07:24 PM
I use that library and i have a similar use case for the Flush TX Buffer. Sometimes the device I'm testing is not connected so the TX buffer gets full. I do think this function works but i have do a 'sledgehammer to crack a nut' or 'catch all fix' I call the flush, then I call CAN stop, CAN close, CAN open, CAN start. However this may have been to overcome other issues. I have other cases I just use CAN flush TX buffer and I think it works as it should. Have a look in the VI. It should call the function vxlapi.dll xlCanFlushTransmitQueue-2. Just make sure you are not wiring the error in terminal on this vi of course, as you have an error coming out of the write!