Functional Blocks

CANCapture uses a data flow chart as its centralized method for controlling CAN traffic throughout the program. The flow chart consists of an assortment of blocks that can be wired together in any way; each block has a particular function in regards to how it responds to both incoming and outgoing CAN data.

The ECOM function block is used to represent an ECOM device physically connected to the local computer. As each message (or error frame) is received from the CAN bus, it is sent to the output port of the block. If a trace is connected to the input port of the ECOM block, then each incoming message that is received will be transmitted on the respective CAN bus.

The 11-bit and 29-bit Transmitter Blocks are used to generate messages on the CAN network. Each transmitter can be configured to send pre-defined messages after a certain time offset, at a recurring interval, or after a hot-key is pressed by the user. Standard CAN and J1939 packets are both supported along with all relevant fields.

The user panel block is designed specifically to display and monitor real-time data using a variety of fully customizable gauges, thermometers, number sliders, and text labels. The panel consists of a simple form editor that allows gauge items to be added and linked to any variable in the CAN database. Every aspect of the items can be configured to create a unique appearance; custom and pre-designed themes are also available.

The Live Replay Block is used to playback CAN sessions that were previously captured and saved using a Recorder Block. The recorder simply saves every received CAN message to a user specified file so that it can be replayed at a later time. The live replay allows real-time playback, preserving all original timestamps in the process.

The graph block is used to plot any variable in the CAN database; as each variable is received, it is plotted in real-time in the graph window. The graph was developed completely from scratch with the sole purpose of being able to handle streaming data with a moving time axis.

The CCP block is used to test and diagnose a CAN Calibration Protocol (CCP) implementation. The block supports all the most fundamental CCP commands: CONNECT, GET_CCP_VERSION, EXCHANGE_ID, GET_SEED, UNLOCK (CAL resource), SET_MTA, DOWNLOAD, UPLOAD, and DISCONNECT.

The Raw Capture block displays a real-time list of every CAN message (or error message) that is received by its input port. Aside from showing all the relevant information, if an incoming packet is defined in the current CAN database, the packet will be highlighted using the assigned color-code.

The Packet Filter Block is used to selectively forward incoming CAN packets to the blocks output port. Each filter can be configured as either a "Pass Filter," where only matching packets get forwarded, or as a "Reject Filter," where all messages are forwarded except those that match. Packets can be added, removed, enabled, or disabled, all while the capture is still "live".

The Script Block is used to write customized code that can interact with incoming and outgoing packets. The C/C++ like syntax can be easily learned, even by non-programmers, based on the many examples and documentation that is available. If a special function is needed and none of the other blocks can do it, the scripting will be able to fill the gap.

The Packet Watch Block is used to monitor the statistics of individual packets received on the CAN network. It can be used to measure the average period, total message count, message rate, maximum period, minimum period, and last time received for any message type. All measurements are very high-precision because hardware timestamps from the ECOM device are used.

The Variable Watch Block is used to monitor the value and stats of individual CAN variables. The watch list reports the current value as well as the average received period, total count, and last received timestamp for each chosen variable. The block also supports exporting all variables to a Microsoft Excel CSV file for easy post-analysis.

The Bus Stats Block is used to report statistics for all CAN messages that are received. It displays information about the total packet counts, error counts, multipacket counts, data transmission rates, bus load, capture time, and the capture state.

The J1939 Diagnostic Block is used to display diagnostic trouble codes (DTCs) and other fault-code information for J1939 based systems. The diagnostic window displays the Malfunction Indicator Lamp (MIL), Red Stop Lamp, Amber Warning Lamp, and Protect Lamp states for all systems on the CAN network. It also has the ability to display an interactive list of all active, pending, and historic DTCs as well as freeze frame data and information.