1 /**
2 @file	LMSBoards.h
3 @author Lime Microsystems
4 @brief	enumerations of available LMS7002M hardware
5 */
6 #pragma once
7 
8 namespace lime {
9 
10 enum eLMS_DEV
11 {
12     LMS_DEV_UNKNOWN                 = 0,
13     LMS_DEV_EVB6                    = 1,
14     LMS_DEV_DIGIGREEN               = 2,
15     LMS_DEV_DIGIRED                 = 3, //2x USB3, LMS6002,
16     LMS_DEV_EVB7                    = 4,
17     LMS_DEV_ZIPPER                  = 5, //MyRiad bridge to FMC, HSMC bridge
18     LMS_DEV_SOCKETBOARD             = 6,
19     LMS_DEV_EVB7V2                  = 7,
20     LMS_DEV_STREAM                  = 8, //Altera Cyclone IV, USB3, 2x 128 MB RAM, RFDIO, FMC
21     LMS_DEV_NOVENA                  = 9, //Freescale iMX6 CPU
22     LMS_DEV_DATASPARK               = 10, //Altera Cyclone V, 2x 256 MB RAM, 2x FMC (HPC, LPC), USB3
23     LMS_DEV_RFSPARK                 = 11, //LMS7002 EVB
24     LMS_DEV_LMS6002USB              = 12, //LM6002-USB (USB stick: FX3, FPGA, LMS6002, RaspberryPi con)
25     LMS_DEV_RFESPARK                = 13, //LMS7002 EVB
26     LMS_DEV_LIMESDR                 = 14, //LimeSDR-USB, 32bit FX3, 2xRAM, LMS7
27     LMS_DEV_LIMESDR_PCIE            = 15,
28     LMS_DEV_LIMESDR_QPCIE           = 16, //2x LMS, 14 bit ADC and DAC
29     LMS_DEV_LIMESDRMINI             = 17, //FTDI + MAX10 + LMS
30     LMS_DEV_USTREAM                 = 18, //with expansion booards (uMyriad)
31     LMS_DEV_LIMESDR_SONY_PA         = 19, //stand alone board with Sony PAs, tuners
32     LMS_DEV_LIMESDR_USB_SP          = 20,
33     LMS_DEV_LMS7002M_ULTIMATE_EVB   = 21,
34     LMS_DEV_LIMENET_MICRO           = 22, //Raspberry Pi CM3(L), Ethernet, MAX10, LMS7002,
35     LMS_DEV_LIMESDR_CORE_SDR        = 23, //LMS7002, Intel Cyclone 4, RAM, GNSS
36     LMS_DEV_LIMESDR_CORE_HE         = 24, //PA board
37 
38     LMS_DEV_COUNT
39 };
40 
41 const char LMS_DEV_NAMES[][80] =
42 {
43     "UNKNOWN",
44     "EVB6",
45     "DigiGreen",
46     "DigiRed",
47     "EVB7",
48     "ZIPPER",
49     "Socket Board",
50     "EVB7_v2",
51     "Stream",
52     "Novena",
53     "DataSpark",
54     "RF-Spark",
55     "LMS6002-USB Stick",
56     "RF-ESpark",
57     "LimeSDR-USB",
58     "LimeSDR-PCIe",
59     "LimeSDR-QPCIe",
60     "LimeSDR-Mini",
61     "uStream",
62     "LimeSDR SONY PA",
63     "LimeSDR-USB SP",
64     "LMS7002M Ultimate EVB",
65     "LimeNET-Micro",
66     "LimeSDR-Core",
67     "LimeSDR-Core-HE",
68 };
69 
GetDeviceName(const eLMS_DEV device)70 static inline const char* GetDeviceName(const eLMS_DEV device)
71 {
72     if (LMS_DEV_UNKNOWN < device && device < LMS_DEV_COUNT)
73         return LMS_DEV_NAMES[device];
74     else
75         return LMS_DEV_NAMES[LMS_DEV_UNKNOWN];
76 }
77 
78 enum eEXP_BOARD
79 {
80     EXP_BOARD_UNKNOWN,
81     EXP_BOARD_UNSUPPORTED,
82     EXP_BOARD_NO,
83     EXP_BOARD_MYRIAD1,
84     EXP_BOARD_MYRIAD2,
85     EXP_BOARD_MYRIAD_NOVENA,
86     EXP_BOARD_HPM1000,
87     EXP_BOARD_MYRIAD7,
88     EXP_BOARD_HPM7,
89     EXP_BOARD_MYRIAD7_NOVENA,
90 
91     EXP_BOARD_COUNT
92 };
93 
94 const char EXP_BOARD_NAMES[][80] =
95 {
96     "UNKNOWN",
97     "UNSUPPORTED",
98     "NOT AVAILABLE",
99     "Myriad1",
100     "Myriad2",
101     "Novena",
102     "HPM1000",
103     "Myriad7",
104     "HMP7",
105     "Myriad7 Novena",
106 };
107 
GetExpansionBoardName(const eEXP_BOARD board)108 static inline const char* GetExpansionBoardName(const eEXP_BOARD board)
109 {
110     if (EXP_BOARD_UNKNOWN < board && board < EXP_BOARD_COUNT)
111         return EXP_BOARD_NAMES[board];
112     else
113         return EXP_BOARD_NAMES[EXP_BOARD_UNKNOWN];
114 }
115 
116 }
117