User`s manual
Writing Custom Applications
Module.Output().Decimation(factor);
// All channels trigger together
Module->Output().ExternalTrigger((Settings.ExternalTrigger == 1));
// Frame count in units of packet elements
if (Settings.Framed)
Module->Output().Framed(Settings.FrameCount);
else
Module->Output().Unframed();
Alerts and starting the Stream are the same as in Input only mode.
enum IUsesX5Alerts::AlertType Alert[] =
{
IUsesX5Alerts::alertTimeStampRollover,
IUsesX5Alerts::alertSoftware,
IUsesX5Alerts::alertWarningTemperature,
IUsesX5Alerts::alertOutputFifoUnderrun,
IUsesX5Alerts::alertOutputTrigger
};
for (unsigned int i = 0; i < Settings.AlertEnable.size(); ++i)
Module->Alerts().AlertEnable(Alert[i], Settings.AlertEnable[i] ? true : false);
// Start Streaming
Stream->Start();
UI->Log("Stream Mode started");
UI->Status("Stream Mode started");
FTicks = 0;
Timer.Enabled(true);
}
//---------------------------------------------------------------------------
// ApplicationIo::StopStreaming()
//---------------------------------------------------------------------------
void ApplicationIo::StopStreaming()
{
if (!FStreaming)
return;
if (!FStreamConnected)
{
UI->Log("Stream not connected! -- Open the boards");
return;
}
//
// Stop Streaming
Stream->Stop();
FStreaming = false;
Timer.Enabled(false);
}
Data Required Event Handler
When the output stream needs additional data, the Data Required event is signalled. The Wave application uses this call to
generate new blocks for each channel and send them to the output via the SendOneBlock() method.
X5-GSPS User's Manual 63