
— 39 —
00:30.310 RX CAN1 FILTER 01, 0x09FD0205 1A1A018544FAFFFF
00:30.310 LG CAN1 FILTER 01, INT32 19400
00:30.310 TX CAN2 FILTER 01, 0x09FD0205 1A1A018544FAFFF
00:30.319 !! FUNC Execution timeout (3000 ms)
"RX" and "TX" records designate received and sent CAN frames followed by indication of interface, number
of the filter which had a match and CAN frame ID and payload. "LG" record is created by the
log()
function.
"!!" record is created on runtime errors.
You can record each message received by the Device into a TEXT log using the following "catch-all" filter:
match(ANY,0,0)
{
send()
}
Do not forget to delete or comment out all
log()
function calls after debugging session is finished. Even if
DIAGNOSTICS is not enabled,
log()
will still be called, resulting in a waste of CPU resources.
If LOG_FORMAT is set to BINARY, .CAN files will be recorded instead. Those files will contain CAN bus
data only. All CAN frames received on CAN1 and CAN2 interfaces will be recorded, regardless of the filters
matches. In contrast to a TEXT log, you cannot use
log()
function to save a value to a BINARY log file.
BINARY logs may be opened, viewed, converted or exported to other formats with our free CAN Log Viewer
software, which works on Microsoft Windows, Linux and macOS. You can download it from our web site.
The .CAN file format is open and is well described in the CAN Log Viewer documentation.
Program code is compiled into a byte code and then executed in a Device "virtual machine". Usually you do
not need to worry about program to "assembler code" translation, but if you like to know what is under the
hood just add setting:
DECOMPILER=1
to your program, upload it to the Device and you will get YDNBSAVE.CFG where every line of your code is
accompanied by disassembled byte code.