Skip to content

Commit 5276c7d

Browse files
authored
examples: Revise cont dig port output examples (#902)
* examples: Revise cont dig port output examples * examples: Fix import order
1 parent 41498b0 commit 5276c7d

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

examples/digital_out/cont_gen_dig_port_int_clk.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@
88
from nidaqmx.constants import AcquisitionType, LineGrouping
99

1010
with nidaqmx.Task() as task:
11-
data = [1, 2, 4, 8, 16, 32, 64, 128]
12-
13-
task.do_channels.add_do_chan("Dev1/port0", line_grouping=LineGrouping.CHAN_FOR_ALL_LINES)
11+
chan = task.do_channels.add_do_chan("Dev1/port0", line_grouping=LineGrouping.CHAN_FOR_ALL_LINES)
1412
task.timing.cfg_samp_clk_timing(10.0, sample_mode=AcquisitionType.CONTINUOUS)
13+
14+
# Generate a walking 1's pattern.
15+
data = [1 << i for i in range(chan.do_num_lines)]
16+
17+
print("Writing data:")
18+
for i, value in enumerate(data):
19+
print("sample {:2}: 0x{:0{width}X}".format(i, value, width=chan.do_num_lines // 4))
20+
1521
task.write(data)
1622
task.start()
1723

examples/digital_out/cont_gen_dig_port_int_clk_wfm.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,18 @@
1010
import nidaqmx
1111
from nidaqmx.constants import AcquisitionType, LineGrouping
1212

13-
np.set_printoptions(linewidth=220) # ensure signal.data prints on a single line
13+
np.set_printoptions(linewidth=120) # ensure signal.data prints on a single line
1414

1515
with nidaqmx.Task() as task:
16-
task.do_channels.add_do_chan("Dev1/port0", line_grouping=LineGrouping.CHAN_FOR_ALL_LINES)
16+
chan = task.do_channels.add_do_chan("Dev1/port0", line_grouping=LineGrouping.CHAN_FOR_ALL_LINES)
1717
task.timing.cfg_samp_clk_timing(10.0, sample_mode=AcquisitionType.CONTINUOUS)
1818

19-
sample_count = 50
20-
signal_count = task.do_channels[0].do_num_lines
21-
waveform = DigitalWaveform(sample_count, signal_count)
22-
for i in range(sample_count):
23-
for j in range(signal_count):
24-
waveform.signals[j].name = f"line {j:2}"
25-
waveform.signals[j].data[i] = (i >> (j % 8)) & 1
19+
# Generate a walking 1's pattern.
20+
waveform = DigitalWaveform.from_port(
21+
[1 << i for i in range(chan.do_num_lines)], mask=(1 << chan.do_num_lines) - 1
22+
)
23+
for signal in waveform.signals:
24+
signal.name = f"line {signal.signal_index:2}"
2625

2726
print("Writing data:")
2827
for signal in waveform.signals:

0 commit comments

Comments
 (0)