--- /dev/null
+//
+// Machine generated by gen_usrp_dbid.py from usrp_dbid.dat
+// Do not edit by hand. All edits will be overwritten.
+//
+
+/*
+ * Copyright 2005 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 GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <usrp_prims.h>
+#include <usrp_dbid.h>
+#include <stdio.h>
+
+#define NELEM(x) sizeof(x)/sizeof(x[0])
+
+static struct {
+ unsigned short dbid;
+ const char *name;
+} dbid_map[] = {
+ { USRP_DBID_BASIC_TX, "Basic Tx" },
+ { USRP_DBID_BASIC_RX, "Basic Rx" },
+ { USRP_DBID_DBS_RX, "DBS Rx" },
+ { USRP_DBID_TV_RX, "TV Rx" },
+ { USRP_DBID_FLEX_400_RX, "Flex 400 Rx" },
+ { USRP_DBID_FLEX_900_RX, "Flex 900 Rx" },
+ { USRP_DBID_FLEX_1200_RX, "Flex 1200 Rx" },
+ { USRP_DBID_FLEX_2400_RX, "Flex 2400 Rx" },
+ { USRP_DBID_FLEX_400_TX, "Flex 400 Tx" },
+ { USRP_DBID_FLEX_900_TX, "Flex 900 Tx" },
+ { USRP_DBID_FLEX_1200_TX, "Flex 1200 Tx" },
+ { USRP_DBID_FLEX_2400_TX, "Flex 2400 Tx" },
+ { USRP_DBID_TV_RX_REV_2, "TV Rx Rev 2" },
+ { USRP_DBID_DBS_RX_CLKMOD, "DBS Rx ClkMod" },
+ { USRP_DBID_LF_TX, "LF Tx" },
+ { USRP_DBID_LF_RX, "LF Rx" },
+ { USRP_DBID_FLEX_400_RX_MIMO_A, "Flex 400 Rx MIMO A" },
+ { USRP_DBID_FLEX_900_RX_MIMO_A, "Flex 900 Rx MIMO A" },
+ { USRP_DBID_FLEX_1200_RX_MIMO_A, "Flex 1200 Rx MIMO A" },
+ { USRP_DBID_FLEX_2400_RX_MIMO_A, "Flex 2400 Rx MIMO A" },
+ { USRP_DBID_FLEX_400_TX_MIMO_A, "Flex 400 Tx MIMO A" },
+ { USRP_DBID_FLEX_900_TX_MIMO_A, "Flex 900 Tx MIMO A" },
+ { USRP_DBID_FLEX_1200_TX_MIMO_A, "Flex 1200 Tx MIMO A" },
+ { USRP_DBID_FLEX_2400_TX_MIMO_A, "Flex 2400 Tx MIMO A" },
+ { USRP_DBID_FLEX_400_RX_MIMO_B, "Flex 400 Rx MIMO B" },
+ { USRP_DBID_FLEX_900_RX_MIMO_B, "Flex 900 Rx MIMO B" },
+ { USRP_DBID_FLEX_1200_RX_MIMO_B, "Flex 1200 Rx MIMO B" },
+ { USRP_DBID_FLEX_2400_RX_MIMO_B, "Flex 2400 Rx MIMO B" },
+ { USRP_DBID_FLEX_400_TX_MIMO_B, "Flex 400 Tx MIMO B" },
+ { USRP_DBID_FLEX_900_TX_MIMO_B, "Flex 900 Tx MIMO B" },
+ { USRP_DBID_FLEX_1200_TX_MIMO_B, "Flex 1200 Tx MIMO B" },
+ { USRP_DBID_FLEX_2400_TX_MIMO_B, "Flex 2400 Tx MIMO B" },
+ { USRP_DBID_FLEX_1800_RX, "Flex 1800 Rx" },
+ { USRP_DBID_FLEX_1800_TX, "Flex 1800 Tx" },
+ { USRP_DBID_FLEX_1800_RX_MIMO_A, "Flex 1800 Rx MIMO A" },
+ { USRP_DBID_FLEX_1800_TX_MIMO_A, "Flex 1800 Tx MIMO A" },
+ { USRP_DBID_FLEX_1800_RX_MIMO_B, "Flex 1800 Rx MIMO B" },
+ { USRP_DBID_FLEX_1800_TX_MIMO_B, "Flex 1800 Tx MIMO B" },
+ { USRP_DBID_TV_RX_REV_3, "TV Rx Rev 3" },
+ { USRP_DBID_DTT754, "DTT754" },
+ { USRP_DBID_DTT768, "DTT768" },
+ { USRP_DBID_WBX_LO_TX, "WBX LO TX" },
+ { USRP_DBID_WBX_LO_RX, "WBX LO RX" },
+ { USRP_DBID_XCVR2450_TX, "XCVR2450 Tx" },
+ { USRP_DBID_XCVR2450_RX, "XCVR2450 Rx" },
+ { USRP_DBID_EXPERIMENTAL_TX, "Experimental Tx" },
+ { USRP_DBID_EXPERIMENTAL_RX, "Experimental Rx" },
+};
+
+const std::string
+usrp_dbid_to_string (int dbid)
+{
+ if (dbid == -1)
+ return "<none>";
+
+ if (dbid == -2)
+ return "<invalid EEPROM contents>";
+
+ for (unsigned i = 0; i < NELEM (dbid_map); i++)
+ if (dbid == dbid_map[i].dbid)
+ return dbid_map[i].name;
+
+ char tmp[64];
+ snprintf (tmp, sizeof (tmp), "Unknown (0x%04x)", dbid);
+ return tmp;
+}