Coder Social home page Coder Social logo

fzxhub / cangaroo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from normaldotcom/cangaroo

0.0 0.0 0.0 8.7 MB

Open source can bus analyzer software - with support for CANable / CANable2, CANFD, and other new features

License: GNU General Public License v2.0

Shell 0.07% C++ 84.75% C 13.84% QMake 1.34%

cangaroo's Introduction

cangaroo

An open source can bus analyzer with support for transmit/receive of standard and FD frames and DBC decoding of incoming frames

Supported interfaces:

  • CANable SLCAN interfaces on Windows and Linux
  • CANable 2 SLCAN interfaces on Windows and Linux with FD support
  • Candlelight interfaces on Windows
  • Socketcan interfaces on Linux
  • CANblaster socketCAN over UDP server with auto-discovery

demo1

written by Hubert Denkmair [email protected]

further development by Ethan Zonca [email protected]

Building on Linux

  • to install all required packages in a vanilla ubuntu 16.04:
    • sudo apt-get install build-essential git qt5-qmake qtbase5-dev libnl-3-dev libnl-route-3-dev cmake qt5-default libqt5serialport5 libqt5serialport5-dev libqt5charts5 libqt5charts5-dev
  • build with:
    • qmake -qt=qt5
    • make
    • make install

Building on Windows

  • Qt Creator (Community Version is okay) brings everything you need
  • except for the PCAN libraries.
    • Get them from http://www.peak-system.com/fileadmin/media/files/pcan-basic.zip
    • Extract to .zip to src/driver/PeakCanDriver/pcan-basic-api
    • Make sure PCANBasic.dll (the one from pcan-basic-api/Win32 on a "normal" 32bit Windows build) is found when running cangaroo, e.g. by putting it in the same folder as the .exe file.
  • if you don't want Peak support, you can just disable the driver: remove the line "win32:include($$PWD/driver/PeakCanDriver/PeakCanDriver.pri)" from src/src.pro
  • if you want to deploy the cangaroo app, make sure to also include the needed Qt Libraries. for a normal release build, these are: Qt5Core.dll Qt5Gui.dll Qt5Widgets.dll Qt5Xml.dll

Changelog

v0.2.4 unreleased

  • Add initial support for CANFD
  • Add support for SLCAN interfaces on Windows and Linux (CANable, CANable 2.0) including FD support
  • Add support for CANblaster socketCAN over UDP server with auto-discovery
  • Add live filtering of CAN messages in trace view

v0.2.1

  • make logging easier
  • refactorings
  • scroll trace view per pixel, not per item (always show last message when autoscroll is on)

v0.2.0 released 2016-01-24

  • docking windows system instead of MDI interface
  • windows build
  • windows PCAN-basic driver
  • handle muxed signals in backend and trace window
  • do not try to extract signals from messages when DLC too short
  • can status window
  • bugfixes in setup dialog
  • show timestamps, log level etc. in log window

v0.1.3 released 2016-01-16

  • new can interface configuration GUI (missing a suid binary to actually set the config)
  • use libnl-route-3 for socketcan device config read
  • query socketcan interfaces for supported config options
  • new logging subsystem, do not use QDebug any more
  • some performance improvements when receiving lots of messages
  • bugfix with time-delta view: timestamps not shown when no previous message avail

v0.1.2 released 2016-01-12

  • fix device re-scan ("could not bind" console message)
  • fix some dbc parsing issues (signed signals, ...)
  • implement big endian signals

v0.1.1 released 2016-01-11

  • change source structure to better fit debian packaging
  • add debian packaging info

v0.1 released 2016-01-10

initial release \o/

TODO

backend

  • support non-message frames in traces (e.g. markers)
  • implement plugin API
  • embed python for scripting

can drivers

  • allow socketcan interface config through suid binary
  • socketcan: use hardware timestamps (SIOCSHWTSTAMP) if possible
  • cannelloni support
  • windows vector driver

import / export

  • export to other file formats (e.g. Vector ASC, BLF, MDF)
  • import CAN-Traces

general ui

  • give some style to dock windows
  • load/save docks from/to config

log window

  • filter log messages by level

can status window

  • display #warnings, #passive, #busoff, #restarts of socketcan devices

trace window

  • assign colors to can interfaces / messages
  • limit displayed number of messages
  • show error frames and other non-message frames
  • sort signals by startbit, name or position in candb

CanDB based generator

  • generate can messages from candbs
  • set signals according to value tables etc.
  • provide generator functions for signal values
  • allow scripting of signal values

replay window

  • replay can traces
  • map interfaces in traces to available networks

graph window

  • test QCustomPlot
  • allow for graphing of interface stats, message stats and signals

packaging / deployment

  • provide clean debian package
  • gentoo ebuild script
  • provide static linked binary
  • add windows installer

cangaroo's People

Contributors

hubertd avatar strupppi avatar normaldotcom avatar esclear avatar fzxhub avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.