A Julia wrapper for the NI-DAQmx driver, providing type-safe access to NI data acquisition hardware.
NI-DAQmx is a trademark of National Instruments. This project is not affiliated with or endorsed by National Instruments.
using Pkg
Pkg.add("DAQmx")Requires NI-DAQmx driver to be installed on your system.
using DAQmx
# List available devices
devs = devices()
# Analog input: read 100 samples at 1 kHz
task = AITask("Dev1/ai0")
configure_timing!(task; rate=1000.0, samples_per_channel=100)
start!(task)
data = read(task)
stop!(task)
# Analog output: write a sine wave
task = AOTask("Dev1/ao0")
write(task, sin.(2π .* (0:99) ./ 100))- Parametric task types (
AITask,AOTask,DITask,DOTask,CITask,COTask) for type-safe dispatch - Julia enums for terminal configuration, edge detection, sample modes
- Automatic task handle cleanup via finalizers
- Support for analog, digital, and counter I/O
- Timing configuration: sample clock, implicit, change detection
- Trigger support: digital edge, analog edge, analog window
- API Reference - Complete function and type documentation
- Full Documentation - Guides and examples
MIT License - see LICENSE file.