Hi,
I have a U2701A USB Scope. I'm trying to start a triggered acquisition and then use software to poll to see if a trigger has occurred. I am using the IVI Com driver. I have tried multiple approaches and I can't find a way to check if a trigger has occurred. Here is a description of my latest attempt, what I see, and what I expect to see. Thank you for any help!
1) AgilentU2701AClass::Initialize
2) IAgilentU2701ATrigger::Configure(AgilentU2701ATriggerEdge)
3) IAgilentU2701ATriggerEdge::Configure("EXT", 0, AgilentU2701TriggerSlopePositive)
4) IAgilentU2701AMeasurements::Initiate()
5) IAgilentU2701ASystem::WaitForOperationComplete(100)
6) IAgilentU2701AMeasurement::FetchWaveform()
What I see is:
1-4 occur without errors as expected.
5 (WaitForOperationComplete) takes 2-4ms to complete regardless of whether a trigger has occurred.
6 takes about 5 seconds before returning the WaveformArray that was last on the screen. If a trigger does occur, then 6 occurs quickly and returns the new data.
What I expect to see is:
5 (WaitForOperationComplete) waits 100 miliseconds before completing if a trigger does not occur. If a trigger does occur, then WaitForOperationComplete completes sooner.
I have also tried reading the AgilentU2701AMeasurements::Status field. Here I find that the value is always "AgilentU2701AAcqComplete". I would expect the value to be "AgilentU2701AAcqInProgress" until a trigger occurs, and then the field to be "AgilentU2701AAcqComplete".
I have a U2701A USB Scope. I'm trying to start a triggered acquisition and then use software to poll to see if a trigger has occurred. I am using the IVI Com driver. I have tried multiple approaches and I can't find a way to check if a trigger has occurred. Here is a description of my latest attempt, what I see, and what I expect to see. Thank you for any help!
1) AgilentU2701AClass::Initialize
2) IAgilentU2701ATrigger::Configure(AgilentU2701ATriggerEdge)
3) IAgilentU2701ATriggerEdge::Configure("EXT", 0, AgilentU2701TriggerSlopePositive)
4) IAgilentU2701AMeasurements::Initiate()
5) IAgilentU2701ASystem::WaitForOperationComplete(100)
6) IAgilentU2701AMeasurement::FetchWaveform()
What I see is:
1-4 occur without errors as expected.
5 (WaitForOperationComplete) takes 2-4ms to complete regardless of whether a trigger has occurred.
6 takes about 5 seconds before returning the WaveformArray that was last on the screen. If a trigger does occur, then 6 occurs quickly and returns the new data.
What I expect to see is:
5 (WaitForOperationComplete) waits 100 miliseconds before completing if a trigger does not occur. If a trigger does occur, then WaitForOperationComplete completes sooner.
I have also tried reading the AgilentU2701AMeasurements::Status field. Here I find that the value is always "AgilentU2701AAcqComplete". I would expect the value to be "AgilentU2701AAcqInProgress" until a trigger occurs, and then the field to be "AgilentU2701AAcqComplete".