Skip to content

LidkeLab/DAQmx.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DAQmx.jl

Stable Dev Build Status Coverage

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.

Installation

using Pkg
Pkg.add("DAQmx")

Requires NI-DAQmx driver to be installed on your system.

Quick Start

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))

Features

  • 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

Documentation

License

MIT License - see LICENSE file.

About

Julia package: DAQmx

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages