Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def example(resource_name, options, shape, channel):
with nifgen.Session(resource_name=resource_name, options=options, channel_name=channel) as session:
# CONFIGURATION
# 1 - Set the mode to Script
session.output_mode = nifgen.OutputMode.SCRIPT
# 2 - Configure Trigger:
# SOFTWARE TRIGGER: used in the script
session.script_triggers[0].script_trigger_type = nifgen.ScriptTriggerType.SOFTWARE_EDGE # TRIG_NONE / DIGITAL_EDGE / DIGITAL_LEVEL / SOFTWARE_EDGE
session.script_triggers[0].digital_edge_script_trigger_edge = nifgen.ScriptTriggerDigitalEdgeEdge.RISING # RISING / FAILING
# 3 - Calculate and write different waveform data to the device's onboard memory
session.channels[channel].write_waveform('sine', calculate_sinewave()) # (waveform_name, data)
session.channels[channel].write_waveform('rampup', calculate_rampup())
session.channels[channel].write_waveform('rampdown', calculate_rampdown())
session.channels[channel].write_waveform('square', calculate_square())
session.channels[channel].write_waveform('triangle', calculate_triangle())
session.channels[channel].write_waveform('noise', calculate_gaussian_noise())
# 4 - Script to generate
# supported shapes: SINE / SQUARE / TRIANGLE / RAMPUP / RAMPDOWN / NOISE / MULTI
def example(resource_name, options, waveform, frequency, amplitude, offset, phase, gen_time):
with nifgen.Session(resource_name=resource_name, options=options) as session:
session.output_mode = nifgen.OutputMode.FUNC
session.configure_standard_waveform(waveform=nifgen.Waveform[waveform], amplitude=amplitude, frequency=frequency, dc_offset=offset, start_phase=phase)
with session.initiate():
time.sleep(gen_time)