To program the example pulse, send the following commands:
-- Restore instrument defaults and clear measure buffer.
reset()
smua.nvbuffer1.clear()
-- Set the number of pulses to 1.
smua.trigger.count = 1
-- Enable source level changes.
smua.trigger.source.action = smua.ENABLE
-- Trigger the source action when the SMU moves
-- from the arm layer to the trigger layer.
smua.trigger.source.stimulus = smua.trigger.ARMED_EVENT_ID
-- Set the pulser source to the 1 A range.
smua.pulser.rangei = 1
-- Set the pulser to source a 1 A pulse.
smua.trigger.source.listi({1})
-- Set the pulser voltage protection limit to 8 V.
smua.pulser.protect.sensev = 8
-- Set the source pulse width to 50 microseconds.
smua.trigger.source.pulsewidth = 50e-6
-- Enable measurements.
smua.trigger.measure.action = smua.ENABLE
-- Specify a 35 microsecond pulser measure delay and a
-- 10 microsecond measurement aperture.
smua.pulser.measure.delay = 35e-6
smua.pulser.measure.aperture = 10e-6
-- Set to measure voltage and save the results in nvbuffer1.
smua.trigger.measure.v(smua.nvbuffer1)
-- Enable the pulser.
smua.pulser.enable = smua.ENABLE
-- Turn the source output on and initiate the trigger model.
smua.source.output = smua.OUTPUT_ON
smua.trigger.initiate()
-- Wait for pulser commands to complete.
waitcomplete()
-- Turn the source output off.
smua.source.output = smua.OUTPUT_OFF
-- Output the voltage reading stored in the buffer.
print(smua.nvbuffer1[1])
-- Check whether the pulse terminated early because of the voltage
-- protection limit and output the result.
print(smua.pulser.protect.tripped)