=====
Aug.27.2008. k.f

tdslib.c v2.0
make 'inst0' the default
make osf1 strip | & tee make-orange-v200.log
make tdstest strip | & tee make-okra-v200.log
make tdstest strip | & tee make-amsad4-v200.log
make tdstest strip | & tee make-amsad8-v200.log

tdstest 172.19.63.254 '*idn?'
TEKTRONIX,DPO3054,C010165,CF:91.1CT FV:v1.04 DPO3COMP:V1.00 DPO3EMBD:V1.00 DPO3AUTO:V1.00 
tdstest 172.19.68.36 '*idn?'
TEKTRONIX,DPO4054,C020060,CF:91.1CT FV:v2.06 
tdstest 172.19.68.19 '*idn?'
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.35 TDS3FFT:v1.00 TDS3TRG:v1.00

=====
Dec.9.2007. k.f

with larger buffer
make osf1 | & tee make-orange-v192.log
make strip
make tdstest | & tee make-amsad6-v191.log
make strip
make tdstest | & tee make-amsad8-v191.log
make strip

=====
Sep.30.2007. k.f

dynamic library have to be tuned for dyn-library on darwin
make tdstest | & tee make-amsad6-v191.log
make tdstest | & tee make-amsad8-v191.log

=====
Sep.3.2007. k.f

it works with dpo7104
(test with tektronix dpo4104)
% tdstest 172.19.49.168 '*idn?' debug
tdstest -- '172.19.49.168', '*idn?'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_control TIMEOUT
tds_init -- clnt_create DEVICE_ASYNC
tds_timeout -- clnt_control TIMEOUT
tds_timeout -- specify timeout
tds_open -- create_link
tds_open -- signal
tds_lock -- device_lock
tds_write -- device_write
tds_read -- device_read
tds_unlock -- device_unlock
TEKTRONIX,DPO4104,C012567,CF:91.1CT FV:v2.01 
tds_close -- destroy_link
% rpcinfo -p 172.19.49.168
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    395183    1   tcp    715
    395184    1   tcp    718
(test with agilent dso5054a)
% tdstest 130.87.161.153 '*idn?' debug
tdstest -- '130.87.161.153', '*idn?'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_control TIMEOUT
130.87.161.153: RPC: Program not registered
% rpcinfo -p 130.87.161.153
   program vers proto   port
    395180    1   tcp   1024
    395183    1   tcp   1024

(v1.9.1 was created)
% tdstest 130.87.161.153 '*idn?' agilent debug
tdstest -- '130.87.161.153', '*idn?', 'agilent'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_control TIMEOUT
130.87.161.153: RPC: Program not registered
tds_init -- clnt_create DEVICE_ASYNC failed (ignored)
tds_timeout -- clnt_control TIMEOUT
tds_timeout -- specify timeout
tds_open -- create_link
tds_open -- signal
tds_lock -- device_lock
tds_write -- device_write
tds_read -- device_read
tds_unlock -- device_unlock
AGILENT TECHNOLOGIES,DSO5054A,MY47150822,04.10.0239
tds_close -- destroy_link

% telnet 130.87.161.153 5025
Trying 130.87.161.153...
Connected to 130.87.161.153.
Escape character is '^]'.
*idn?
AGILENT TECHNOLOGIES,DSO5054A,MY47150822,04.10.0239
^]
telnet> q
Connection closed.

=====
Jun.21.2007. k.f

add comments to tdslib.c
comment tdslib.c > ! tdslib.txt

=====
may.28.2007. k.f

on abco2
delpath /usr/local/bin
/usr/local/bin/make hpux EXT_CFLAGS=-I/usr/new/pkg/tcl8.4.1/include | & tee make-abco2-v185.log
failed

on abco1
delpath /usr/local/bin
/usr/local/bin/gmake hpux EXT_CFLAGS=-I/usr/new/pkg/tcl8.4.1/include | & tee make-abco1-v185.log
success

=====
feb.13.2006. k.f

(we need sunrpc on cygwin.)
make realclean
make cygwin TARGET=tdstest | & tee make-cygwin-v185.log

=====
may.26.2005. k.f

make realclean
make linux | & tee make-parsley-v185.log
make strip 

=====
nov.24.2004. k.f

=====
tar cf - tds-tcl/{*.[chx],Makefile,MEMO} | gzip > tar-back/tds-tcl-dec2003.tar.gz

=====
dec.10.2003. k.f

for tds8000

% tdstest tekosc-sm '*idn?' debug
tdstest -- 'tekosc-sm', '*idn?'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_control TIMEOUT
tds_init -- clnt_create DEVICE_ASYNC
tds_timeout -- clnt_control TIMEOUT
tds_timeout -- specify timeout
tds_open -- create_link
tds_open -- signal
Abort Error, Code = 4
tds_close -- destroy_link

modify tdslib.c to v1.8.5

% make realclean
% make osf1 |& tee make-orange-v185.log
% make strip

% ./tdstest tekosc-sm '*idn?' debug
tdstest -- 'tekosc-sm', '*idn?'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_control TIMEOUT
tds_init -- clnt_create DEVICE_ASYNC
tds_timeout -- clnt_control TIMEOUT
tds_timeout -- specify timeout
tds_open -- create_link
tds_open -- signal
tds_lock -- device_lock
tds_write -- device_write
tds_read -- device_read
tds_unlock -- device_unlock
TEKTRONIX,TDS8000B,0,CF:91.1CT FV:2.0.1.3
tds_close -- destroy_link

mv /control/lib/libtds.so /control/lib/libtds.so.v112
strip libtds.so
mv libtds.so /control/lib/



=====
sep.5.2003. k.f

without clnt_control(timeout=2)

% time tdstest 172.19.68.19 '*idn?'
172.19.68.19: RPC: Port mapper failure - RPC: Timed out
0.000u 0.003s 1:05.00 0.0%      0+0k 0+0io 0pf+0w

% time tdstest 172.19.68.20 'horizontal:recordlength 500' debug
tdslibmain -- '172.19.68.20', 'horizontal:recordlength 500'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_create DEVICE_ASYNC
tds_open -- create_link
tds_open -- signal
tds_open -- device_abort
tds_write -- device_write
172.19.68.20: RPC: Timed out
172.19.68.20: RPC: Timed out
0.000u 0.005s 0:50.02 0.0%      0+0k 0+0io 0pf+0w

with clnt_control(timeout=2)

% time ./tdstest 172.19.68.20 'horizontal:recordlength 500' debug
tdslibmain -- '172.19.68.20', 'horizontal:recordlength 500'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_control TIMEOUT
tds_init -- clnt_create DEVICE_ASYNC
tds_open -- create_link
tds_open -- signal
tds_open -- device_abort
tds_write -- device_write
172.19.68.20: RPC: Timed out
172.19.68.20: RPC: Timed out
0.000u 0.003s 0:04.03 0.0%      0+0k 0+0io 0pf+0w

=====
apr.12.2003. k.f

on alpha

% wish8.4
% pkg_mkIndex -verbose /control/lib libtds[info sharedlibextension]
successful loading of libtds.so
commands provided were 
packages provided were {Tds 1.0}
processed libtds.so

on hpux

% wish8.4
% pkg_mkIndex -verbose /control/lib libtds[info sharedlibextension]
successful loading of libtds.sl
commands provided were 
packages provided were {Tds 1.0}
processed libtds.sl

on linux

parsley[1583]% wish8.3
% pkg_mkIndex -verbose /control/lib libtds[info sharedlibextension]
successful loading of libtds.so
commands provided were 
packages provided were {Tds 1.0}
processed libtds.so

=====
apr.12.2003. k.f

on hpux (rfsrv2)

make clean
make hp
cc -Ae -D_HPUX_SOURCE -c -g +z -I/usr/new/pkg/tcl8.4.1/include/ -o tcltds.o tcltds.c

rfsrv2[1026]% wish8.4 
% load /usr/users/furukawa/control/work/measure/tds/tds-tcl/libtds.sl
% info command Tds_open
Tds_open
% info command Tds_write
Tds_write
% Tds_open tekosc2
tds40035078
% Tds_write tds40035078 *idn?
% Tds_read tds40035078
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00

% Tds_close tds40035078
% exit

rfsrv2[1035]% wish8.4
% load /control/lib/libtds.sl
% set tds [Tds_open tekosc2]
tds40040b40
% Tds_write $tds {*idn?;:data?}
% Tds_read $tds
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00;;;;;;

% Tds_close $tds
% set tds [Tds_open tekosc2]
tds40046138
% Tds_write $tds {horizontal:recordlength 500;:data:start 200;:dat:stop 300;:header off;:dat:width 1;:dat:source ch1;:dat:encdg ascii;:acquire:state run;:curv?}
% Tds_read $tds
19,18,19,19,19,20,20,19,19,18,19,19,20,18,20,19,18,18,19,20,19,20,18,19,20,18,17,19,17,19,19,18,21,20,18,18,20,19,20,18,19,19,21,21,18,19,20,20,19,20,20,21,20,19,20,19,20,18,19,20,20,21,18,19,21,19,18,19,21,19,19,20,20,20,21,20,18,18,20,19,19,21,20,20,18,21,21,19,20,20,20,19,19,21,19,19,20,20,19,19,20

% Tds_write $tds curv?
% Tds_read $tds
19,19,19,20,19,19,20,19,19,18,20,19,18,19,20,20,20,20,19,21,20,20,19,19,19,20,17,21,19,18,19,20,18,19,20,20,20,21,20,20,20,19,19,18,19,18,19,19,19,19,20,19,20,19,19,19,20,19,18,19,20,18,20,18,19,19,21,20,20,18,19,20,19,20,19,19,20,20,20,19,18,19,18,21,19,19,18,20,18,20,18,19,20,20,18,18,20,19,19,20,19

% Tds_write $tds :curv?
% Tds_read $tds
19,20,18,19,21,19,19,20,20,20,19,18,19,19,20,21,18,19,20,20,21,20,20,18,20,20,19,20,20,20,19,19,20,20,19,20,20,18,19,19,19,20,19,19,19,20,19,19,18,20,20,18,19,19,20,19,18,18,18,20,20,18,20,20,18,18,20,19,19,20,18,21,20,20,20,19,18,20,19,19,20,19,19,19,18,19,19,18,21,18,20,20,20,21,19,20,20,20,20,20,19

% Tds_write $tds {:curv?}
% set data [Tds_read $tds]
21,18,19,20,19,20,19,21,19,20,20,18,19,18,18,19,19,19,19,19,17,20,19,19,20,20,18,18,21,19,19,20,19,20,19,20,18,19,18,18,17,18,19,19,19,20,19,19,19,19,19,19,20,20,19,17,19,20,17,18,20,17,20,19,19,19,18,20,18,18,19,19,21,18,17,19,20,19,19,19,18,19,20,22,18,20,18,19,20,21,20,19,20,19,18,20,20,20,19,20,20

% Tds_close $tds
% exit

rfsrv2[1042]% wish8.4
% load /control/lib/libtds.sl
% package require BLT
2.4
% namespace import blt::*
% pack [graph .g]
% vector x y
::y
% set tds [Tds_open tekosc2]
tds400b1830
% Tds_write $tds {horizontal:recordlength 500;:data:start 200;:dat:stop 300;:header off;:dat:width 1;:dat:source ch1;:dat:encdg ascii;:acquire:state run}
% Tds_write $tds curv?
% set y1 [Tds_read $tds]
17,21,20,20,19,21,19,19,19,20,18,20,19,19,18,19,19,18,20,18,19,20,17,19,20,19,20,19,19,20,20,20,19,19,17,17,19,18,20,20,18,19,20,19,19,19,18,18,19,18,19,21,20,19,19,19,19,20,22,18,18,18,20,19,19,19,18,20,19,19,19,19,20,19,20,19,19,19,20,19,18,18,20,18,20,20,20,19,20,19,18,20,19,18,19,20,19,19,19,20,19

% y set [regsub -all , $y1 " "]
% for {set i 0} {$i < [y length]} {incr i} {
set x(++end) $i
}
% .g element create g -xdata x -ydata y
g
% Tds_write $tds curv?
% y set [regsub -all , [Tds_read $tds] " "]
% for {set i 0} {$i < 20} {incr i} {
Tds_write $tds curv?
y set [regsub -all , [Tds_read $tds] " "]
update
after 1000
}
% Tds_close $tds
% exit

-----
on alpha

all long declaration in vxi11.x was replaced with int for alpha

make realclean
make osf1 TARGET=tdslibmain
cc -std1 -g -c -o tdslibmain.o -DMAIN -DCHECK tdslib.c
make osf1 TARGET=tdslibmain

orange[1661]% ./tdslibmain 172.19.68.20 '*idn?' debug
24 24 16 16 4 32 8 24 24 
tdslibmain -- '172.19.68.20', '*idn?'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_create DEVICE_ASYNC
tds_open -- create_link
tds_open -- signal
tds_open -- device_abort
tds_write -- device_write
tds_read -- device_read
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00
tds_close -- destroy_link
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_create DEVICE_ASYNC
tds_open -- create_link
tds_open -- signal
tds_open -- device_abort
tds_write -- device_write
tds_read -- device_read
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00
tds_close -- destroy_link

make realclean
make osf1

=====
apr.11.2003. k.f

tcltds v1.7.0 on parsley

% wish
% load /usr/users/furukawa/control/work/measure/tds/tds-tcl/libtds.so
% info command Tds_open
Tds_open
% info command Tds_close
Tds_close
% Tds_open tekosc2
tds0x808b080
% Tds_close tds0x808b080
% exit

parsley[1535]% wish
% load /usr/users/furukawa/control/work/measure/tds/tds-tcl/libtds.so
% info command Tds_write
Tds_write
% info command Tds_read
Tds_read
% Tds_open tekosc2
tds0x808b0a8
% Tds_write tds0x808b0a8 *idn?
% Tds_read  tds0x808b0a8
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00

% Tds_write tds0x808b0a8 *idn?
% Tds_read  tds0x808b0a8
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00

% Tds_close tds0x808b0a8
% Tds_open tekosc2
tds0x80b3b90
% Tds_write tds0x80b3b90 *idn?
% Tds_read tds0x80b3b90
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00

% Tds_write tds0x80b3b90 *idn?
% Tds_read tds0x80b3b90
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00

% Tds_close tds0x80b3b90
% exit

=====
apr.10.2003. k.f

tdslib v1.7.1

parsley[1443]% ./tdslibmain 172.19.68.20 '*idn?' debug
tdslibmain -- '172.19.68.20', '*idn?'
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_create DEVICE_ASYNC
tds_open -- create_link
tds_open -- signal
tds_open -- device_abort
tds_write -- device_write
tds_read -- device_read
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00
tds_close -- destroy_link
tds_init -- clnt_create DEVICE_CORE
tds_init -- clnt_create DEVICE_ASYNC
tds_open -- create_link
tds_open -- signal
tds_open -- device_abort
tds_write -- device_write
tds_read -- device_read
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00
tds_close -- destroy_link
parsley[1444]% ./tdslibmain 172.19.68.20 '*idn?'
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00
TEKTRONIX,TDS 3054B,0,CF:91.1CT FV:v3.26 TDS3FFT:v1.00 TDS3TRG:v1.00
