WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2019-Nov-02 07:19:36

Ayan_Chatterjee
Member
Registered: 2019-Oct-31
Posts: 15

Doubt regarding interface detection in 4RF WARP Board Node

% Create a vector of node objects
nodes = wl_initNodes(2);

% Set up transmit and receive nodes
%     NOTE:  Transmit from nodes(1) to nodes(2)
%
node_tx = nodes(1);
node_rx = nodes(2);


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Set up Trigger Manager
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Create a UDP broadcast trigger and tell each node to be ready for it
%     NOTE:  This will allow us to trigger both nodes to begin transmission / reception of IQ data
%
eth_trig = wl_trigger_eth_udp_broadcast;
wl_triggerManagerCmd(nodes, 'add_ethernet_trigger', [eth_trig]);

% Read Trigger IDs into workspace
trig_in_ids  = wl_getTriggerInputIDs(nodes(1));
trig_out_ids = wl_getTriggerOutputIDs(nodes(1));

% For both nodes, we will allow Ethernet A to trigger the baseband buffers
wl_triggerManagerCmd(nodes, 'output_config_input_selection', [trig_out_ids.BASEBAND], [trig_in_ids.ETH_A]);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Set up the Interface parameters
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Get IDs for the interfaces on the boards. 
%
% NOTE:  This example assumes each board has the same interface capabilities (ie 2 RF       <------------------------------------------------------------------------------------------------Here you have assumed both are 2RF Boards                     
%   interfaces; RFA and RFB).  Therefore, we only need to get the IDs from one of the boards.
%
ifc_ids = wl_getInterfaceIDs(nodes(1));
ifc_ids_2 = wl_getInterfaceIDs(nodes(2));    <------------------------------------------------------------------------------------------------------------------(Changed) I am getting the interface IDs from 4RF Board

% Set the RF center frequency on all interfaces
%     - Frequency Band  :  Must be 2.4 or 5, to select 2.4GHz or 5GHz channels
%     - Channel         :  Must be an integer in [1,11] for BAND = 2.4; [1,23] for BAND = 5
%

wl_interfaceCmd(nodes, ifc_ids.RF_ALL, 'channel', 2.4, 11); <------------------------------------------------------------------------------------------------- It is giving no error(This Channel allocation is valid for only 2RF Board, not for 4 RF Board)

disp(ifc_ids_2.RF_C);        <------------------------------------------------------------------------------------------------- Successfully displaying the ID of RF_C port of 4 Board

wl_interfaceCmd(nodes, ifc_ids_2.RF_C, 'channel', 2.4, 11);<------------------------------------------------------------------------------------------------- HERE, IT IS GIVING ERROR (Why it is an Error?)

wl_interfaceCmd(nodes, ifc_ids_2.RF_C, 'rx_gain_mode', 'manual');<------------------------------------------------------------------------------------------------- HERE, IT IS GIVING ERROR (Why it is an Error?)


##########################################################################################################################################

Actually, I have referred your "wl_example_basic_txrx" code given in your EXAMPLE TAB of this portal and in the comment you have taken both board are 2RF only. But I have one 2RF Board and 4RF Board.

I have made some changes in such a way that RF_A and RF_B of 4RF Board will transmit signal and RF_C port of that board will act like Receiver.

But, it is saying "Invalid Interface Selection" every time. Please go through the above errors I have shown by Arrows.

Offline

 

#2 2019-Nov-02 12:19:21

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Doubt regarding interface detection in 4RF WARP Board Node

wl_interfaceCmd(nodes, ifc_ids_2.RF_C, 'channel', 2.4, 11);<------------------------------------------------------------------------------------------------- HERE, IT IS GIVING ERROR (Why it is an Error?)

wl_interfaceCmd(nodes, ifc_ids_2.RF_C, 'rx_gain_mode', 'manual');<------------------------------------------------------------------------------------------------- HERE, IT IS GIVING ERROR (Why it is an Error?)

Because you are applying those commands (tuning RF C, changing RF C Rx gains) to both nodes via the 'nodes' array argument. The RF C commands should only be passed to your 4-radio node (change 'nodes' to 'nodes(2)').

Offline

 

Board footer