SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
devicelimesdrparam.h
Go to the documentation of this file.
1 // Copyright (C) 2017 Edouard Griffiths, F4EXB //
3 // //
4 // This program is free software; you can redistribute it and/or modify //
5 // it under the terms of the GNU General Public License as published by //
6 // the Free Software Foundation as version 3 of the License, or //
7 // (at your option) any later version. //
8 // //
9 // This program is distributed in the hope that it will be useful, //
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
12 // GNU General Public License V3 for more details. //
13 // //
14 // You should have received a copy of the GNU General Public License //
15 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
17 
18 #ifndef DEVICES_LIMESDR_DEVICELIMESDRPARAM_H_
19 #define DEVICES_LIMESDR_DEVICELIMESDRPARAM_H_
20 
21 #include "lime/LimeSuite.h"
22 
23 #include "export.h"
24 
33 {
34  enum LimeType
35  {
39  LimeUndefined
40  };
41 
42  lms_device_t *m_dev;
45  lms_range_t m_lpfRangeRx;
46  lms_range_t m_lpfRangeTx;
47  lms_range_t m_loRangeRx;
48  lms_range_t m_loRangeTx;
49  lms_range_t m_srRangeRx;
50  lms_range_t m_srRangeTx;
51  float m_sampleRate;
54  float m_rxFrequency;
55  float m_txFrequency;
57 
59  m_dev(0),
60  m_nbRxChannels(0),
61  m_nbTxChannels(0),
62  m_sampleRate(1e6),
63  m_log2OvSRRx(0),
64  m_log2OvSRTx(0),
65  m_rxFrequency(1e6),
66  m_txFrequency(1e6),
67  m_type(LimeUndefined)
68  {
69  m_lpfRangeRx.max = 0.0f;
70  m_lpfRangeRx.min = 0.0f;
71  m_lpfRangeRx.step = 0.0f;
72 
73  m_lpfRangeTx.max = 0.0f;
74  m_lpfRangeTx.min = 0.0f;
75  m_lpfRangeTx.step = 0.0f;
76 
77  m_loRangeRx.max = 0.0f;
78  m_loRangeRx.min = 0.0f;
79  m_loRangeRx.step = 0.0f;
80 
81  m_loRangeTx.max = 0.0f;
82  m_loRangeTx.min = 0.0f;
83  m_loRangeTx.step = 0.0f;
84 
85  m_srRangeRx.max = 0.0f;
86  m_srRangeRx.min = 0.0f;
87  m_srRangeRx.step = 0.0f;
88 
89  m_srRangeTx.max = 0.0f;
90  m_srRangeTx.min = 0.0f;
91  m_srRangeTx.step = 0.0f;
92  }
93 
97  bool open(lms_info_str_t deviceStr);
98  void close();
99  lms_device_t *getDevice() { return m_dev; }
100 
102  {
103  }
104 
105 private:
106  void getHardwareType(const char *device_str);
107 };
108 
109 #endif /* DEVICES_LIMESDR_DEVICELIMESDRPARAM_H_ */
int m_log2OvSRRx
log2 of Rx oversampling (0..5)
lms_range_t m_lpfRangeRx
Low pass filter range information (Rx side)
float m_rxFrequency
Rx frequency.
lms_device_t * getDevice()
lms_range_t m_srRangeTx
DAC sample rate range.
uint32_t m_nbTxChannels
number of Tx channels (normally 2, we&#39;ll see if we really use it...)
lms_range_t m_srRangeRx
ADC sample rate range.
uint32_t m_nbRxChannels
number of Rx channels (normally 2, we&#39;ll see if we really use it...)
lms_device_t * m_dev
device handle
int m_log2OvSRTx
log2 of Tx oversampling (0..5)
#define DEVICES_API
Definition: export.h:76
unsigned int uint32_t
Definition: rtptypes_win.h:46
float m_txFrequency
Tx frequency.
float m_sampleRate
ADC/DAC sample rate.
lms_range_t m_lpfRangeTx
Low pass filter range information (Tx side)
LimeType m_type
Hardware type.
lms_range_t m_loRangeTx
LO range for Tx.
lms_range_t m_loRangeRx
LO range for Rx.