05-08-2007 06:43 AM
05-08-2007 07:51 AM
05-08-2007 09:29 AM
05-08-2007 10:02 AM
05-08-2007 10:06 AM
05-14-2007 11:30 AM
The instrument in question is the Digibase from Ortec. It does not support buffering (unfortunately).
I have tried optimizing some of the windows stuff related to the eye-candy (no shadows, classic style etc). Though I have not yet optimized the services (or removing services). The computer I am using for the data collection is Fujistu lifebook (one of the P1500 series ultra small computers). This variant has 512 Mb RAM.
In addtion to my data acquisition program I have a database (MYSQL) running which I write the data into.
I have tried the option of setting the execution priority to "Time Critical" for the portion of the code that reads the various pieces of data from the Digibase. However it seem that windows/other processes still manage to get in between my calls to the Digibase. To recap I need to read the livetime and the total counts (or spectra) this requires that I send a command to the digibase to stop the data acquisition , I then send a command to read the live time, and read the return value. Then send a command to read the spectra (or total counts) and the read the return, and finally send a command to start the data collection. However to aid in diagnosing the windows interuption problem I do not stop and restart data acquisition thus any time delays caused by excessive delays between the two reads becomes readily apparant. (The Digibase is set to count at a high data rate which is nominally constant so that the calculated count rate (counts/livetime) should be a constant -minus statisical flucuations). The results indicate that windows/or other processes manage to sneak in between my calls to read the data about once every 50 to 200 trys no matter what I do. Bottom line is that there does not seem to be a shurefire way to prevent other process from interrupting my data acquisition even for a very brief time. Or is there?? I sure long for the days of cooperive (or uncooperative) multitasking.
I am still pursuing the optimization of windows services and background tasks. If anyone has a good reference I would love to hear it. Presently I have explored a number of the on-line references such as the extreme tech tuneup hints such as(www.extremetech.com/article2/0,1558,5155,00.asp)
In the end I am affraid I may be asking the impossible of Windows, and since this equipment does not have drivers truly compatible with QNX, I may simply have to find a plan B. But I can't help but think that this should be possible since the actual computation and bandwidth requirements of this application are very modest.
Thanks again for all the help and suggestions
05-14-2007 04:01 PM
Try this setting.
05-14-2007 04:05 PM
05-15-2007 05:41 AM
The device is a USB device, and I open the connection once then close when I am exiting the program.
I will try the Application versus Background process settings and post the results.
05-21-2007 09:29 AM