Skip to content

TDahlmann/canpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAN++

Overview

CAN++ is a free Windows program for receiving, transmitting and analyzing (*.asc, .blf) CAN bus messages (CAN Classic and CAN FD) for using with SuperCAN devices or without CAN hardware (virtual bus). After import of CAN data base files (.dbc, *.arxml) CAN signals are shown in symbolic form. Signals can be presented as graphics (wave forms) too.

Furthermore:

  • CAN simulation is possible by programming CAN behaviour in C++.
  • CAN traces can be generated, imported and replayed (*.asc format, *.blf can be imported).
  • Diagnostics can be performed (PDX import, fault memory, measurement and identification data)

There are several devices which are supported by SuperCAN firmware and can be used with CAN++. For example:

CAN++ also can connect to CAN hardware via TCP/IP with an own defined protocol (see TCP/IP chapter below). An example implementation is included.

CAN++ can be just started (no installation).
The user manual is located in sub folder doc/user_manual (Markdown and HTML version, work in progress).

Main screen Main screen

Traces

CAN traces can be generated, imported and replayed (.asc format). Import and replay is possible with BLF files too (.blf).

CAN transmit

  • cyclic, once, with time offset
  • define signals as raw or physical values
  • or define signals with wave configurator

Main screen Main screen

CAN simulation in C++

  • one .cpp file per CAN node (see Example ECU_main.cpp)
  • react on CAN-Messages (::onMessage()) or signals
  • send CAN messages
  • Timers (can be used for cyclic sending of CAN messages)
  • print text
  • integrated IDE and integrated C++ Compiler (DMC)

Main screen

CAN statistics

Main screen

CAN diagnostics

  • faultmemory
  • measurement data
  • identification
  • import PDX files

Main screen Main screen

TCP/IP connection to CAN hardware

CAN++ can connect over TCP/IP to CAN hardware. For this an own protocol was implemented. For this protocol a implementation for connecting to a Linux device is implemented in folder "can2win". This little server has to run on the Linux device. CAN++ connects to this server and transmitts and receives CAN data over the connection. The server itself makes a SocketCan connection to the CAN hardware attached to the linux device. This for example may be a simple Raspberry Pi CAN hookup board. Multiple channels can be transported. Even more multiple CAN++ PC's can connect to this server. Following menu items can be used to connect:

Settings => Hardware Select:

  • BeagleBone USB: 192.168.7.2
  • Wlan: 192.168.10.1
  • IP Address: self assigned IP address on server side

Main screen Main screen

Installation

CAN++ can be used without installation. It should not be placed in system folders like "C:\Programs". Path should contain "A-Za-z0-9_" only. Otherwise integrated Compiler will not work. By calling "INSTALL.bat" a shortcut is created on desktop.

Tips

How to flash SuperCAN firmware on Adafruit Feather M4 CAN Express (on Windows)

  • download SuperCAN firmware file supercan-firmware.tar.xz from https://github.com/jgressmann/supercan/releases/tag/latest-master
  • Unpack supercan-firmware.tar.xz (7-Zip could be used), needed file is supercan.uf2
  • plug in device
  • push the button on the device twice
  • a drive "FTHRBOOT" will show up in file explorer
  • drop the file supercan.uf2 on this drive
  • after 10 seconds replug the device

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages