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