Closed zaporozhets closed 4 years ago
Can this be conditionally included/excluded in the compilation? Asking because I'm using the library in a memory challenged microcontroller.
Yes, libscpi can be compiled without vxi11 support.
Thank you for this example of VXI11 usage.
I'm sorry for so late response. I thought that I can review it and test it but I was unable to do it until now.
Please, do you have the source file for rpcgen
which was used to generate vxi11_xdr.c
?
Do you have some hints for me, how can I try this? I don't have any experience with VXI11. e.g. how to generate VXI11 counterpart so I can talk with this example.
(I'm lurking around, watching this project, though I don't have any intentions of using this patch at this moment. On the other hand, I figure I can answer your questions.)
Please, do you have the source file for
rpcgen
which was used to generatevxi11_xdr.c
?
rpcgen.c
comes with from old SUN UNIX utilities. There are a bunch of different forks, such as:
https://github.com/bminor/glibc/tree/master/sunrpc http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=tree;f=tools/rpcgen;hb=HEAD
However, there should be an IDL file (.x extension) used with rpcgen. I don't see that here. For example, I wrote a server in Python, using a modified IDL file:
https://github.com/pigrew/pyvxi11aio/blob/master/vxi11aio/xdr/vxi11.x
Based on the VXI11 spec, the IDL file is:
https://github.com/pigrew/pyvxi11aio/blob/master/vxi11aio/xdr/vxi11_orig.x
Do you have some hints for me, how can I try this? I don't have any experience with VXI11. e.g. how to generate VXI11 counterpart so I can talk with this example.
VXI11 is a TCP-IP (perhaps with some UDP) based protocol, based on SUN/ONC RPC. It's very similar to USBTMC, and more or less duplicates the functionality of GPIB, but over IP. There is a variant to handle abstracting GPIB interfaces, too. VXI11 is falling out of favor these days, being replaced with HiSLIP which was designed to replace it.
You can use the NI VISA libraries (Or Keysight, or whatnot). I usually use the NI MAX GUI. Connect to a VISA address like "TCPIP::127.0.0.1::INSTR", and it should properly detect the VXI-11 server.
To run the server, your computer will need to be running a portmapper daemon. Most UNIX computers will have one running, but it seemed difficult to find one for Windows. I ended up writing a minimal one in Python for my above referenced project.
Thank you for your answers. My bad english, I was interested in IDL files not rpcgen itself, but you have answered it anyway, great.
I will merge this even if I can't test it now, because it can be interesting codebase for others.
Yo Guys! Could you please take a look at my basic implementation of VXI11 example for parser.
Cheers, Taras