BBN-Q / Instruments.jl

Instrument control in Julia
Other
39 stars 23 forks source link

Updated "readavailable" with new "take!" method #14

Closed iuliancioarca closed 4 years ago

iuliancioarca commented 4 years ago

Minor update: takebuf_array was replaced by take!. Also, please re-submit this package to the General registry so users can add it with: ]add Instruments

matthewware commented 4 years ago

LGTM Thanks @iuliancioarca !

iuliancioarca commented 4 years ago

@matthewware, do you think it's possible to pack the visa library in an artifact(maybe even the ones for mac and linux) and avoid the hassle of installing via the official installer? I'm not sure if NI allows to pull specific parts of their visa installation into other software and I also don't know if the visa library can be used standalone or it depends on additional libraries. I'm willing to try this but I also ask for your advice. This would help building the package without any errors(or warnings for my branch) and even register it. I encountered this issue in my package, which relies on Instruments.jl(https://github.com/iuliancioarca/GenericInstruments.jl) where I could not add it directly as a dependency(since it's not registered yet) and CI build would fail because of the missing visa library. Thank you!

EDIT: It should work only with the visa library. I had a look inside the header files while trying to fully wrap them with Clang.jl.

caryan commented 4 years ago

Because we can't determine whether this will be used only with NI devices we cannot distribute NI-VISA without purchasing a distribution license. It would also be a nightmare to distribute in a cross-platform manner as at least on Linux NI-VISA is an ugly set of kernel drivers that only works on certain distributions and kernel versions.

catosp commented 4 years ago

Hi there! I have a question: is Instruments.jl wrote in julia code or is based on python code ? Sorry if this is a dumb question.

matthewware commented 4 years ago

Hi @catosp, Instruments.jl is written in Julia. There was a one time a push to develop a pyvisa backend to make the code more portable and fix some the nasty dependency issues. But this turned out to have a lot of issues of its own. So right now, Instruments.jl is pure Julia.

catosp commented 4 years ago

Oh great work @matthewware ! Now it work charmingly on Julia 1.4 !