Graphing in "real-time"

Hi,

Surfing, I´ve found a good free software: Kst
http://kst.kde.org/ (Windows and Linux)

" Kst is the fastest real-time large-dataset viewing and plotting tool available and has basic data analysis functionality."

Features:

  • Fast real-time display and manipulation of streaming data
  • Quick zooming and scrolling via mouse and keyboard
  • Extensible via plugins
  • Built-in high-speed equation interpreter
  • Multiple tabs or windows
  • Graphical plot layout manager
  • Javascript scripting
  • Drag and drop
  • Cut and paste
  • Native power spectrum algorithm and histograms
  • Image and matrix support, including waterfall plots
  • Support for the most popular data formats including:
    o ASCII, dirfile, CDF, netCDF, piolib, FITS, HEALPix, qimage
    o Plugin design allows additional formats
  • Time input
  • Built-in ELOG functionality
  • Command-line and RPC control mechanisms
  • Printing, including to images, postscript, and PDF

In windows, with Realterm and Kst, you achieve a quick & easy method to plot data form your Arduino in "real-time".

I´ve write a mini how-to in spanish (sorry!! but google translator works quite good) => Tinkering with Electronics...: Graficar con Kst

Regards,

Igor R.

The code to send data (it´s very simple) and test Kst is:

extern volatile unsigned long timer0_overflow_count;
float fanalog0;
int analog0;
unsigned long tiempo;
byte serialByte;

void setup() {

   Serial.begin(9600);
   Serial.println("Empezamos...");
}

void loop() 
{

  while (Serial.available()>0){  
    serialByte=Serial.read();
    if (serialByte=='C'){        
      while(1){
        analog0=analogRead(0);
        // Convierto a milivoltios
        fanalog0=(analog0)*(5000.0/1023);
        // Recojo ticks del timer0 => 1 tick cada 4 us (usado en millis )
        tiempo=(timer0_overflow_count << 8) + TCNT0;
        // Convierto a us
        tiempo=tiempo*4;
        //Lo envio para simular archivo tipo *.csv
        Serial.print(tiempo);
        Serial.print(';',BYTE);
        Serial.println(fanalog0,DEC);
        if (Serial.available()>0){
          serialByte=Serial.read();
          if (serialByte=='F')  break;
        }
      }
    }
  }
}

If you send "C", it starts to send data. (C of continuously)
If you send "F", it stops to send data. (F is "fin" in spanish... like stop)

It sends like *.csv, sepated by ";". First data is time in us and the second is mV of analog 0.

Regards,

Igor R.

it seems nice, but i can't load anyfile to skt : the choose file is turn disabled when i choose a text file
:frowning:

any idea how to fix it

thanx

Sorry!! I don´t understand... could you explain it ??

Do you have problems to load a file with Kst? Are you using Data Wizard?

yes exactly, i am using Data Wizard and when i choose the file to load i can not valide with the choose button, it's disactivated

I´ve added a video-tutorial.... Tinkering with Electronics...: Graficar con Kst

A truly excellent find! I've needed a program like this many times. It's open source, so maybe someone can write a plugin that reads data directly from the serial port too.