Code Monkey home page Code Monkey logo

serialplot's Introduction

SerialPlot

Small and simple software for plotting data from serial port in realtime.

SerialPlot v0.4 Screenshot

Features

  • Reading data from serial port
  • Binary data formats (u)int8, (u)int16, (u)int32, float
  • User defined frame format for robust operation
  • ASCII input (Comma Separated Values) (has been modified, see below)
  • Synchronized multi channel plotting
  • Define and send commands to the device in ASCII or binary format
  • Take snapshots of the current waveform and save to CSV file

##Features added on 26/08/2016 All the features added are relationned to ASCII input

  • Selection of value separator
  • Data cleaning (from non numeric characters)
  • Channels sequence can be chosen
  • Trigger (to lauch acquisition on overpassing or underpassing a level)
  • Discard lines not matching with a regex
  • Data Resizing (by addition and multiplication)

See hackaday.io page for screenshots.

Installation

Linux

You can install SerialPlot for Ubuntu/Linux Mint (and other ubuntu based distributions) via Ubuntu PPA. Use below commands to add ppa to your system and install SerialPlot.

sudo add-apt-repository ppa:hyozd/serialplot
apt update
apt install serialplot

Windows

You can obtain windows installation packages from downloads section. As of moment there are only 64 bits packages.

Dependencies

  • Qt 5, including SerialPort module
  • Qwt 6.1

Building

Obtain Dependencies

  • Qt5 development packages
  • Qt5 SerialPort module
  • CMake
  • Mercurial

Under Ubuntu/Debian: apt install qtbase5-dev libqt5serialport5-dev cmake mercurial

Download and Install Qwt [Optional]

Qwt is the library that provides plotting widgets for SerialPlot. You have 3 different options for Qwt.

  • Leave it to serialplot build scripts. Qwt will be downloaded over SVN and built for you. You should have svn installed for this.

  • If your linux distribution has libqwt-qt5-dev or qwt-qt5-devel package, install it and set BUILD_QWT cmake option to false.

  • Download Qwt 6 here and build it yourself per these instructions and install. Make sure you use Qt5 (not Qt4) to build. And set BUILD_QWT cmake option to false.

Download and Build SerialPlot

You can use Mercurial to download SerialPlot source code. Or you can download it from here: https://bitbucket.org/hyOzd/serialplot/downloads

hg clone https://[email protected]/hyOzd/serialplot
cd serialplot
mkdir build && cd build
cmake ..
make

You can also build with QtCreator IDE using serialplot.pro file.

Known Issues

  • On Ubuntu 16.04 / Linux Mint 18, removing USB serial device while it is open in SerialPlot, causes application to go into a nasty loop and eventually it crashes. This is a bug of Qt 5.5. I have uploaded a patched version of the problematic libqt5serialport5 package to launchpad ppa. If you install SerialPlot from there, you shouldn't have any problems.

  • Port error 13 happens when closing. This is a Qt issue. It's known to not happen with Qt 5.4.1 . Not fatal.

License

This software is licensed under GPLv3. See file COPYING for details.

serialplot's People

Contributors

clementinsa 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.