On Dec 11, 2012, at 1:58 AM, Jean Dubois <jeandubois...@gmail.com> wrote:
> On 10 dec, 16:34, w...@mac.com wrote: >> On Dec 10, 2012, at 8:31 AM, Jean Dubois <jeandubois...@gmail.com> wrote: >> >> [byte] >>> As you can see this approach suffers from the same "buffer problem" as >>> the approach with readline did. One now good argue as a workaround: >>> get rid of the first data pair and add an extra measure command for >>> the missing data pair, however this still does not explain why this >>> problem is there in Python and not in Octave and I also fear I'll get >>> more trouble when sending combined commands e.g. such as that to >>> create a staircase current >>> So my question is, how to modify the Python-code such that the first >>> data pair is indeed the first data pair >> >>> thanks, >>> jean >> >>> Here follows the new code: >>> #!/usr/bin/python >>> import time >>> import os >>> import sys >>> measurementcurr='' >>> measurementvolt='' >>> timesleepdefault=5 >>> print "Enter a numofchar (11 =<numchar =<4095):", >>> numofchar = int(raw_input()) >>> filename ='mydata.txt' >>> usbkeith = open('/dev/usbtmc1','r+') >>> usbkeith.flush() >>> usbkeith.write("*IDN?\n") >> >> It seems like a real leap of faith to be opening /dev/usbtmc1 as though it >> were a file-oriented device. I've never heard of ANY instrument interface >> implemented this way. >> Where did you see example code that did that. > I found examples in the usbtmc kernel driver documentation (the > examples there are given in C): > http://www.home.agilent.com/upload/cmc_upload/All/usbtmc.htm?&cc=BE&lc=dut > OK - I see where the examples came from, and I notice - int my_inst; my_inst=open(ā/dev/usbtmc1ā,O_RDWR); write(my_inst,ā*RST\nā,5); close(my_inst); and similarly in another place - retval=write(myfile,"*IDN?\n",6); Note that both write commands contain a byte count of the number of characters to be written (\n counts as one character). Again, the read commands contain byte counts. I'm very suspicious that a write command with no byte count writes nothing, but does move a buffer pointer. -Bill -- http://mail.python.org/mailman/listinfo/python-list