Once I become more familiar with the GUI setup, I'll add the time that the Arduino is sending to the display. I'll hopefully make it read time in minutes, so we know how long we've been taking data.
Because regularity of data sampling is done with delay functions, and because of the many states the program can be in, data sampling may not be particularly uniform.
This is a big issue that must be addressed (or at leased looked into).
This is not essential as long as the ultimate program will be running on windows. (so far there is no reason to believe that the clipboard class is not working on windows, last I checked it was).
The temperature increments are too small to see visually (although this might change if the measured voltage is remapped from 4.4-4.5 to 0-5 with an OP-AMP.
Also real time graph occasionally (not sure why and when yet) skips graph points or writes them at an angle.
I think Rewriting the background fixes this problem, as soon as the bottom progress bar/graph reaches the end and the entire display rewrites itself the next voltage reading seems to be ok until the next one is different. (Poor explanation, sorry).
Adding a delay would allow for a baseline to be measured instantly durring the same run, that way if the IR light is causing a change in a time period less than 1s then we will capture the change rather than overlooking it.
Do this by saving all files as "temp" or something like that.
Then at the end copy the temp file to the final file name, then delete temp file.
The only issue with this is that if the script gets interrupted the data is not saved in some sensical way. (fix this by simply telling the user to look for the temp file in these cases.
Currently each element of the system, the Arduino, Processing and ADL all operate on their own clock/timer, it is by sheer luck that it all works fairly well.
To make this system more robust each should implement an internal clock that is synchronized.