Solution
VeriStand 2019 or LaterVeriStand 2019 supports XNET implementation that supports CAN FD and CAN FD with Baud Rate Switching I/O modes. This implementation also allows calculating and using custom baud rates for a CAN interface.
VeriStand 2018 SP1 or EarlierFor VeriStand 2018 SP1 or earlier, the native XNET custom device does not support custom baud rate entries for CAN FD. The workaround below only works for setting custom baud rate for normal CAN.
VeriStand use a U32 data type to hold the XNET baud rate values. XNET deprecated the 32 bit version of the baud rate property in 16.0 and introduced a 64 bit version. Normally, this change is transparent as an old 32 bit value will be implicitly cast to the 64 bit value and work fine. The VeriStand use case is an exception.
When you are generating the custom baud rate in the database editor or Bus Monitor, it generates a 64 bit value. You have to translate this 64 bit value to the equivalent 32 bit version bit by bit. Check
Interface:64bit Baud Rate - NI-XNET Help on how to interpret the custom baud rate as a bit field. You can use the attached VI to do the conversion.
For normal CAN, you can place the decimal representation of this value in the
Baud rate control in system explorer. For example, for 32-bit value of
0xC4970032, you use
0d3298230322.
When I/O mode is CAN FD + BRS, system definition only has the FD portion. VeriStand will use the normal non-FD baud rate directly from the database and will not let you edit it in the custom device. You must use the custom baud rate for the normal section directly into the XML of the fibex file, as shown below: