/// <summary> /// Creates a new pulse that is triggered based on an internal event/signal /// </summary> /// <param name="timeBase">The timebase of the pulse</param> /// <param name="delay">The ticks of the off-phase</param> /// <param name="width">The ticks of the on-phase</param> /// <param name="signalType">The type of trigger signal line</param> /// <param name="triggerEvent">The internal trigger event</param> /// <param name="signalPolarity">The polarity of the trigger signal</param> /// <param name="outputType">The type of pulse output line</param> /// <param name="outputNumber">The output line identifier</param> /// <param name="outputPolarity">The polarity of the on-phase</param> /// <param name="pulseMode">The pulse generation mode</param> public IMGPulse(PulseTimebase timeBase, uint delay, uint width, IMG_SIGNAL_TYPE signalType, InternalSignalIdentifier triggerEvent, TriggerPolarity signalPolarity, IMG_SIGNAL_TYPE outputType, uint outputNumber, PulsePolarity outputPolarity, PulseMode pulseMode) { if (signalType != IMG_SIGNAL_TYPE.IMG_SIGNAL_STATUS) { throw new ArgumentException("signalType", "If an internal event is specified to trigger pulse generation, the signal type must be IMG_SIGNAL_STATUS!"); } NIImaq.CheckError(NIImaq.imgPulseCreate2(timeBase, delay, width, signalType, triggerEvent, signalPolarity, outputType, outputNumber, outputPolarity, pulseMode, ref _plsId)); }
/// <summary> /// Creates a new pulse that is triggered based on an external line /// </summary> /// <param name="timeBase">The timebase of the pulse</param> /// <param name="delay">The ticks of the off-phase</param> /// <param name="width">The ticks of the on-phase</param> /// <param name="signalType">The type of trigger signal line</param> /// <param name="signalIdentifier">The trigger signal line identifier</param> /// <param name="signalPolarity">The polarity of the trigger signal</param> /// <param name="outputType">The type of pulse output line</param> /// <param name="outputNumber">The output line identifier</param> /// <param name="outputPolarity">The polarity of the on-phase</param> /// <param name="pulseMode">The pulse generation mode</param> public IMGPulse(PulseTimebase timeBase, uint delay, uint width, IMG_SIGNAL_TYPE signalType, uint signalIdentifier, TriggerPolarity signalPolarity, IMG_SIGNAL_TYPE outputType, uint outputNumber, PulsePolarity outputPolarity, PulseMode pulseMode) { NIImaq.CheckError(NIImaq.imgPulseCreate2(timeBase, delay, width, signalType, signalIdentifier, signalPolarity, outputType, outputNumber, outputPolarity, pulseMode, ref _plsId)); }