Skip to content

Use VISA(Virtual Instrument Software Architecture) in Elixir.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

OAsat/visa_elixir

Repository files navigation

ExVisa

This library provides a small set of Elixir functions to communicate with lab instruments via VISA.

Documentation is available here.

Requirements

NI-VISA, Python 3.10 and Poetry are required.

Installation

Add ex_visa to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_visa, "~> 0.2.1"}
  ]
end

Usage

iex(1)> ExVisa.list_resources()
["ASRL1::INSTR", "ASRL3::INSTR", "GPIB0::27::INSTR", "GPIB1::8::INSTR"]
iex(2)> ExVisa.idn("GPIB1::8::INSTR")
"KEITHLEY INSTRUMENTS INC.,MODEL 6221,4559777,D04  /700x \n"
iex(3)> ExVisa.write("GPIB1::8::INSTR", "SOUR:DELT:ARM")
{}
iex(4)> ExVisa.write("GPIB1::8::INSTR", "INIT:IMM")
{}
iex(5)> ExVisa.query("GPIB1::8::INSTR", "SENS:DATA?")
"+9.9E37,+5.248E+01\n"

Internals

Communication to VISA is implemented using Erlport and pyvisa.