Changes between Version 4 and Version 5 of WARPLab/Reference/Node


Ignore:
Timestamp:
Sep 17, 2015, 2:08:58 PM (9 years ago)
Author:
welsh
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WARPLab/Reference/Node

    v4 v5  
    3939
    4040Hardware support:[[BR]]
    41 All:[[BR]]
    42 WARPLab design version[[BR]]
    43 Hardware version[[BR]]
    44 Ethernet MAC Address[[BR]]
    45 Number of Interface Groups[[BR]]
    46 Number of Interfaces[[BR]]
    47 
    48 WARP v3:[[BR]]
    49 Serial number[[BR]]
    50 Virtex-6 FPGA DNA[[BR]]
     41  - All Platforms:
     42    - WARPLab design version
     43    - Hardware version
     44    - Ethernet MAC Address
     45    - Number of Interface Groups
     46    - Number of Interfaces
     47  - WARP v3:
     48    - Serial number
     49    - Virtex-6 FPGA DNA
    5150
    5251
     
    9291
    9392'''Returns:''' none
     93
     94
     95
     96=== {{{wl_getInterfaceIDs}}} ===
     97Returns the interfaces IDs that can be used as inputs to all interface commands, some baseband commands and possibly some user extension commands.
     98
     99The interface IDs are returned in a structure that contains fields for individual interfaces and combinations of interfaces.  When a node only supports 2 interfaces, the fields for RFC and RFD (ie the fields specific to a 4 interface node) are not present in the structure.
     100
     101The fields in the structure are:
     102  - Scalar fields:
     103    - '''RF_A'''
     104    - '''RF_B'''
     105    - '''RF_C'''
     106    - '''RF_D'''
     107    - '''RF_ON_BOARD'''  (NOTE: RF_ON_BOARD = RF_A + RF_B)
     108    - '''RF_FMC'''       (NOTE: RF_FMC = RF_C + RF_D)
     109    - '''RF_ALL'''       (NOTE: 2RF:  RF_ALL = RF_A + RF_B; 4RF:  RF_ALL = RF_A + RF_B + RF_C + RF_D)
     110  - Vector fields:
     111    - '''RF_ON_BOARD_VEC''' (NOTE: RF_ON_BOARD_VEC  = [RF_A, RF_B])
     112    - '''RF_FMC_VEC'''      (NOTE: RF_FMC_VEC       = [RF_C, RF_D])
     113    - '''RF_ALL_VEC'''      (NOTE: 2RF:  RF_ALL_VEC = [RF_A, RF_B]; 4RF:  RF_ALL_VEC = [RF_A, RF_B, RF_C, RF_D])
     114
     115NOTE:  Due to Matlab behavior, the scalar fields for RF_A, RF_B, RF_C, and RF_D can be used as vectors and therefore do not need separate vector fields in the structure
     116
     117            % Examples:
     118            %     Get the interface ID structure (let node be a wl_node object):
     119            %         ifc_ids = wl_getInterfaceIDs(node);
     120            %         ifc_ids = node.wl_getInterfaceIDs();
     121            %
     122            %     Use the interface ID structure:
     123            %         1) Enable RF_A for transmit: 
     124            %                wl_interfaceCmd(node, ifc_ids.RF_A, 'tx_en');
     125            %
     126            %         2) Get 1000 samples of Read IQ data from all interfaces:
     127            %                rx_IQ = wl_basebandCmd(node, ifc_ids.RF_ALL_VEC, 'read_IQ', 0, 1000);
     128
     129
     130Examples:
     131  - Get the interface ID structure  (let node be a wl_node object):
     132    {{{
     133    ifc_ids = wl_getInterfaceIDs(node);
     134    ifc_ids = node.wl_getInterfaceIDs();
     135    }}}
     136  - Use the trigger input ID structure:
     137    - Enable RF_A for transmit: 
     138      {{{
     139      wl_interfaceCmd(node, ifc_ids.RF_A, 'tx_en');
     140      }}}
     141    - Get 1000 samples of Read IQ data from all interfaces:
     142      {{{
     143      rx_IQ = wl_basebandCmd(node, ifc_ids.RF_ALL_VEC, 'read_IQ', 0, 1000);
     144      }}}
     145
     146
     147'''Arguments:''' none
     148
     149'''Returns:''' (struct interface_ids)
     150  - interface_ids - Interface ID structure
     151
     152
     153
     154=== {{{wl_getTriggerInputIDs}}} ===
     155Returns the trigger input IDs that can be used as inputs to trigger manager commands
     156
     157The trigger input IDs are returned in a structure that contains fields for individual triggers. 
     158
     159The fields in the structure are:
     160  - Scalar fields:
     161    - '''ETH_A''' - Ethernet Port A
     162    - '''ETH_B''' - Ethernet Port B
     163    - '''ENERGY_DET''' - Energy detection (See 'energy_config_*' commands in the Trigger Manager documentation)
     164    - '''AGC_DONE''' - Automatic Gain Controller complete
     165    - '''SW_REG''' - Software register (ie Memory mapped registers that can be triggered by a CPU write)
     166    - '''EXT_IN_P0''' - External Input Pin 0
     167    - '''EXT_IN_P1''' - External Input Pin 1
     168    - '''EXT_IN_P2''' - External Input Pin 2
     169    - '''EXT_IN_P3''' - External Input Pin 3
     170
     171Examples:
     172  - Get the trigger input ID structure (let node be a wl_node object):
     173    {{{
     174    trig_in_ids = wl_getTriggerInputIDs(node);
     175    trig_in_ids = node.wl_getTriggerInputIDs();
     176    }}}
     177  - Use the trigger input ID structure:
     178    - Enable baseband and agc output triggers to be triggered on the Ethernet A input trigger: 
     179      {{{
     180      wl_triggerManagerCmd(nodes, 'output_config_input_selection', [trig_out_ids.BASEBAND, trig_out_ids.AGC], [trig_in_ids.ETH_A]);
     181      }}}
     182
     183
     184'''Arguments:''' none
     185
     186'''Returns:''' (struct trig_input_ids)
     187  - trig_input_ids - Trigger Input ID structure
     188
     189
     190
     191=== {{{wl_getTriggerOutputIDs}}} ===
     192Returns the trigger output IDs that can be used as inputs to trigger manager commands
     193
     194The trigger output IDs are returned in a structure that contains fields for individual triggers. 
     195
     196The fields in the structure are:
     197  - Scalar fields:
     198    - '''BASEBAND''' - Baseband buffers module
     199    - '''AGC''' - Automatic Gain Controller module
     200    - '''EXT_OUT_P0''' - External Output Pin 0
     201    - '''EXT_OUT_P1''' - External Output Pin 1
     202    - '''EXT_OUT_P2''' - External Output Pin 2
     203    - '''EXT_OUT_P3''' - External Output Pin 3
     204
     205Examples:
     206  - Get the trigger output ID structure (let node be a wl_node object):
     207    {{{
     208    trig_out_ids = wl_getTriggerInputIDs(node);
     209    trig_out_ids = node.wl_getTriggerInputIDs();
     210    }}}
     211  - Use the trigger input ID structure:
     212    - Enable baseband and agc output triggers to be triggered on the Ethernet A input trigger: 
     213      {{{
     214      wl_triggerManagerCmd(node, 'output_config_input_selection', [trig_out_ids.BASEBAND, trig_out_ids.AGC], [trig_in_ids.ETH_A]);
     215      }}}
     216    - Configure output delay for the baseband:
     217      {{{
     218      wl_triggerManagerCmd(node, 'output_config_delay', [trig_out_ids.BASEBAND], 0);
     219      }}}
     220
     221
     222'''Arguments:''' none
     223
     224'''Returns:''' (struct trig_output_ids)
     225  - trig_output_ids - Trigger Output ID structure
     226
     227
     228
     229
     230
     231