summaryrefslogtreecommitdiff
path: root/ce
diff options
context:
space:
mode:
authorburet2008-01-07 09:29:24 +0000
committerburet2008-01-07 09:29:24 +0000
commit5c3714ac5560018e75571d0009841b0a83520a5a (patch)
treeff6280ac7e5dd8b2708dc4a64e981ce73ee9c6f0 /ce
parentf236755bf1ff1d5695b50d333e637c8fb5dcbb0c (diff)
Maximus V2: develop a MAC Frame Queue Python object to allow user to send an MPDU containing until 236 PBs.
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1222 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'ce')
-rw-r--r--ce/test/maximus/send_noise.py40
1 files changed, 23 insertions, 17 deletions
diff --git a/ce/test/maximus/send_noise.py b/ce/test/maximus/send_noise.py
index 8b764402e0..11b017a028 100644
--- a/ce/test/maximus/send_noise.py
+++ b/ce/test/maximus/send_noise.py
@@ -1,12 +1,13 @@
#!/usr/bin/python
-print __name__
+#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
@@ -15,7 +16,7 @@ maximus.init(sys.argv)
# Create a station
sta = maximus.create_sta ()
-#sta.debug();
+#sta.debug()
maximus.disturb_channel()
pb_nb = 200
@@ -55,23 +56,28 @@ def prepare_rx_param_init():
test_result_fcall = maximus.create_fcall('test_result_get')
-
-msdu = MACFrame()
-msdu.set_fc_av(pack('IIII', 0, 456, 789, 10))
-msdu.set_macframeheader ('MF')
-msdu.set_icv ('CRC0')
-#msdu.set_msdu('-this is an MPDU-')
-msdu.set_msdu(506*'X'+(pb_nb-1)*512*'Y')
-#msdu.set_msdu(15000*'X')
-# msdu.send(maximus)
-
-#maximus.wait(100000)
+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)
- #prepare_rx_fcall.send(sta)
- msdu.send(maximus)
- #maximus.wait(1000000)
+ prepare_rx_param_init().send(sta)
+ send_queue()
ce_check_stock_fcall.send(sta)
ce_start_fcall.send(sta)