Imported Upstream version 3.2.2
[debian/gnuradio] / usrp / host / lib / legacy / 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 3, 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_CLKMOD,    "DBS Rx ClkMod" },
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_DTT754,           "DTT754" },
77   { USRP_DBID_DTT768,           "DTT768" },
78   { USRP_DBID_WBX_LO_TX,        "WBX LO TX" },
79   { USRP_DBID_WBX_LO_RX,        "WBX LO RX" },
80   { USRP_DBID_XCVR2450_TX,      "XCVR2450 Tx" },
81   { USRP_DBID_XCVR2450_RX,      "XCVR2450 Rx" },
82   { USRP_DBID_EXPERIMENTAL_TX,  "Experimental Tx" },
83   { USRP_DBID_EXPERIMENTAL_RX,  "Experimental Rx" },
84 };
85
86 const std::string
87 usrp_dbid_to_string (int dbid)
88 {
89   if (dbid == -1)
90     return "<none>";
91
92   if (dbid == -2)
93     return "<invalid EEPROM contents>";
94
95   for (unsigned i = 0; i < NELEM (dbid_map); i++)
96     if (dbid == dbid_map[i].dbid)
97       return dbid_map[i].name;
98
99   char tmp[64];
100   snprintf (tmp, sizeof (tmp), "Unknown (0x%04x)", dbid);
101   return tmp;
102 }