Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Is the 0.8.5 gpib linux driver multithread safe?

I'd like to know more about what your code is doing and what it gets back...What is the return value of ThreadIbsta? Are you sure that your instrument is giving any data back? You said that you got only 16 characters; how many did you ask for when you called IBRD? Are you doing board or device level ibrd? How are you setting the EOS character? With IBEOS? What exactly are you passing to it?

If you have a small snippet of code with comments about what is returned, that would be helpful.

Scott B.
GPIB Software
National Instruments
0 Kudos
Message 11 of 15
(1,348 Views)
I received your question through another channel with no new information. Can you please respond to me here so that we can determine the problem and fix it?

Thanks,
Scott B.
GPIB Software
National Instruments
0 Kudos
Message 12 of 15
(1,334 Views)
In communicating with someone in our France Branch, I see that you are able to reproduce the same problem in interactive control. If so, please let me know the interactive control commands you are using to see the problem.

Scott B.
GPIB Software
National Instruments
0 Kudos
Message 13 of 15
(1,322 Views)
With gpibintctrl, under linux Red Hat 8.0

I initialise ibdev with

enter board index: 0
enter primary address: 7
enter secondary address: 0
enter timeout: 0
enter 'EOI on last byte' flag: 0
enter end-of-string mode/byte: 0x0a

then I call ibwrt

ud0: ibwrt "VE?\r\n"
[0100] ( cmpl )
count: 5

and ibrd for 30 bytes

ud0: ibrd
enter byte count: 30
[2100] ( end cmpl )
count: 30
00 00 00 00 00 00 00 00 . . . . . . . .
00 00 00 00 00 00 00 00 . . . . . . . .
00 00 00 00 00 00 00 00 . . . . . . . .
00 00 00 00 00 00 . . . . . .

if I call ibrd for 16 and 14 bytes :

ud0: ibrd
enter byte count: 16
[0100] ( cmpl )
count: 16
45 53 50 33 30 30 20 56 E S P 3 0 0 V
65 72 73 69 6f 6e 20 33 e r s i o n 3

ud0: ibrd 14
[2100] ( end cmpl )
count: 14
2e 30 38 20 30 39 2f 30 . 0 8 0 9 / 0
39 2f 30 32 0d 0a 9 / 0 2 . .


I remember that in linux beta driver 0.8.5, which is not thread safe, the 30 bytes response was good : what is the difference between the two code parts which can
explain the difference between the 2 behaviour?
0 Kudos
Message 14 of 15
(1,320 Views)
Thanks for the information. So that I can keep all your information in one place, let's continue this via e-mail.

Scott
0 Kudos
Message 15 of 15
(1,311 Views)