Go Down

Topic: Real Time Plotting Tool ( Oscilloscope ) (Read 52 times) previous topic - next topic

Brijesh

#5
May 30, 2011, 05:49 am Last Edit: May 30, 2011, 04:27 pm by Brijesh Reason: 1
New release of the tool. Found and fixed a bug. The program would crash on startup (never start) if there were no serial ports in the computer. This would happen if you have not plugged in the Arduino board before you run the program. My computer has a serial port on the motherboard, so I never saw this issue. Thanks to EmmaK that I found the bug.

New webpage with more information: http://www.negtronics.com/simplot

Arduino Code samples: http://www.negtronics.com/simplot/simplot-code-samples

Created a video to show SimPlot in operation: http://youtu.be/a9lTem0GWe0

Looking for suggestions to impove the tool and add more features. For the next release I am debating about these features, not sure if they are useful. What do you guys think?

1) Remove Y axis auto scale feature and provide a way for user to set the range.
2) Provide feature to change X axis range.
3) Inculde Serial Monitor functionality in the text window.
4) Add more channels?


robtillaart


Not checked the tool yet ...

- For analog signals I would like to have a running average line. This can be based on a (configurable) number of samples or the samples in the last second/minute/...

- It would be great to have an X-Y plot -> analog1 on X and analog2 on Y 

- Baudrates of 230400 and 345600,
Although the Serial Monitor of the IDE don't support these baudrates, the Arduino - 2009/UNO - do. I've used them for few weeks now without a problem. The highest rate without a problem was 500.000 baud with putty.exe but that is a non standard rate. Maybe I want the free baudrate like in putty.exe so I can go to the limit (own risk of course)

- plot signal through some function
e.g. I have an analog signal 0..1024 and I want to map that on temperature through some function e.g. a temperature function
float T(int s)
{
  return -50 + s/4.0;
}
The scale should be temperature degrees Celsius of course

my 2 cents for now
Rob
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Brijesh

Hello Rob,

Thanks for your input.

- For analog signals I would like to have a running average line. This can be based on a (configurable) number of samples or the samples in the last second/minute/...
Nice idea, it is added to the list of things to be done.

- It would be great to have an X-Y plot -> analog1 on X and analog2 on Y
This one is more difficult to implement. Not so sure where it would used.

- Baudrates of 230400 and 345600,
Although the Serial Monitor of the IDE don't support these baudrates, the Arduino - 2009/UNO - do. I've used them for few weeks now without a problem. The highest rate without a problem was 500.000 baud with putty.exe but that is a non standard rate. Maybe I want the free baudrate like in putty.exe so I can go to the limit (own risk of course)

Added to list of things to be done.


- plot signal through some function
e.g. I have an analog signal 0..1024 and I want to map that on temperature through some function e.g. a temperature function
float T(int s)
{
  return -50 + s/4.0;
}
The scale should be temperature degrees Celsius of course

This is far more difficult to implement. I can implement a single operation. To implment multiple operation like you have (one addition and one division) requires me to write a mathmatical expression parser (not sure if that is right term). Way beyond my programming skills, by the way I am not a programmer by profession. :-)

On a side note, is anyone having problems installing the tool? Did anyone try to install on a machine that did not have .NET framework already installed? I am total newbie to this whole GUI programming and .NET stuff so got no idea what will happen if someone does that.


robtillaart

Hi Brijesh,
Quote

- It would be great to have an X-Y plot -> analog1 on X and analog2 on Y
This one is more difficult to implement. Not so sure where it would used.

It would allow to have two related sensors in one plot, e.g. temperature versus humidity (greenery?) -  heigth versus pressure (up in the air or under water)  - length vs force  - speed vs voltage (testing a generator) -


Quote

- plot signal through some function
e.g. I have an analog signal 0..1024 and I want to map that on temperature through some function e.g. a temperature function
float T(int s)
{
  return -50 + s/4.0;
}
The scale should be temperature degrees Celsius of course

This is far more difficult to implement. I can implement a single operation. To implment multiple operation like you have (one addition and one division) requires me to write a mathmatical expression parser (not sure if that is right term). Way beyond my programming skills, by the way I am not a programmer by profession. :-)

I know it is a very difficult one but it would give the screenshots a "real world meaning"

google - math parser C# - and you will find free to use classes like
- http://muparser.sourceforge.net/
- http://www.codeproject.com/KB/cs/MathParser.aspx -
- http://www.c-sharpcorner.com/uploadfile/patricklundin/mathexpparser12062005062213am/mathexpparser.aspx -

Still not trivial
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Enn40

Hi,
Its nice lightweight program.

I´d like to see:

1) Remove Y axis auto scale feature and provide a way for user to set the range.
2) Provide feature to change X axis range.

E

Go Up