-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Add basic VXI11 support #109
Conversation
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. |
unsigned int SCPI_outputBuffer_wr_idx = 0; | ||
unsigned int SCPI_outputBuffer_rd_idx = 0; | ||
|
||
char available_bytes = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: unused
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 |
(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.)
https://github.com/bminor/glibc/tree/master/sunrpc 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
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