[[Include(WikiToC)]]
=== Service: mmWave Array Management
This service is used to manage various (IBM PAAM, Sivers 60 GHz and Itnerdigital MHU) mmWave arrays.
Array parameters:
* Device Name
* Number of antenna elements
* TX/RX
* Polarization
* Number of ICs
==== Connect
Connect to the array.
{{{
Connect to the array
Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org', 'rfdev-mob4-1.sb1.cosmos-lab.org']
PAAM ICs; choices are: ['all', '0', '1', '2', '3'] (default=all)
Number of Antenna Elements; 1 to 16 (default=1)
TX/RX Mode Selection! Should be either tx (transmit) or rx (receive) (default=tx)
Polarization! Should be either h (horizontal) or v (vertical) (default=v)
Verification (boolean flag); Should be true/false (default=False)
}}}
==== Disconnect
Disconnect the array from the control
{{{
Disconnect from the array
Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']
}}}
==== Steer
{{{
Steer the array beam
Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']
Theta (Beam) Angle! Integer in range -60 to 60 (default=10)
Phi (Beam) Angle! Integer in range -10 to 10 (default=10)
}}}
==== Status
{{{
Get the status of the array
Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']
}}}
==== Cleanup
{{{
Cleanup and shutdown the array
Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']
}}}
==== Configure
{{{
Configure the array
Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']
PAAM ICs; choices are: ['all', '0', '1', '2', '3'] (default=all)
Number of Antenna Elements; 1 to 16 (default=1)
TX/RX Mode Selection! Should be either tx (transmit) or rx (receive) (default=tx)
Polarization! Should be either h (horizontal) or v (vertical) (default=v)
Theta (Beam) Angle! Integer in range -60 to 60 (default=10)
Phi (Beam) Angle! Integer in range -10 to 10 (default=10)
Verification (boolean flag); Should be true/false (default=False)
}}}
==== Examples
'''Please note that, if you see a long delay in ''curl'' command execution, chances are you forgot to turn the array on'''
In the returned status messages, "duration" attribute is the operation/step duration time in seconds.
===== Single command/static array operation
{{{
omf tell -a on -t rfdev4-in1.sb1.cosmos-lab.org
curl "http://am1.orbit-lab.org:5054/array_mgmt/configure?dev_name=rfdev4-in1.sb1.cosmos-lab.org\&theta=16"
}}}
This will set the antenna array in corner 1 with all 4 ICs each with 1 element and vertically polarized in TX mode with phi angle at (default) 10 degrees and theta angle at 16 degrees
===== Resetting the array and turning it off
{{{
curl "http://am1.orbit-lab.org:5054/array_mgmt/cleanup?dev_name=rfdev4-in2.sb1.cosmos-lab.org"
omf tell -a offh -t rfdev4-in2.sb1.cosmos-lab.org
}}}
===== Dynamic array management
{{{
omf tell -a on -t rfdev4-in1.sb1.cosmos-lab.org
curl "http://am1.orbit-lab.org:5054/array_mgmt/connect?dev_name=rfdev4-in1.sb1.cosmos-lab.org"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/steer?dev_name=rfdev4-in1.sb1.cosmos-lab.org&theta=11&phi=10"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/steer?dev_name=rfdev4-in1.sb1.cosmos-lab.org&theta=16&phi=8"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/steer?dev_name=rfdev4-in1.sb1.cosmos-lab.org&theta=22&phi=0"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/disconnect?dev_name=rfdev4-in1.sb1.cosmos-lab.org"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/cleanup?dev_name=rfdev4-in1.sb1.cosmos-lab.org"
omf tell -a offh -t rfdev4-in1.sb1.cosmos-lab.org
}}}