Skip to content

A cross-platform CAN Bus monitor-sender GUI Application, written in Python based. It is a useful tool for device testing of CAN communication.

License

Notifications You must be signed in to change notification settings

TomiXRM/CANViewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CANVIEWER LOGO

CANViewer

cross-platform CAN bus monitor, built on Python.

License GitHub stars GitHub issues GitHub release

image1.png

日本語の説明はこちら


This application is a tool that connects an SLCAN or SocketCAN device to a PC and allows you to easily verify CAN communication from your PC. It supports receiving data flowing on the CAN bus, periodic and one-time transmission, switching between standard and extended IDs, and decimal to ↔️ hexadecimal conversion. It is written in Python and runs on Mac, Ubuntu, and Windows (SocketCAN is only supported on Ubuntu).

App Downloads

You can download a pre-built application from Releases. It runs on Windows, Mac and Linux (binary).

CANViewer Features

  • Single-shot transmission : press Start button without entering `Interval
  • Interval transmission : Input the interval (in milliseconds) you want to transmit interval in Interval and press Start button.
  • Switch standard/extended format : Click StdID/ExtID to switch format
  • Change input decimal number : Click DataFrame label to switch. Also, you can switch input method to HEX by Ctrl+H(J) and to DEC by Ctrl+D(F).
  • Filter function : Ctrl+P switches to Pro mode; in Pro mode, a table for filter settings is displayed, and by entering an ID to be ignored, messages with the specified ID are hidden from the log. (Currently, only the filter function is implemented in Pro mode.)

Interval transmission

interval.gif

Switch between standard ID and extended ID formats

id_format_switch.gif

Switch input format between decimal(DEC) and hexadecimal(HEX)

hex_dec_switch.gif

filter function for IDs you want to ignore

filter.gi

Development Prerequisites / What you need for development

  • CAN device must be available (for SLCAN, CANable2.0 or MKS CANable)
  • Python must be installed.
    • If Poetry is not installed, it must be installed beforehand. (It is used for version control of libraries)
    • Resolving dependencies using Poetry will automatically install the packages needed to run your Python application.
  • It is useful to have make included!

How to build

  1. Open in terminal

  2. Go to the directory where the CANViewer Python application is stored.

    cd CANViewer-directory
  3. Use Poetry to resolve dependencies and create virtual environments.

    poetry install

    or

    make install
  4. Launch the application with command.

    poetry run python main.py

    or

    make run
  5. Options for operating with SocketCAN

    poetry run python main.py -c socketcan

LICENSE

This project is LGPL licensed. Please check LICENSE for more information.

About

A cross-platform CAN Bus monitor-sender GUI Application, written in Python based. It is a useful tool for device testing of CAN communication.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •