summaryrefslogtreecommitdiff
path: root/ce/test/rx/maximus/send_noise.py
diff options
context:
space:
mode:
authorlacour2008-02-05 09:27:37 +0000
committerlacour2008-02-05 09:27:37 +0000
commitbd38af98eab8d9cee50e18e242cdf0ed9df57fcb (patch)
tree4a36e05d6a70cc2c44dfbc5339b57603402309b4 /ce/test/rx/maximus/send_noise.py
parent80939396e6e1970fe0c1ecfa4a9734d00ab8ed31 (diff)
Move test/maximus into test/rx/maximus.
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1363 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'ce/test/rx/maximus/send_noise.py')
-rw-r--r--ce/test/rx/maximus/send_noise.py92
1 files changed, 92 insertions, 0 deletions
diff --git a/ce/test/rx/maximus/send_noise.py b/ce/test/rx/maximus/send_noise.py
new file mode 100644
index 0000000000..98e127bd75
--- /dev/null
+++ b/ce/test/rx/maximus/send_noise.py
@@ -0,0 +1,92 @@
+#!/usr/bin/python
+
+#print __name__
+
+import sys
+sys.path.append ('../../../../maximus/python')
+sys.path.append ('../../../../maximus/python/obj')
+from interface import *
+from maximus.macframe import *
+from maximus.macframe.msdu import MAX_SIZE_OF_MSDU
+from struct import *
+
+# Create and initializes Maximus
+maximus = Maximus()
+maximus.init(sys.argv)
+
+# Create a station
+sta = maximus.create_sta ()
+sta.debug()
+maximus.disturb_channel()
+
+pb_nb = 200
+frame_nb = 22
+
+ce_init_fcall = maximus.create_fcall ('ce_init')
+ce_init_fcall.send(sta)
+sar_start_fcall = maximus.create_fcall ('sar_start')
+sar_start_fcall.send(sta)
+
+ce_check_stock_fcall = maximus.create_fcall ('ce_check_stock')
+ce_check_stock_fcall.add_param_ushort ('frame_nb', frame_nb);
+ce_check_stock_fcall.add_param_ushort ('pb_nb', pb_nb);
+ce_start_fcall = maximus.create_fcall ('ce_start')
+ce_check_computation_fcall = maximus.create_fcall ('ce_check_computation')
+
+
+def prepare_rx_param_init():
+ prepare_rx_fcall = maximus.create_fcall('prepare_rx')
+ fc_mode = 2 # PHY_FC_MODE_AV_1
+ prepare_rx_fcall.add_param_ushort("fc_mode", fc_mode)
+ prepare_rx_fcall.add_param_bool("short_ppdu", False)
+ mod = 0 # PHY_MOD_ROBO
+ prepare_rx_fcall.add_param_ushort("mod", mod)
+ fecrate = 0 # PHY_FEC_RATE_1_2
+ prepare_rx_fcall.add_param_ushort("fecrate", fecrate)
+ pb_size = 1
+ prepare_rx_fcall.add_param_ushort("pb_size", pb_size)
+ gil = 1 # PHY_GIL_567
+ prepare_rx_fcall.add_param_ushort("gil", gil)
+ #pb_nb = 1
+ prepare_rx_fcall.add_param_ushort("pb_nb", pb_nb)
+ #prepare_rx_fcall.send(sta)
+ return prepare_rx_fcall
+
+test_result_fcall = maximus.create_fcall('test_result_get')
+
+queue = MACFrameQueue()
+queue.set_fc_av(pack('IIII', 0, 456, 789, 10))
+payload = 512*'X'+(pb_nb-1)*512*'Y'
+macframe_nb = (len(payload) + (MAX_SIZE_OF_MSDU-1)) / MAX_SIZE_OF_MSDU
+payload = payload[macframe_nb*6:]
+
+def create_msdu():
+ msdu = MACFrame()
+ msdu.set_macframeheader ('MF')
+ msdu.set_icv ('CRC0')
+ return msdu
+
+def send_queue():
+ for i in range (macframe_nb):
+ macFrame = create_msdu()
+ macFrame.set_msdu(payload[i*MAX_SIZE_OF_MSDU:min((i+1)*MAX_SIZE_OF_MSDU, len(payload))])
+ queue.add(macFrame)
+ queue.send(maximus)
+
+for i in range(frame_nb) :
+ prepare_rx_param_init().send(sta)
+ send_queue()
+
+ce_check_stock_fcall.send(sta)
+ce_start_fcall.send(sta)
+ce_check_computation_fcall.send(sta)
+
+maximus.wait(10000000)
+
+res = test_result_fcall.send(sta)
+result = res.bind_param_ushort ("test_result")
+#print "test has returned ", hex(result)
+sta.remove()
+
+sys.exit(result)
+