aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--Makefile.am9
-rw-r--r--configure.ac19
-rw-r--r--doc/easydabv3.ini37
-rw-r--r--src/DabModulator.cpp47
-rw-r--r--src/Utils.cpp16
6 files changed, 29 insertions, 102 deletions
diff --git a/.gitignore b/.gitignore
index 3ac59f6..2a6b136 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,9 @@ config.h
config.h.in
config.status
odr-dabmod
+*~
+
+*.iq
__pycache__/
*.py[cod]
diff --git a/Makefile.am b/Makefile.am
index 46f2c21..64884e0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -39,7 +39,7 @@ odr_dabmod_CFLAGS = -Wall -Isrc -Ilib \
$(GITVERSION_FLAGS)
odr_dabmod_CXXFLAGS = -Wall -Isrc -Ilib -std=c++11 \
$(GITVERSION_FLAGS) $(BOOST_CPPFLAGS)
-odr_dabmod_LDADD = $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB)
+odr_dabmod_LDADD = $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(UHD_LIBS) $(LIMESDR_LIBS) $(ADDITIONAL_UHD_LIBS)
odr_dabmod_SOURCES = src/DabMod.cpp \
src/PcDebug.h \
src/DabModulator.cpp \
@@ -123,10 +123,7 @@ odr_dabmod_SOURCES = src/DabMod.cpp \
lib/edi/ETIDecoder.hpp \
lib/edi/ETIDecoder.cpp \
lib/edi/PFT.hpp \
- lib/edi/PFT.cpp
-
-if !COMPILE_FOR_EASYDABV3
-odr_dabmod_SOURCES += \
+ lib/edi/PFT.cpp \
src/FIRFilter.cpp \
src/FIRFilter.h \
src/MemlessPoly.cpp \
@@ -173,7 +170,5 @@ odr_dabmod_SOURCES += \
src/TII.cpp \
src/TII.h
-odr_dabmod_LDADD += $(UHD_LIBS) $(LIMESDR_LIBS) $(ADDITIONAL_UHD_LIBS)
-endif
man_MANS = man/odr-dabmod.1
diff --git a/configure.ac b/configure.ac
index 9b45a89..59ee4e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -52,9 +52,6 @@ AC_ARG_ENABLE([zeromq],
AC_ARG_ENABLE([native],
[AS_HELP_STRING([--disable-native], [Do not compile with -march=native])],
[], [enable_native=yes])
-AC_ARG_ENABLE([easydabv3],
- [AS_HELP_STRING([--enable-easydabv3], [Build for EasyDABv3 board])],
- [], [enable_easydabv3=no])
AC_ARG_ENABLE([dexter],
[AS_HELP_STRING([--enable-dexter], [Build for PrecisionWave Dexter board])],
[], [enable_dexter=no])
@@ -80,9 +77,7 @@ AX_CHECK_COMPILE_FLAG([-Wdouble-promotion], [CXXFLAGS="$CXXFLAGS -Wdouble-promot
AX_CHECK_COMPILE_FLAG(["-Wformat=2"], [CXXFLAGS="$CXXFLAGS -Wformat=2"], [], ["-Werror"])
AC_LANG_POP([C++])
-
-AS_IF([test "x$enable_easydabv3" = "xno"],
- [PKG_CHECK_MODULES([FFTW], [fftw3f], [], [AC_MSG_ERROR([FFTW is required])])])
+PKG_CHECK_MODULES([FFTW], [fftw3f], [], [AC_MSG_ERROR([FFTW is required])])
echo "Checking zeromq"
@@ -104,13 +99,11 @@ AS_IF([test "x$enable_trace" != "xno"],
# Define conditionals for Makefile.am
AM_CONDITIONAL([IS_GIT_REPO], [test -d '.git'])
-AM_CONDITIONAL([COMPILE_FOR_EASYDABV3], [test "x$enable_easydabv3" = "xyes"])
# Defines for config.h
AX_PTHREAD([], AC_MSG_ERROR([requires pthread]))
-AS_IF([test "x$enable_easydabv3" = "xno"],
- [PKG_CHECK_MODULES([SOAPYSDR], [SoapySDR], enable_soapysdr=yes, enable_soapysdr=no)])
+PKG_CHECK_MODULES([SOAPYSDR], [SoapySDR], enable_soapysdr=yes, enable_soapysdr=no)
AS_IF([test "x$enable_limesdr" = "xyes"],
[AC_CHECK_LIB([LimeSuite], [LMS_Init], [LIMESDR_LIBS="-lLimeSuite"],
@@ -128,9 +121,6 @@ AC_SUBST([CFLAGS], ["$CFLAGS $EXTRA $FFTW_CFLAGS $SOAPYSDR_CFLAGS $PTHREAD_CFLAG
AC_SUBST([CXXFLAGS], ["$CXXFLAGS $EXTRA $FFTW_CFLAGS $SOAPYSDR_CFLAGS $PTHREAD_CFLAGS"])
AC_SUBST([LIBS], ["$FFTW_LIBS $SOAPYSDR_LIBS $PTHREAD_LIBS $ZMQ_LIBS $LIMESDR_LIBS $IIO_LIBS $BLADERF_LIBS"])
-AS_IF([test "x$enable_easydabv3" = "xyes" && test "x$enable_output_uhd" == "xyes"],
- AC_MSG_ERROR([Cannot enable both EasyDABv3 and UHD output]))
-
# Checks for UHD.
AS_IF([test "x$enable_output_uhd" = "xyes"],
[ PKG_CHECK_MODULES([UHD], [uhd], [], [AC_MSG_ERROR([UHD is required])])
@@ -157,9 +147,6 @@ AS_IF([test "x$enable_dexter" = "xyes"],
AS_IF([test "x$enable_bladerf" = "xyes"],
[AC_DEFINE(HAVE_BLADERF, [1], [Define if BladeRF output is enabled]) ])
-AS_IF([test "x$enable_easydabv3" = "xyes"],
- AC_DEFINE(BUILD_FOR_EASYDABV3, [1], [Define if we are building for EasyDABv3]))
-
# Checks for header files.
AC_CHECK_HEADERS([fcntl.h limits.h memory.h netinet/in.h stdint.h stdlib.h string.h sys/time.h sys/timeb.h unistd.h])
@@ -227,7 +214,7 @@ echo "***********************************************"
echo
enabled=""
disabled=""
-for feat in prof trace output_uhd zeromq soapysdr easydabv3 limesdr bladerf dexter
+for feat in prof trace output_uhd zeromq soapysdr limesdr bladerf dexter
do
eval var=\$enable_$feat
AS_IF([test "x$var" = "xyes"],
diff --git a/doc/easydabv3.ini b/doc/easydabv3.ini
deleted file mode 100644
index 5f0103f..0000000
--- a/doc/easydabv3.ini
+++ /dev/null
@@ -1,37 +0,0 @@
-; This sample configuration is useful if ODR-DabMod is compiled
-; with --enable-easydabv3
-
-[remotecontrol]
-zmqctrl=1
-zmqctrlendpoint=tcp://127.0.0.1:9400
-; There is no telnet RC available in this build
-
-
-[log]
-syslog=0
-filelog=0
-filename=odr-dabmod.log
-
-[input]
-transport=zeromq
-source=tcp://localhost:9100
-max_frames_queued=400
-
-; There are no [modulator], [cfr], [firfilter], [poly] nor [tii] sections
-
-[output]
-output=file
-
-[fileoutput]
-; to be confirmed
-format=complexf
-
-filename=/dev/csdiof1
-
-show_metadata=0
-; TODO add option for writing out timestamps to csdiof1
-
-[delaymanagement]
-synchronous=0
-mutenotimestamps=0
-offset=1.002
diff --git a/src/DabModulator.cpp b/src/DabModulator.cpp
index aa4f2a8..1f16d1d 100644
--- a/src/DabModulator.cpp
+++ b/src/DabModulator.cpp
@@ -3,7 +3,7 @@
Her Majesty the Queen in Right of Canada (Communications Research
Center Canada)
- Copyright (C) 2019
+ Copyright (C) 2023
Matthias P. Braendli, matthias.braendli@mpb.li
http://opendigitalradio.org
@@ -31,32 +31,29 @@
#include "DabModulator.h"
#include "PcDebug.h"
-#if !defined(BUILD_FOR_EASYDABV3)
-# include "QpskSymbolMapper.h"
-# include "FrequencyInterleaver.h"
-# include "PhaseReference.h"
-# include "DifferentialModulator.h"
-# include "NullSymbol.h"
-# include "CicEqualizer.h"
-# include "OfdmGenerator.h"
-# include "GainControl.h"
-# include "GuardIntervalInserter.h"
-# include "Resampler.h"
-# include "FIRFilter.h"
-# include "MemlessPoly.h"
-# include "TII.h"
-#endif
-
-#include "FrameMultiplexer.h"
-#include "PrbsGenerator.h"
#include "BlockPartitioner.h"
-#include "SignalMultiplexer.h"
+#include "CicEqualizer.h"
#include "ConvEncoder.h"
+#include "DifferentialModulator.h"
+#include "FIRFilter.h"
+#include "FrameMultiplexer.h"
+#include "FrequencyInterleaver.h"
+#include "GainControl.h"
+#include "GuardIntervalInserter.h"
+#include "Log.h"
+#include "MemlessPoly.h"
+#include "NullSymbol.h"
+#include "OfdmGenerator.h"
+#include "PhaseReference.h"
+#include "PrbsGenerator.h"
#include "PuncturingEncoder.h"
+#include "QpskSymbolMapper.h"
+#include "RemoteControl.h"
+#include "Resampler.h"
+#include "SignalMultiplexer.h"
+#include "TII.h"
#include "TimeInterleaver.h"
#include "TimestampDecoder.h"
-#include "RemoteControl.h"
-#include "Log.h"
using namespace std;
@@ -140,7 +137,6 @@ int DabModulator::process(Buffer* dataOut)
auto cifMux = make_shared<FrameMultiplexer>(myEtiSource);
auto cifPart = make_shared<BlockPartitioner>(mode);
-#if !defined(BUILD_FOR_EASYDABV3)
auto cifMap = make_shared<QpskSymbolMapper>(myNbCarriers);
auto cifRef = make_shared<PhaseReference>(mode);
auto cifFreq = make_shared<FrequencyInterleaver>(mode);
@@ -231,7 +227,6 @@ int DabModulator::process(Buffer* dataOut)
m_settings.outputRate,
mySpacing);
}
-#endif
myOutput = make_shared<OutputMemory>(dataOut);
@@ -340,9 +335,6 @@ int DabModulator::process(Buffer* dataOut)
}
myFlowgraph->connect(cifMux, cifPart);
-#if defined(BUILD_FOR_EASYDABV3)
- myFlowgraph->connect(cifPart, myOutput);
-#else
myFlowgraph->connect(cifPart, cifMap);
myFlowgraph->connect(cifMap, cifFreq);
myFlowgraph->connect(cifRef, cifDiff);
@@ -372,7 +364,6 @@ int DabModulator::process(Buffer* dataOut)
prev_plugin = p;
}
}
-#endif
}
////////////////////////////////////////////////////////////////////
diff --git a/src/Utils.cpp b/src/Utils.cpp
index f39c4c9..350838e 100644
--- a/src/Utils.cpp
+++ b/src/Utils.cpp
@@ -3,7 +3,7 @@
Her Majesty the Queen in Right of Canada (Communications Research
Center Canada)
- Copyright (C) 2018
+ Copyright (C) 2023
Matthias P. Braendli, matthias.braendli@mpb.li
http://opendigitalradio.org
@@ -62,10 +62,6 @@ static void printHeader()
"SSE " <<
#endif
"\n";
-
-#if defined(BUILD_FOR_EASYDABV3)
- std::cerr << " This is a build for the EasyDABv3 board" << std::endl;
-#endif
}
void printUsage(const char* progName)
@@ -77,13 +73,8 @@ void printUsage(const char* progName)
fprintf(out, "Usage with command line options:\n");
fprintf(out, "\t%s"
" input"
-#if defined(BUILD_FOR_EASYDABV3)
- " -f filename -F format"
-#else
" (-f filename -F format | -u uhddevice -F frequency)"
-#endif
" [-o offset]"
-#if !defined(BUILD_FOR_EASYDABV3)
"\n\t"
" [-G txgain]"
" [-T filter_taps_file]"
@@ -93,7 +84,6 @@ void printUsage(const char* progName)
" [-g gainMode]"
" [-m dabMode]"
" [-r samplingRate]"
-#endif
" [-l]"
" [-h]"
"\n", progName);
@@ -108,7 +98,6 @@ void printUsage(const char* progName)
fprintf(out, " Specifying this option has two implications: It enables synchronous transmission,\n"
" requiring an external REFCLK and PPS signal and frames that do not contain a valid timestamp\n"
" get muted.\n\n");
-#if !defined(BUILD_FOR_EASYDABV3)
fprintf(out, "-u device: Use UHD output with given device string. (use "" for default device)\n");
fprintf(out, "-F frequency: Set the transmit frequency when using UHD output. (mandatory option when using UHD)\n");
fprintf(out, "-G txgain: Set the transmit gain for the UHD driver (default: 0)\n");
@@ -119,7 +108,6 @@ void printUsage(const char* progName)
fprintf(out, "-g gainmode: Set computation gain mode: fix, max or var\n");
fprintf(out, "-m mode: Set DAB mode: (0: auto, 1-4: force).\n");
fprintf(out, "-r rate: Set output sampling rate (default: 2048000).\n\n");
-#endif
fprintf(out, "-l: Loop file when reach end of file.\n");
fprintf(out, "-h: Print this help.\n");
}
@@ -132,7 +120,7 @@ void printVersion(void)
" ODR-DabMod is copyright (C) Her Majesty the Queen in Right of Canada,\n"
" 2005 -- 2012 Communications Research Centre (CRC),\n"
" and\n"
- " Copyright (C) 2018 Matthias P. Braendli, matthias.braendli@mpb.li\n"
+ " Copyright (C) 2023 Matthias P. Braendli, matthias.braendli@mpb.li\n"
"\n"
" http://opendigitalradio.org\n"
"\n"