wiki:Resources/Services/ArrayMgmt

Version 6 (modified by prasanthi, 22 months ago) ( diff )

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.

<service name="connect">
  <info>Connect to the array</info>
  <args>
    <arg isRequired="true" name="dev_name">
      <info>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']</info>
    </arg>
    <arg isRequired="false" name="verify">
      <info>Verification (boolean flag); Should be true/false (default=False)</info>    </arg>
  </args>
</service>

Disconnect

Disconnect the array from the control

<info>Disconnect from the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>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']</info>
</arg>
</args>
</service>

Enable

<service name="enable">
 <info>Enable the ICs and Front ends</info>
 <args>
    <arg isRequired="true" name="dev_name">
      <info>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']</info>
    </arg>
    <arg isRequired="false" name="ics">      <info>PAAM ICs; choices are: ['all', '0', '1', '2', '3'] (default=all)</info>
    </arg>
    <arg isRequired="false" name="num_elements">
      <info>Number of Antenna Elements; 1 to 16 (default=1)</info>    </arg>
    <arg isRequired="false" name="txrx">
      <info>TX/RX Mode Selection! Should be either tx (transmit) or rx (receive) (default=tx)</info>    </arg>
    <arg isRequired="false" name="pol">
      <info>Polarization! Should be either h (horizontal) or v (vertical) (default=v)</info>    </arg>
  </args>
</service>

Steer

<service name="steer">
<info>Steer the array beam</info>
<args>
<arg isRequired="true" name="dev_name">
<info>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']</info>
</arg>
<arg isRequired="True" name="theta">
<info>Theta (Beam) Angle! Integer in range -60 to 60 (default=10)</info>
</arg>
<arg isRequired="True" name="phi">
<info>Phi (Beam) Angle! Integer in range -10 to 10 (default=10)</info>
</arg>
</args>
</service>

Status

<service name="status">
<info>Get the status of the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>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']</info>
</arg>
</args>
</service>

Cleanup

<service name="cleanup">
<info>Cleanup and shutdown the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>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']</info>
</arg>
</args>
</service>

Configure

<service name="configure">
<info>Configure the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>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']</info>
</arg>
<arg isRequired="false" name="ics">
<info>PAAM ICs; choices are: ['all', '0', '1', '2', '3'] (default=all)</info>
</arg>
<arg isRequired="false" name="num_elements">
<info>Number of Antenna Elements; 1 to 16 (default=1)</info>
</arg>
<arg isRequired="false" name="txrx">
<info>TX/RX Mode Selection! Should be either tx (transmit) or rx (receive) (default=tx)</info>
</arg>
<arg isRequired="false" name="pol">
<info>Polarization! Should be either h (horizontal) or v (vertical) (default=v)</info>
</arg>
<arg isRequired="false" name="theta">
<info>Theta (Beam) Angle! Integer in range -60 to 60 (default=10)</info>
</arg>
<arg isRequired="false" name="phi">
<info>Phi (Beam) Angle! Integer in range -10 to 10 (default=10)</info>
</arg>
<arg isRequired="false" name="verify">
<info>Verification (boolean flag); Should be true/false (default=False)</info>
</arg>
</args>
</service>

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
Note: See TracWiki for help on using the wiki.