mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-22 16:08:39 -05:00
LimeSDR support (1)
This commit is contained in:
parent
abc14d16fa
commit
fb161a09c6
15
Readme.md
15
Readme.md
@ -76,6 +76,21 @@ If you use your own location for libhackrf install directory you need to specify
|
||||
|
||||
HackRF is better used with a sampling rate of 4.8 MS/s and above. The 2.4 and 3.2 MS/s rates are considered experimental and are way out of specs of the ADC. You may or may not achieve acceptable results depending on the unit. A too low sampling rate will typically create ghost signals (images) and/or raise the noise floor.
|
||||
|
||||
<h2>LimeSDR</h2>
|
||||
|
||||
⚠ This is a wotk in progress
|
||||
|
||||
You will need a minimal installation of LimeSuite:
|
||||
|
||||
- `sudo apt-get install libsqlite3-dev`
|
||||
- `git clone https://github.com/myriadrf/LimeSuite.git`
|
||||
- `cd LimeSuite`
|
||||
- `mkdir builddir`
|
||||
- `cd builddir`
|
||||
- `cmake -DCMAKE_INSTALL_PREFIX=/opt/install/LimeSuite`
|
||||
- `make -j8`
|
||||
- `make install`
|
||||
|
||||
<h2>RTL-SDR</h2>
|
||||
|
||||
RTL-SDR based dongles are supported through the librtlsdr library that should be installed in your system for proper build of the software and operation support. Add `librtlsdr-dev` to the list of dependencies to install.
|
||||
|
19
cmake/Modules/FindLimeSuite.cmake
Normal file
19
cmake/Modules/FindLimeSuite.cmake
Normal file
@ -0,0 +1,19 @@
|
||||
# Find Lime Suite
|
||||
|
||||
FIND_PATH(LIMESUITE_INCLUDE_DIR lime/LimeSuite.h)
|
||||
|
||||
IF (LIMESUITE_INCLUDE_DIR AND LIMESUITE_LIBRARY)
|
||||
SET(LIMESUITE_FOUND TRUE)
|
||||
ENDIF (LIMESUITE_INCLUDE_DIR AND LIMESUITE_LIBRARY)
|
||||
|
||||
IF (LIMESUITE_FOUND)
|
||||
IF (NOT LimeSuite_FIND_QUIETLY)
|
||||
MESSAGE (STATUS "Found Lime Suite: ${LIMESUITE_INCLUDE_DIR}, ${LIMESUITE_LIBRARY}")
|
||||
ENDIF (NOT LimeSuite_FIND_QUIETLY)
|
||||
ELSE (LIMESUITE_FOUND)
|
||||
IF (LimeSuite_FIND_REQUIRED)
|
||||
MESSAGE (FATAL_ERROR "Could not find Lime Suite")
|
||||
ENDIF (LimeSuite_FIND_REQUIRED)
|
||||
ENDIF (LIMESUITE_FOUND)
|
||||
|
||||
mark_as_advanced(LIMESUITE_INCLUDE_DIR LIMESUITE_LIBRARY)
|
41
devices/limesdr/CMakeLists.txt
Normal file
41
devices/limesdr/CMakeLists.txt
Normal file
@ -0,0 +1,41 @@
|
||||
project(limesdrdevice)
|
||||
|
||||
set(limesdrdevice_SOURCES
|
||||
)
|
||||
|
||||
set(limesdrdevice_HEADERS
|
||||
devicelimesdrparam.h
|
||||
)
|
||||
|
||||
if (BUILD_DEBIAN)
|
||||
include_directories(
|
||||
.
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${LIMESUITESRC}/include
|
||||
${LIMESUITESRC}/src
|
||||
)
|
||||
else (BUILD_DEBIAN)
|
||||
include_directories(
|
||||
.
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${LIMESUITE_INCLUDE_DIR}
|
||||
)
|
||||
endif (BUILD_DEBIAN)
|
||||
|
||||
add_library(limesdrdevice SHARED
|
||||
${limesdrdevice_SOURCES}
|
||||
)
|
||||
|
||||
if (BUILD_DEBIAN)
|
||||
target_link_libraries(limesdrdevice
|
||||
limesuite
|
||||
sdrbase
|
||||
)
|
||||
else (BUILD_DEBIAN)
|
||||
target_link_libraries(limesdrdevice
|
||||
${LIMESUITE_LIBRARY}
|
||||
sdrbase
|
||||
)
|
||||
endif (BUILD_DEBIAN)
|
||||
|
||||
install(TARGETS limesdrdevice DESTINATION lib)
|
42
devices/limesdr/devicelimesdrparam.h
Normal file
42
devices/limesdr/devicelimesdrparam.h
Normal file
@ -0,0 +1,42 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program 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 as version 3 of the License, or //
|
||||
// //
|
||||
// This program 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 V3 for more details. //
|
||||
// //
|
||||
// You should have received a copy of the GNU General Public License //
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef DEVICES_LIMESDR_DEVICELIMESDRPARAM_H_
|
||||
#define DEVICES_LIMESDR_DEVICELIMESDRPARAM_H_
|
||||
|
||||
#include "lime/LimeSuite.h"
|
||||
|
||||
/**
|
||||
* This structure is owned by each of the parties sharing the same physical device
|
||||
* It allows exchange of information on the common resources
|
||||
*/
|
||||
struct DeviceLimeSDRParams
|
||||
{
|
||||
lms_device_t *m_dev; //!< device handle if the party has ownership else 0
|
||||
lms_range_t m_lpfRangeRx; //!< Low pass filter range information (Rx side)
|
||||
lms_range_t m_lpfRangeTx; //!< Low pass filter range information (Tx side)
|
||||
lms_range_t m_loRangeRx[2]; //!< LO range for Rx
|
||||
lms_range_t m_loRangeTx[2]; //!< LO range for Tx
|
||||
lms_range_t m_srRangeRx[2]; //!< ADC sample rate range
|
||||
lms_range_t m_srRangeTx[2]; //!< DAC sample rate range
|
||||
|
||||
DeviceLimeSDRParams() :
|
||||
m_dev(0)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* DEVICES_LIMESDR_DEVICELIMESDRPARAM_H_ */
|
Loading…
Reference in New Issue
Block a user