Imported Upstream version 3.0
[debian/gnuradio] / usrp / host / lib / usrp_dbid.cc
1 //
2 // Machine generated by gen_usrp_dbid.py from usrp_dbid.dat
3 // Do not edit by hand.  All edits will be overwritten.
4 //
5
6 /*
7  * Copyright 2005 Free Software Foundation, Inc.
8  * 
9  * This file is part of GNU Radio
10  * 
11  * GNU Radio is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2, or (at your option)
14  * any later version.
15  * 
16  * GNU Radio is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  * 
21  * You should have received a copy of the GNU General Public License
22  * along with GNU Radio; see the file COPYING.  If not, write to
23  * the Free Software Foundation, Inc., 51 Franklin Street,
24  * Boston, MA 02110-1301, USA.
25  */
26
27 #include <usrp_prims.h>
28 #include <usrp_dbid.h>
29 #include <stdio.h>
30
31 #define NELEM(x) sizeof(x)/sizeof(x[0])
32
33 static struct {
34   unsigned short        dbid;
35   const char           *name;
36 } dbid_map[] = {
37   { USRP_DBID_BASIC_TX,         "Basic Tx" },
38   { USRP_DBID_BASIC_RX,         "Basic Rx" },
39   { USRP_DBID_DBS_RX,           "DBS Rx" },
40   { USRP_DBID_TV_RX,            "TV Rx" },
41   { USRP_DBID_FLEX_400_RX,      "Flex 400 Rx" },
42   { USRP_DBID_FLEX_900_RX,      "Flex 900 Rx" },
43   { USRP_DBID_FLEX_1200_RX,     "Flex 1200 Rx" },
44   { USRP_DBID_FLEX_2400_RX,     "Flex 2400 Rx" },
45   { USRP_DBID_FLEX_400_TX,      "Flex 400 Tx" },
46   { USRP_DBID_FLEX_900_TX,      "Flex 900 Tx" },
47   { USRP_DBID_FLEX_1200_TX,     "Flex 1200 Tx" },
48   { USRP_DBID_FLEX_2400_TX,     "Flex 2400 Tx" },
49   { USRP_DBID_TV_RX_REV_2,      "TV Rx Rev 2" },
50   { USRP_DBID_DBS_RX_REV_2_1,   "DBS Rx Rev 2_1" },
51   { USRP_DBID_LF_TX,            "LF Tx" },
52   { USRP_DBID_LF_RX,            "LF Rx" },
53   { USRP_DBID_FLEX_400_RX_MIMO_A, "Flex 400 Rx MIMO A" },
54   { USRP_DBID_FLEX_900_RX_MIMO_A, "Flex 900 Rx MIMO A" },
55   { USRP_DBID_FLEX_1200_RX_MIMO_A, "Flex 1200 Rx MIMO A" },
56   { USRP_DBID_FLEX_2400_RX_MIMO_A, "Flex 2400 Rx MIMO A" },
57   { USRP_DBID_FLEX_400_TX_MIMO_A, "Flex 400 Tx MIMO A" },
58   { USRP_DBID_FLEX_900_TX_MIMO_A, "Flex 900 Tx MIMO A" },
59   { USRP_DBID_FLEX_1200_TX_MIMO_A, "Flex 1200 Tx MIMO A" },
60   { USRP_DBID_FLEX_2400_TX_MIMO_A, "Flex 2400 Tx MIMO A" },
61   { USRP_DBID_FLEX_400_RX_MIMO_B, "Flex 400 Rx MIMO B" },
62   { USRP_DBID_FLEX_900_RX_MIMO_B, "Flex 900 Rx MIMO B" },
63   { USRP_DBID_FLEX_1200_RX_MIMO_B, "Flex 1200 Rx MIMO B" },
64   { USRP_DBID_FLEX_2400_RX_MIMO_B, "Flex 2400 Rx MIMO B" },
65   { USRP_DBID_FLEX_400_TX_MIMO_B, "Flex 400 Tx MIMO B" },
66   { USRP_DBID_FLEX_900_TX_MIMO_B, "Flex 900 Tx MIMO B" },
67   { USRP_DBID_FLEX_1200_TX_MIMO_B, "Flex 1200 Tx MIMO B" },
68   { USRP_DBID_FLEX_2400_TX_MIMO_B, "Flex 2400 Tx MIMO B" },
69   { USRP_DBID_FLEX_1800_RX,     "Flex 1800 Rx" },
70   { USRP_DBID_FLEX_1800_TX,     "Flex 1800 Tx" },
71   { USRP_DBID_FLEX_1800_RX_MIMO_A, "Flex 1800 Rx MIMO A" },
72   { USRP_DBID_FLEX_1800_TX_MIMO_A, "Flex 1800 Tx MIMO A" },
73   { USRP_DBID_FLEX_1800_RX_MIMO_B, "Flex 1800 Rx MIMO B" },
74   { USRP_DBID_FLEX_1800_TX_MIMO_B, "Flex 1800 Tx MIMO B" },
75   { USRP_DBID_TV_RX_REV_3,      "TV Rx Rev 3" },
76   { USRP_DBID_EXPERIMENTAL_TX,  "Experimental Tx" },
77   { USRP_DBID_EXPERIMENTAL_RX,  "Experimental Rx" },
78 };
79
80 const std::string
81 usrp_dbid_to_string (int dbid)
82 {
83   if (dbid == -1)
84     return "<none>";
85
86   if (dbid == -2)
87     return "<invalid EEPROM contents>";
88
89   for (unsigned i = 0; i < NELEM (dbid_map); i++)
90     if (dbid == dbid_map[i].dbid)
91       return dbid_map[i].name;
92
93   char tmp[64];
94   snprintf (tmp, sizeof (tmp), "Unknown (0x%04x)", dbid);
95   return tmp;
96 }