I am working on a personal project. I have an external source/ microcontroller that is spitting out data on the UART at a given baud rate. I need to collect the data fill a buffer in PC, do some processing and then plot the results on PC. I need some help in reading the data/ getting by the computer and fill a buffer. Once I have data in a buffer,
I have code for what I need to do on the buffer.
Once I generate the results in a buffer , I need to be able to plot it on my PC. I need a plotting tool that can take that and plot it. It needs to have some zoom ability and plot on log scales. I need some help in creating a plotting tool or interfacing with a free tool available. I should be able to have multiple plot windows open @ the same time.
The present system that I have has a lot of human intervention involved in terms of copying data etc. I need help to do that automatically
All calculations are floating point or double.
C/C++ will work better for me.
A computer program to read data from UART serial port of PC and fill a buffer.
The data being sent is byte by byte higher byte first and then the lower byte. One data will be 2 bytes. 9600 baud rate is typical.
The data needs to be reconstructed and stored in a double precision buffer by proper typecasting.
The length of the buffer should be user configurable max 32767.
This buffer needs to be processed. (To be done by myself). Need to be able to call a function void process() from your code.
The results are upto 6 buffers each of max 32767 size. One denotes x co-ordinate. The others denote y coordinates of multiple plots.
x , y1 ,y2 and y3 are the results.
So the output will be 3 plots preferably in a single window one below the other.
Some kind of access control from GUI is also needed in that sense. That we may need to start the process or stop the process at the press of a button on the screen.
The results need to be plotted graphically on the PC
The plot should be GUI controlled in the sense each axis label,
xmax, xmin, ymax ,ymin should be user definable and dynamically modifiable to allow zooming. Moving the cursor to any point in the plot should display the x and y coorindates.
The default values for max and min of each axis on the plot should be chosen based on the actual data automatically by the system. This will ensure that the data is automatically displayed without the user having to fool around with x and y coordinates.
Moreover user should be able to select linear or log10 scale for x axis.
Some free software available online is also acceptable provided it can be properly interfaced for the requirements above.