| 1 | defProperty('txnode', 'node21-1.grid.orbit-lab.org', "Console connected to the transmit node")
|
|---|
| 2 | #defProperty('addr', 'addr=10.10.23.3', "IP address of USRP")
|
|---|
| 3 | defProperty('rate', '5e6', "Sampling rate")
|
|---|
| 4 | #defProperty('freq', '5030000000', "Center frequency")
|
|---|
| 5 | defProperty('t_on', '5', "ON duration (number of slots)")
|
|---|
| 6 | defProperty('t_off', '7', "OFF duration (number of slots)")
|
|---|
| 7 | #defProperty('t_gran', '0.5', "Time granularity (in seconds)")
|
|---|
| 8 | defProperty('runtime', 50, "Run time (s)")
|
|---|
| 9 |
|
|---|
| 10 | defApplication('test:app:genericofdm', 'generic_ofdm.py') { |a|
|
|---|
| 11 | a.version(2, 0, 4)
|
|---|
| 12 | a.shortDescription = ""
|
|---|
| 13 | a.description = ""
|
|---|
| 14 | a.path = "export LC_ALL=C;/root/SC2/generic_ofdm.py"
|
|---|
| 15 | a.defProperty('addr', "IP address of USRP", '--addr',
|
|---|
| 16 | {:dynamic => false, :type => :string})
|
|---|
| 17 | a.defProperty('freq', "center frequency in Hz", '-f',
|
|---|
| 18 | {:dynamic => false, :type => :string})
|
|---|
| 19 | a.defProperty('gain', "Transmit gain in dB", '--gain',
|
|---|
| 20 | {:dynamic => false, :type => :string})
|
|---|
| 21 | a.defProperty('rate', "specify sampling rate", '--rate',
|
|---|
| 22 | {:dynamic => false, :type => :string})
|
|---|
| 23 | a.defProperty('t_gran', "specify size of time slot in seconds", '--t-gran',
|
|---|
| 24 | {:dynamic => false, :type => :string})
|
|---|
| 25 | a.defProperty('t_on', "specify ON duration (number of slots)", '--t-on',
|
|---|
| 26 | {:dynamic => false, :type => :string})
|
|---|
| 27 | a.defProperty('t_off', "specify OFF duration (number of slots)", '--t-off',
|
|---|
| 28 | {:dynamic => false, :type => :string})
|
|---|
| 29 | }
|
|---|
| 30 |
|
|---|
| 31 | defGroup('tx_node0', property.txnode) { |n|
|
|---|
| 32 | n.addApplication('test:app:genericofdm') { |app|
|
|---|
| 33 | app.setProperty('addr','addr=10.10.23.1')
|
|---|
| 34 | app.setProperty('freq', '5040000000')
|
|---|
| 35 | app.setProperty('rate',property.rate)
|
|---|
| 36 | app.setProperty('gain','20')
|
|---|
| 37 | app.setProperty('t_gran','0.4')
|
|---|
| 38 | app.setProperty('t_on',property.t_on)
|
|---|
| 39 | app.setProperty('t_off',property.t_off)
|
|---|
| 40 | }
|
|---|
| 41 | }
|
|---|
| 42 |
|
|---|
| 43 | defGroup('tx_node1', property.txnode) { |n|
|
|---|
| 44 | n.addApplication('test:app:genericofdm') { |app|
|
|---|
| 45 | app.setProperty('addr','addr=10.10.23.2')
|
|---|
| 46 | app.setProperty('freq', '5050000000')
|
|---|
| 47 | app.setProperty('rate',property.rate)
|
|---|
| 48 | app.setProperty('gain','20')
|
|---|
| 49 | app.setProperty('t_gran','0.5')
|
|---|
| 50 | app.setProperty('t_on',property.t_on)
|
|---|
| 51 | app.setProperty('t_off',property.t_off)
|
|---|
| 52 | }
|
|---|
| 53 | }
|
|---|
| 54 |
|
|---|
| 55 | onEvent(:ALL_UP_AND_INSTALLED) { |event|
|
|---|
| 56 | info "Give machines some time to warm up :-)"
|
|---|
| 57 | wait 2
|
|---|
| 58 | info "Starting the transmitter"
|
|---|
| 59 | allGroups.startApplications
|
|---|
| 60 | info "Runing for #{property.runtime} seconds..."
|
|---|
| 61 | wait property.runtime
|
|---|
| 62 | info "Done! Stop eveything"
|
|---|
| 63 | allGroups.stopApplications
|
|---|
| 64 | Experiment.done
|
|---|
| 65 | }
|
|---|
| 66 |
|
|---|