Fixed spelling error: s/writeable/writable/g
[debian/gnuradio] / gr-msdd6000 / src / python / test_tcp.py
1 #!/usr/bin/python
2
3 from socket import *
4 import string
5 import time
6 import struct;
7 import random;
8
9 myport = random.randint(1025,65535);
10
11 port = 10000
12 host = "10.45.4.43"
13 myaddr = ("10.45.1.229",myport);
14
15 buf = 100000;
16
17 TCPSock = socket(AF_INET,SOCK_STREAM);
18 #TCPSock = socket(AF_INET,SOCK_DGRAM);
19 TCPSock.bind(myaddr);
20 TCPSock.connect((host,port));
21
22 f_mhz = 2400;   
23 f_hz = 0;       
24 gain = 2;       
25 window = 3;     #0=rect, 1=hanning, 2=hamming, 3=blackman
26 #samples = 0xffffffff;  #8-15   fft:(returns 2^number[8-15]) raw:(returns number)
27 samples = 2;    #8-15   fft:(returns 2^number[8-15]) raw:(returns number)
28 decim = 2;      #0-8  
29 #decim = decim+16;      # +16 to use 16bit instead of 32 bit 
30 mode = 1;       #0=IQ, 1=MAG, 2=MAGDB
31 sets = 0xffffffff;      
32 #sets = 1;
33
34 fft_data = struct.pack("<IIIIIIIIII", 0x02, 0x20, f_mhz, f_hz, gain,window, samples, decim, mode,sets);
35 raw_data = struct.pack("<IIIIIIII", 0x01, 0x18, f_mhz, f_hz, gain,samples, decim,sets);
36 stat_data = struct.pack("!II", 0x0000, 0x0000)
37
38 data = raw_data;
39
40 #TCPSock.sendto(data, (host,port))
41 TCPSock.send(data);
42
43 print "sent"
44
45
46
47 count = 0;
48 while(1):
49         data,addr = TCPSock.recvfrom(buf);
50         
51         print "got response"
52         
53         print "Data length: %d bytes."%(len(data));
54         if(len(data)==12):
55                 a,b,c = struct.unpack("!III",data);
56                 print "%x,%x,%x"%(a,b,c);
57
58         datavector = [];
59
60         for d in data:
61                 a = struct.unpack("<b",d);
62                 datavector.append(a);
63
64         print datavector;
65                 
66         count = count + 1;
67         
68         if(count > 1):
69                 sets = 3;
70                 raw_data_2 = struct.pack("<IIIIIIII", 0x01, 0x18, f_mhz, f_hz, gain,samples, decim,sets);
71                 TCPSock.send(raw_data_2);
72                 
73                 
74                 
75 TCPSock.close();
76
77
78