libusrp/host/include/usrp/usrp_subdev_spec.h

51 lines
1.9 KiB
C++

/* -*- c++ -*- */
/*
* Copyright 2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* GNU Radio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef INCLUDED_USRP_SUBDEV_SPEC_H
#define INCLUDED_USRP_SUBDEV_SPEC_H
/*!
* \brief specify a daughterboard and subdevice on a daughterboard.
*
* In the USRP1, there are two sides, A and B.
*
* A daughterboard generally implements a single subdevice, but may in
* general implement any number of subdevices. At this time, all daughterboards
* with the exception of the Basic Rx and LF Rx implement a single subdevice.
*
* The Basic Rx and LF Rx implement 2 subdevices (soon 3). Subdevice
* 0 routes input RX-A to the DDC I input and routes a constant zero
* to the DDC Q input. Similarly, subdevice 1 routes input RX-B to
* the DDC I input and routes a constant zero to the DDC Q
* input. Subdevice 2 (when implemented) will route RX-A to the DDC I
* input and RX-B to the DDC Q input.
*/
struct usrp_subdev_spec {
unsigned int side; // 0 -> A; 1 -> B
unsigned int subdev; // which subdevice (usually zero)
usrp_subdev_spec(unsigned int _side = 0, unsigned int _subdev = 0)
: side(_side), subdev(_subdev) {}
};
#endif /* INCLUDED_USRP_SUBDEV_SPEC_H */