Your example VI uses the "Transmit Mode" property that is not supported for USB hardware. You should use the "Transceiver Mode" property to initiate a local wakeup. 😉
Thanks for the overlook. However, if I change it to Transciever Mode with a value of 2 for wakeup (or any value) I now get the following error when the ncSetAttr.vi runs:
Error -1074388987 occurred at NI-CAN Configure
Network Interface Object
NI-CAN: (Hex 0xBFF62005) The value of one or more properties (attributes) is invalid. This error occurs for Set (one value bad) or Initialize/Config (one or more values bad). Solution: Consult the Programmer Reference to verify the values of each property.
I looked at the help and the values allowed are 0-3 so not sure why it is generating an error?
The CAN BaudRate control on the front panel is determining the baud rate for your application. I have modified your code and it is working now.
USB-847x CAN interfaces feature the industry-standard Philips SJA1000
CAN controller, which implements ISO 11898 CAN functionality. The
SJA1000 offers additional features to aid in system development,
including listen-only mode, sleep/wakeup mode, error counter access,
and self-reception (echo) mode. USB-847x CAN interfaces recognize
standard (11-bit) and extended (29-bit) arbitration IDs and are compatible
with J1939 networks.
To set your Low Speed/fault tolerant module to sleep just use the set attribute function with transceiver mode "sleep" (1). From there you have two ways to wakeup the transceiver again. The Local wakeup would be the set attribute function call with transceiver mode "normal" (0). The remote wakeup would be a transmitted frame from any other connected CAN node.
See the function help for the transceiver mode property for more information.