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