Documentation

flushdata

Remove analog input data from data acquisition engine

Syntax

flushdata(obj)
flushdata(obj,'mode')

Arguments

obj

An analog input object or array of analog input objects.

'mode'

Specifies how much data is removed from the engine.

Description

flushdata(obj) removes all data from the data acquisition engine and resets the SamplesAvailable property to zero.

flushdata(obj,'mode') removes data from the data acquisition engine depending on the value of mode:

  • If mode is all, then flushdata removes all data from the engine and the SamplesAvailable property is set to 0. This is the same as flushdata(obj).

  • If mode is triggers, then flushdata removes the data acquired during one trigger. triggers is a valid choice only when the TriggerRepeat property is greater than 0 and the SamplesPerTrigger property is not inf. The data associated with the oldest trigger is removed first.

Examples

Create the analog input object ai for a National Instruments® board and add hardware channels 0-7 to it.

ai = analoginput('nidaq','Dev1');
addchannel(ai,0:7);

A 2-second acquisition is configured and the device object is executed.

ai.SampleRate = 2000
duration = 2;
ActualRate = get(ai,'SampleRate');
ai.SamplesPerTrigger = ActualRate*duration
start(ai)
wait(ai,duration+1)

Four thousand samples will be acquired for each channel group member. To extract 1000 samples from the data acquisition engine for each channel:

data = getdata(ai,1000);

You can use flushdata to remove the remaining 3000 samples from the data acquisition engine.

flushdata(ai)
ai.SamplesAvailable
ans =
     0
Was this topic helpful?