1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-22 17:45:48 -05:00

LimeSDR support (1)

This commit is contained in:
f4exb 2017-04-10 23:57:15 +02:00
parent abc14d16fa
commit fb161a09c6
4 changed files with 117 additions and 0 deletions

View File

@ -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>
&#9888; 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.

View 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)

View 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)

View 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_ */