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
- Connecting to the CAN bus
- Connecting to the LIN bus
- Additional operating mode parameters in Canny CAN/LIN Monitor
- Hotkeys
- Main Window
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;
- 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;
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.
- Press the “Write” button and wait until the firmware is successfully uploaded into the controller;
- 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;
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.
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.
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.
If connection between CANNY7 and CANNY CAN(LIN) monitor is interrupted or cannot be established, an error message will appear.
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;
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.
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.
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.
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.
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.
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.
Canny Monitor hotkeys
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 Panel → Log → Command line → Send Data button → Control 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.
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.
Option | Description |
---|---|
Save | Saves the current Log to a text file |
Exit | Exits the program |
Edit menu
The Edit menu contains basic editing commands.
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.
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.
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.
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.
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.
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.
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 field descriptions:
- – 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.;
- – message identifier. Can be viewed in standard (11 bit) or expanded (29 bit) modes for CAN. For LIN it is always 6 bit;
- – fields containing message data bytes;
- – filler in case the message is shorter than 8 bytes;
- – displays the incoming message in ASCII format;
- – the number of all received messages with this identifier for the current session;
- – 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:
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.
Font size:
Change the font size by using the Zoom in and Zoom out buttons.
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.
Press DELETE or use the context menu to deactivate all selected filters.
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.
Pause/Resume the display of incoming data by pressing Pause.
Log display format
Log field descriptions:
- – message identifier. Can be viewed in standard (11 bit) or expanded (29 bit) modes for CAN. For LIN it is always 6 bit;
- – fields containing message data bytes;
- – filler in case the message is shorter than 8 bytes;
- – timestamp of the message, decimal, in milliseconds from the moment Canny Monitor was launched;
- – 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
Message field descriptions:
- – CAN message identifier in standard (11 bit) or extended(29 bit) format;
- – 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;
- – (optional) identifier of extended ID format. Needs to be used if you want to send a message with an extended identifier.
- – (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
The status bar displays the following information:
- – current connection configuration;
- – controller connection status;
- – CAN/LIN error and overflow status;
- – USB error and overflow status;
- – hardware/software/none filtering identifier;
- – inbound and outbound USB data packet counter;
- – 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.
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 |
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 |