I want to configure 6536B device for digital read with 8255 handshaking.
myTask = new Task();
myTask.DIChannels.CreateChannel("Dev1/port0_32", "", ChannelLineGrouping.OneChannelForAllLines);
// triggers
myTask.Triggers.HandshakeTrigger.Interlocked.Source = "PFI0";
myTask.Triggers.HandshakeTrigger.Type = HandshakeTriggerType.Interlocked;
myTask.Triggers.HandshakeTrigger.Interlocked.AssertedLevel = InterlockedHandshakeTriggerAssertedLevel.Low;
// events
myTask.ExportSignals.HandshakeEventOutputTerminal = "PFI1";
myTask.ExportSignals.HandshakeEventOutputBehavior = HandshakeEventOutputBehavior.Interlocked;
myTask.ExportSignals.HandshakeEventInterlockedAssertedLevel = HandshakeEventInterlockedAssertedLevel.Low;
// - not supported! myTask.ExportSignals.HandshakeEventInterlockedAssertOnStart = true;
// Timing
myTask.Timing.ConfigureHandshaking(SampleQuantityMode.ContinuousSamples, 4096);
myTask.Timing.HandshakeDelayAfterTransfer = 0.0;
// - not supported! myTask.Timing.HandshakeSampleInputDataCondition = HandshakeSampleInputDataCondition.HandshakeTriggerAsserts;
reader = new DigitalSingleChannelReader(myTask.Stream);
myTask.Control(TaskAction.Verify);
myTask.Start();
digitalCallback = new AsyncCallback(DigitalCallback);
reader.BeginReadMultiSamplePortUInt32(5, digitalCallback, myTask);
and later...
private void DigitalCallback(IAsyncResult ar)
{
data = reader.EndReadMultiSamplePortUInt32(ar);
...
}
reader throws 'timeout' exception.
This code has been created after old C++ based code for NI 6533 device which works fine. Two code lines labeled 'not supported' cause 'not supported' exceptions for NI 6536B device.
Can somebody point me to example for digital read with 8255 handshaking?
Thank you,