This is the general procedure for reading and displaying data in block mode using a single memory segment:
1. | Open the oscilloscope using ps6000aOpenUnit(). |
2. | Select channel ranges and AC/DC/50 Ω coupling using ps6000aSetChannelOn() and ps6000aSetChannelOff(). |
3. | Using ps6000aGetTimebase(), select timebases until the required nanoseconds per sample is located. |
4. | Use the trigger setup functions ps6000aSetTriggerChannelConditions(), ps6000aSetTriggerChannelDirections() and ps6000aSetTriggerChannelProperties() to set up the trigger if required. |
5. | Start the oscilloscope running using ps6000aRunBlock(). |
6. | Wait until the oscilloscope is ready using the ps6000aBlockReady() callback (or poll using ps6000aIsReady()). |
7. | Use ps6000aSetDataBuffer() to tell the driver where your memory buffer is. For greater efficiency with multiple captures, you can do this outside the loop after step 4. |
8. | Transfer the block of data from the oscilloscope using ps6000aGetValues(). |
9. | Display the data. |
10. | Repeat steps 5 to 9. |
11. | Stop the oscilloscope using ps6000aStop(). |
12. | Request new views of stored data using different downsampling parameters: see Retrieving stored data. |
13. | Close the device using ps6000aCloseUnit(). |