CANNY CAN(LIN) monitor

Canny CAN/LIN Monitor (ccm.exe) is a standalone utility included in the IDE CannyLab. The utility uses your CANNY controller as an interface converter and allows you to receive CAN and LIN data, visually analyze it on your PC monitor and use it for further processing. In CAN mode it also enables you to transmit data over the CAN bus.

Preparing a controller for use as a CAN/LIN monitor

To use your controller as a CAN(LIN)-to-USB interface converter, you need to first upload specialized firmware to the controller, using the automatic controller software upload utility that ships with the CannyLab IDE.

This specialized firmware is located in a sub-folder of the CannyLab install directory:

  • CANNY 7: \ccx\canny7\c7canmon_vXXX.exe
  • CANNY 7.2 Duo: \ccx\canny72duo\c72duocanmon_vXXX.exe
  • CANNY 5.3 Pico: \ccx\canny53pico\c53picocanmon_vXXX.exe

where XXX is the up-to-date version of specialized firmware

Preparing a CANNY 7 controller

Note: Canny 7.2 Duo and Canny 5.3 Pico can be prepared in the exact same way.

  • Launch c7canmon_vXXX.exe;
  • Carefully read the information in the “Comment” panel to the left, use the scroll bar if necessary;
Software upload utility
  • Open your controller’s housing and connect it to the PC using a USB-to-miniUSB cable. If necessary wait for your OS to install the required drivers;
Controller housing and connection process

If the connection was successful, your CANNY 7 controller’s serial number, vendor identifier and information about the presence of installed firmware will appear in the status bar. The “Write” button will become available.

Firmware upload - initial stage
  • Press the “Write” button and wait until the firmware is successfully uploaded into the controller;
Firmware upload - in progress/successful upload
  • Disconnect the controller from your PC.

After successfully preparing CANNY7 for use as a CAN(LIN) monitor, you will need to properly connect it to the data bus you will be working with.

ATTENTION! In order for CANNY CAN(LIN) monitor to properly work with LIN, the GND pins of LIN devices, CANNY7 and the PC all need to be securely connected with each other.

Connecting to the CAN bus

Note: The example uses a CANNY 7 controller, but the process of connecting CANNY 7.2 Duo and CANNY 5.3 Pico is almost identical. All important differences will be outlined bellow.

The initial state: the controller is disconnected from the PC, power and the data bus(the 4 pin connector is not connected).

  • Connect the wires for the 4-pin connector: red wire - +12V, black wire - GND, gray wire - CAN-H, blue wire - CAN-L;
CAN bus connection diagram

Note: The wire color arrangement for CANNY 7.2 Duo and CANNY 5.3 Pico is identical.

  • Connect the 4-pin connector to the controller. The two-color embedded controller LED will start quickly cycling colors;
  • Connect the controller to the PC, using a USB-to-miniUSB wire (not shipped with the controller);
  • Launch CannyLab and choose CAN/LIN monitor in the main menu or launch ’‘’ccm.exe’’’ directly from the root folder of the CannyLab IDE installation;
  • Press the Options button in Canny CAN/LIN monitor. Select CAN as the mode of operation, then select the expected data transfer rate of the CAN data bus you are working with from the available options in the drop-down list;

Note: The specific LED blinking patterns of CANNY 5.3 Pico and CANNY 7.2 Duo may differ from CANNY 7.

CAN transfer rate selection dialog
CAN transfer rate drop-down menu

If the device was connected correctly, the status bar in CANNY CAN(LIN) monitor will display a message reporting a successful connection or information about the CAN bus connection.

Status bar displaying a successful connection

If the CAN bus is active, the control panel will contain CAN data, grouped by message identifiers. The log displays received messages in chronological order.

Log while data is being transferred via the CAN bus

If connection between CANNY7 and CANNY CAN(LIN) monitor is interrupted or cannot be established, an error message will appear.

Connection error message

Connecting to the LIN bus

Note: The example uses a CANNY 7 controller, but the process of connecting CANNY 7.2 Duo and CANNY 5.3 Pico is almost identical. All important differences will be outlined bellow.

The initial state: the controller is disconnected from the PC, power and the data bus(the 4 pin connector is not connected).

  • Connect the wires for the 4-pin connector: red wire - +12V, black wire - GND, gray and blue wires should remain unconnected;
  • Connect the wires for the 3-pin connector: white wire – LIN bus, green and brown wires should remain unconnected;
LIN bus connection diagram

Important note: The wire color arrangement for connecting the LIN monitor to CANNY 5.3 Pico is identical to that of CANNY7. For CANNY 7.2 Duo, the wire colors are identical, but the LIN bus is connected to the green wire/first terminal of the X3 contact, rather than the white wire/second terminal.

  • Connect the 4-pin connector to the controller. The embedded two-color LED will start cycling colors;
  • Connect the 3-pin connector to the controller;
  • Connect the controller to the PC, using a USB-to-miniUSB cable;
  • Launch CannyLab and choose CAN/LIN monitor in the main menu or launch ’‘’ccm.exe’’’ directly from the root folder of the CannyLab IDE installation;
  • Press the Options button in Canny CAN/Lin monitor. Select CAN as the mode of operation, then select the expected data transfer rate of the CAN data bus you are working with from the available options in the drop-down list.

Note: The specific LED blinking patterns of CANNY 5.3 Pico and CANNY 7.2 Duo may differ from CANNY 7.

LIN transfer rate selection dialog
LIN transfer rate drop-down menu

If the device was connected correctly, the status bar in CANNY CAN(LIN) monitor will display a message reporting a successful connection or information about the CAN bus connection.

Status bar displaying a successful connection

If the LIN bus is active, the control panel will contain LIN data, grouped by message identifiers. The log displays received messages in chronological order.

Log while data is being transferred via the LIN bus

ATTENTION! Canny Monitor shows the value of the 6-bit ID LIN message identifier, NOT the 8-bit PID that contains automatically calculated checksum bits alongside the identifier. PID is frequently confused for ID.’

ATTENTION! While working with the LIN bus CANNY CAN(LIN) monitor functions as a SLAVE-node for the bus. Automatic baud-rate functionality is implemented in the application. If the Auto-baud option is activated and CANNY CAN(LIN) monitor is configured for 9.6 kbit/s, it will still properly receive higher(10.5 kbit/s, 19.2 kbit/s) rate transmissions. However, if the monitor is configured for one of the higher rates, receiving data at a lower rate is impossible. If the Auto-baud option is deactivated, the monitor can only receive messages at the data transfer rate of the LIN bus.

If connection between CANNY7 and CANNY CAN(LIN) monitor is interrupted or cannot be established, an error message will appear.

Connection error message

Additional operating mode parameters in Canny CAN/LIN Monitor

Additional parameters are accessible in the Options menu.

CAN bus listen-only mode.

While working with the CAN bus you can normally send messages into the CAN network. The controller also sends a special ACK (acknowledgement) signal back into the CAN network in response to each received message. Tick the “Listen only” checkbox under the transfer rate to switch your controller into a special listen-only mode.

In this mode, the controller doesn’t send ACK signals when receiving messages and you can’t send messages by hand. This means that the CAN monitor becomes an entirely passive device that is invisible to the CAN network and cannot influence any devices connected to the network.

ATTENTION! Sending messages in listen-only mode is not possible.

Activating CAN listen-only mode in the options

LIN auto-baud mode

Auto-baud mode lets Canny Monitor automatically control data receive rate. When auto-baud mode is activated Canny Monitor can receive data at rates higher than the expected LIN bus rate, by automatically changing the data receive rate. When deactivated, Canny Monitor can only receive data from the LIN bus if the LIN bus rate in the settings and the actual LIN bus rate match. This mode is activated by default.

Note: This mode doesn’t let you receive data at rates lower than what you’ve set in the settings.

Activating LIN auto-baud mode in the options

Canny Monitor hotkeys

Hotkey description.
Key Description
Up Moves the cursor/scroll active panel up. Show an older message sent via the Command Line
Down Moves the cursor/scroll active panel down. Show a newer message sent via the Command Line
Tab Changes the active panel of the window in the following cyclic order: Control PanelLogCommand lineSend Data buttonControl Panel
Delete Excludes the selected message identifiers from being logged. Deactivates the selected filters in the Control Panel, stops data with selected message identifiers from being logged in the Log
Space Inverts the activation status of message filters in the Control Panel for all selected identifiers
Pause Temporarily stops displaying incoming data on the Control Panel and logging it in the Log. Resume both by pressing Pause again. Does not impact the connection.
Ctrl+A Highlights all contents in the active panel
Ctrl+C
Ctrl+Ins
Copies the selected Log entries to the OS clipboard
ESC Stops data transfer to the monitor and terminates the connection

Canny Monitor Main Window

The main window of Canny Monitor is divided into 6 areas:

  • Main Menu;
  • Toolbar;
  • Control Panel;
  • Log;
  • Command Line;
  • Status bar.
Appearance of the Main Window while actively receiving data in CAN mode

Main Menu

The topmost bar of the interface is the menu bar. It consists of 4 sub-menus, which are used for configuring Canny Monitor.

File menu

The File menu contains commands for saving the Log and exiting the application.

File menu
File menu options
Option Description
Save Saves the current Log to a text file
Exit Exits the program

Edit menu

The Edit menu contains basic editing commands.

Edit menu
Edit menu options
Option Description
Copy Copies the selected text fragment to the OS clipboard
Select All Selects all contents in the active panel

View menu

The View menu contains display options.

View menu
View menu options
Option Hotkey Description
Toolbar Toggles Toolbar visibility
Panel Toggles Control Panel visibility
Log Toggles Log visibility
Command Line Toggles Command Line visibility
Hold Highlights Toggles the Hold Highlights mode
Reset Highlights Resets the currently held highlights in the Hold Highlights mode
Reg Toggles the CannyLab register display mode for the Control Panel
Hex Displays Control Panel data in base 16
Dec Displays Control Panel data in base 10
Bin Displays Control Panel data in base 2. All three options are mutually exclusive
Zoom in ctrl+ “+” Increases font size in the Log and Control Panel
Zoom out ctrl+ “-” Decreases font size in the Log and Control Panel

Capture menu

The Capture menu contains data transmission options.

Capture menu appearance with an inactive/active connection
Capture menu commands
Option Hotkey Description
Options Open the connection settings window
Start Start data transfer and attempt a connection
Pause Pause Pause data transfer to Canny Monitor
Stop Esc Stop data transfer and terminates the connection

You can navigate the main menu by using the arrow keys or your mouse. Select the necessary opptions by pressing the ENTER key on your keyboard or the left mouse button.

If the controller is connected to the data bus properly, the correct operating mode is selected and the bus is active, then the Control Panel and the Log will start displaying received data. The Log displays data in chronological order, while the Control Panel groups data by message identifiers and highlights the latest data byte changes in yellow.

Pause and resume the display of incoming data in the Log by using the Pause button.

Data is displayed in the hexadecimal format by default. Statistical and service information is always both displayed and set in the decimal format.

You can change the display mode for incoming data by using the View Menu or buttons on the Toolbar. This does not change how ID is displayed (it will always be displayed as a hexadecimal number). This only impacts the Control Panel.

You can only send data to the via the Command Line to the CAN bus in hexadecimal.

Toolbar

The toolbar contains buttons for quick access to frequently used options.

Toolbar while data transfer is inactive/active

Control Panel

Control Panel is the main area of the application window. It displays up-to-date CAN/LIN data, grouped by message identifiers.

Control Panel is the active panel whenever the application is launched. Use the mouse or hotkeys to configure filters for incoming data. The line being edited will be highlighted.

A selected line in the Control Panel

All data values in the Control Panel are up-to-date and are equivalent to the latest values received via the CAN/LIN bus.

The latest changes in data bytes are highlighted in yellow. By default the highlighting has no “memory” and works on a per-message basis. Whenever a new message (for a given identifier) is received:

  • all data bytes that are different from the previous message (for the same identifier) are highlighted in yellow;
  • all data bytes that are identical to the previous message (for the same identifier) lose their highlighting, if it exists.
The latest CAN value change being highlighted

Use the Hold Highlight button in the View menu or on the toolbar to hold all currently present highlights. When Hold Highlights mode is activated, all values that get highlighted once will never lose their highlighting, even if values stop changing.

Hold Highlights mode activated

You can reset all currently held highlights by pressing the Reset Highlights button in the View menu or on the toolbar.

Control Panel entry format

Control Panel entry format

Control Panel field descriptions:

  1.  –  message filter activation checkbox. If the checkbox is ticked, then the message filter for the selected data identifier is active, the messages are received by the Canny Monitor and logged in the Log. If the checkbox is inactive, the messages are not received.;
  2.  –  message identifier. Can be viewed in standard (11 bit) or expanded (29 bit) modes for CAN. For LIN it is always 6 bit;
  3.  –  fields containing message data bytes;
  4.  –  filler in case the message is shorter than 8 bytes;
  5.  –  displays the incoming message in ASCII format;
  6.  –  the number of all received messages with this identifier for the current session;
  7.  –  displays the interval between the last two messages with this identifier, in ms.
Changing entry display format

Use the buttons on the Toolbar or View menu options to switch between the various display modes for the Control Panel. The data is always displayed as hexadecimal in the Log.

Control Panel when viewed in in:

Hexadecimal display mode
Decimal display mode
Binary display mode

CannyLab Register display mode:

A special Reg (Register) display mode exists to make working with CANNY controllers easier. When enabled, all data within the Control panel is displayed in the format of corresponding CannyLab registers.

Control Panel when viewed in the Reg display mode

Font size:

Change the font size by using the Zoom in and Zoom out buttons.

Zoom in
Zoom out

CAN filters

By default no message filtering is done, so all incoming messages are received by Canny Monitor and logged in the Log.

When logging entire data-dense CAN bus data streams at high transmission rates, individual messages can be lost due to technical limitations.

To avoid data loss and study incoming messages in detail, it is thus recommended to use Control Panel filters, filtering only the messages you are currently working with from the data stream.

14 hardware CAN message filters are available to you. This means that you can filter from 1 to 14 message identifiers on a hardware level and only receive those messages and nothing else. If you use more identifiers, additional software filters will activate. These are more susceptible to data loss. When hardware filters are used, the message next to the filter icon on the status bar reports HW. If software filters are used – SW, when no filters are in use – NO.

When filters are used, only messages that pass through the active filters are logged in the Log

Move between entries in the control panel using the arrow keys. Page Up and Page Down can be used for fast, per-page scrolling. You can use the mouse wheel or Control Panel scroll bars as well.

You can work with any number of lines at a time. Use CTRL+A to select all lines. Use standard methods for working with lists for selecting several lines.

Selected lines (filters) in the control panel

Press DELETE or use the context menu to deactivate all selected filters.

Deactivation of a selected filter

Press SPACE, check the checkbox or use the context menu to invert the state of all selected filters. This activates all currently deactivated filters and deactivates all currenly activated ones.

Canny Monitor Log

The Log is situated under the Control Panel. It displays messages in chronological order, I.e in the order they were received in. Only entries that pass through the active filters are logged.

The Log

Pause/Resume the display of incoming data by pressing Pause.

Log display format

Log entry format

Log field descriptions:

  1.  –  message identifier. Can be viewed in standard (11 bit) or expanded (29 bit) modes for CAN. For LIN it is always 6 bit;
  2.  –  fields containing message data bytes;
  3.  –  filler in case the message is shorter than 8 bytes;
  4.  –  timestamp of the message, decimal, in milliseconds from the moment Canny Monitor was launched;
  5.  –  displays the received data in ASCII.

Saving Log entries

You can copy information from the Log to clipboard and insert it into a text file or a spreadsheet. Alternatively you can save the Log to a text file directly, by pressing File→ Save or the corresponding toolbar button. The resulting files may be used for further data analysis.

Command Line

Command Line is situated under the Log. It can be used to send data to the CAN bus.

Note: Sending messages to the LIN bus is not a part of Canny Monitor functionality.

Command Line message format

Command Line message format

Message field descriptions:

  1.  –  CAN message identifier in standard (11 bit) or extended(29 bit) format;
  2.  –  data bytes of the CAN message. You can send between 1 and 8 bytes per message. The length of the message is determined by the number of bytes written in the send command, including bytes with a value of 00;
  3.  –  (optional) identifier of extended ID format. Needs to be used if you want to send a message with an extended identifier.
  4.  –  (optional) repeat identifier and repeat quantity parameters. Set when a message needs to be sent multiple times in a row. The number of repeats is in decimal.

Send the message by either pressing Enter or clicking the Run button.

Quickly call a previously sent command

All commands sent via the command line are saved by the program. Use the dropdown list or up/down arrows on your keyboard to navigate the saved commands.

Status bar

The lowermost line in Canny Monitor is the Status bar.

The status bar displays connectivity information, statistics, errors and service messages

Status bar

The status bar displays the following information:

  1.  –  current connection configuration;
  2.  –  controller connection status;
  3.  –  CAN/LIN error and overflow status;
  4.  –  USB error and overflow status;
  5.  –  hardware/software/none filtering identifier;
  6.  –  inbound and outbound USB data packet counter;
  7.  –  the practical data transmission rate between the controller and the PC.

Canny Monitor context menu

The context menu is called using the right mouse button. The exact menu called depends on where the user clicks.

Toolbar context menu
Control Panel context menu
Control Panel context menu.
Option Hotkey Description
Copy Ctrl+ “C” Copies the selection to the clipboard
Toggle Space Toggles the selected filters
Uncheck Del Disables inbound messages for the selected identifiers
Columns To Contents Sets column width to match column contents
Clear Clears the Control Panel
Log context menu
Log context menu.
Option Hotkey Description
Copy Ctrl+ “C” Copies the selection to the clipboard
Select All Ctrl+ “A” Selects everything in the Log
Clear Clears the Log

SEE ALSO