For my scientific applications, I need to add a number of additional mathematical functions to the scope software (extended trace averaging function, averaging functions for the FFT spectra, resolution enhangements etc.).
Also, I need to be able to do these function as real-time as possible, that means each time a trigger has occurred. I know that you have provided the “DataReady” variable but then I have to constantly poll this variable to test for new data - this is not effective.
Therefore I would be pleased if you can help me by providing the source code for your scope software PClab (Is it Delphi?)
I can in return provide you with my added functions as they become ready.
Also: is it possible to obtain the content of the PAL-circuit used om the pcb-board ?
[quote]Also, I need to be able to do these function as real-time as possible, that means each time a trigger has occurred. I know that you have provided the “DataReady” variable but then I have to constantly poll this variable to test for new data - this is not effective.[/quote]Indeed, polling is not a very good method. The CPU usage can increase a lot.
Instead you may use a timer. Check every 50ms if there is new data available. I think you can’t miss any data by using a 50ms timer.
[quote]Therefore I would be pleased if you can help me by providing the source code for your scope software PClab (Is it Delphi?)[/quote]Unfortunately we can’t provide the source code.
Please explain, or direct me to an explanation, of how Data Ready works in the pcsu 2000 when I operate in Trigger mode. When I have RUN ON, DATA READY seems to be TRUE whenever it is poled. Does it require RUN OFF, SINGLE ON to have the DATA READY turn False and then TRUE when the new data acquired after the trigger event to ready for transfer. Currently, transfer the data using a timer whose period is slightly longer than the trigger period, so I always get new data, but I am concerned that I may miss a trigger event.
In the manual there is written:
“Description
Indicates if there is fresh data available. This function can be used to check that triggering has
occurred.”
Every time you read the data from the oscilloscope the DataReady is reset to FALSE.
When the next trace is acquired, the DataReady is set to TRUE.
The oscilloscope continues to acquire the data regardless if you read it.
You get always the latest captured data.
All the traces captured before the reading event are “lost”.
You can loose some data if the timer period is longer than the trigger interval.
If you need to get all the data, you have to use shorter timer period for the polling and read the data immediately when the DataReady is set to TRUE.