Skip to content

Commit bd555bd

Browse files
authored
Add Digital Input examples (#573)
* Add Digital Input examples * renamed files and reworked * updated to 1 read/second for cont example
1 parent ff11da3 commit bd555bd

File tree

5 files changed

+74
-30
lines changed

5 files changed

+74
-30
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""Example for reading digital signals.
2+
3+
This example demonstrates how to input a finite digital pattern
4+
using the DAQ device's internal clock.
5+
"""
6+
7+
import nidaqmx
8+
from nidaqmx.constants import AcquisitionType, LineGrouping, READ_ALL_AVAILABLE
9+
10+
11+
with nidaqmx.Task() as task:
12+
task.di_channels.add_di_chan("Dev1/port0", line_grouping=LineGrouping.CHAN_FOR_ALL_LINES)
13+
task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.FINITE, samps_per_chan=50)
14+
15+
data = task.read(READ_ALL_AVAILABLE)
16+
print("Acquired data: [" + ", ".join(f"{value:#x}" for value in data) + "]")
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""Example for reading digital signals.
2+
3+
This example demonstrates how to acquire a continuous digital
4+
waveform using the DAQ device's internal clock.
5+
"""
6+
7+
import nidaqmx
8+
from nidaqmx.constants import AcquisitionType, LineGrouping
9+
10+
11+
with nidaqmx.Task() as task:
12+
task.di_channels.add_di_chan("Dev1/port0/line0:3", line_grouping=LineGrouping.CHAN_PER_LINE)
13+
task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.CONTINUOUS)
14+
task.start()
15+
print("Acquiring samples continuously. Press Ctrl+C to stop.")
16+
17+
try:
18+
total_read = 0
19+
while True:
20+
data = task.read(number_of_samples_per_channel=1000)
21+
read = len(data)
22+
total_read += read
23+
print(f"Acquired data: {read} samples. Total {total_read}.", end="\r")
24+
except KeyboardInterrupt:
25+
pass
26+
finally:
27+
task.stop()
28+
print(f"\nAcquired {total_read} total samples.")

examples/digital_in/di_sw_timed.py

Lines changed: 0 additions & 30 deletions
This file was deleted.

examples/digital_in/read_dig_lines.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""Example for reading digital signals.
2+
3+
This example demonstrates how to read values from one or more
4+
digital input channels.
5+
"""
6+
7+
import nidaqmx
8+
from nidaqmx.constants import LineGrouping
9+
10+
11+
with nidaqmx.Task() as task:
12+
task.di_channels.add_di_chan("Dev1/port0/line0:3", line_grouping=LineGrouping.CHAN_PER_LINE)
13+
14+
data = task.read()
15+
print(f"Acquired data: {data}")

examples/digital_in/read_dig_port.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""Example for reading a digital signal.
2+
3+
This example demonstrates how to read values from a digital
4+
input port.
5+
"""
6+
7+
import nidaqmx
8+
from nidaqmx.constants import LineGrouping
9+
10+
11+
with nidaqmx.Task() as task:
12+
task.di_channels.add_di_chan("Dev1/port0", line_grouping=LineGrouping.CHAN_FOR_ALL_LINES)
13+
14+
data = task.read()
15+
print(f"Acquired data: {data:#x}")

0 commit comments

Comments
 (0)