Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delay-fix #3

Closed
wants to merge 188 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
fcc439f
No error termination in case of zero read bytes
mortensenit Nov 13, 2014
191817b
Merge remote-tracking branch 'upstream/master'
mortensenit Jan 5, 2015
ac43b12
Add pkg.m4 autoconf script
mpbraendli Feb 4, 2015
bcf924e
Change autotools to "subdir-objects" and simplify
mpbraendli Feb 5, 2015
52f695a
doc: change wiki link
mpbraendli Feb 5, 2015
1f75767
Add -Isrc to CPPFLAGS
mpbraendli Feb 5, 2015
277d29a
indentation
mpbraendli Feb 12, 2015
a84687a
Merge raspine/master, with ZMQ Remote-Control code
mpbraendli Feb 12, 2015
7bacaf3
Move some code from DabMod into Utils
mpbraendli Feb 12, 2015
c5c21c7
Add max_frames_queued option for zmq input
mpbraendli Feb 20, 2015
3a20c7d
Start using shared_ptr inside Flowgraph
mpbraendli Feb 22, 2015
7d7cbc1
Reindent CicEqualizer
mpbraendli Feb 22, 2015
7cee56f
Replace pointers by shared_ptr in all flowgraph
mpbraendli Feb 22, 2015
1ada090
Move main flowgraph to distinct function
mpbraendli Feb 22, 2015
87b7086
Restart full modulator on ZeroMQ input overrun
mpbraendli Feb 22, 2015
3a7feed
Change enable criteria for CicEq
mpbraendli Feb 22, 2015
5971e74
Remove incomplete OutputUHD iqbalance
mpbraendli Feb 27, 2015
b11eff2
Restart whole modulator on FCT discontinuity
mpbraendli Feb 27, 2015
1e2a6c6
Create custom exception for ZMQ overflow
mpbraendli Feb 27, 2015
af1bc23
Fix compilation with disabled UHD
mpbraendli Mar 22, 2015
accdfad
Fix configure help entry for UHD
mpbraendli Apr 7, 2015
20544fb
Add detail when config file parser fails
mpbraendli Apr 10, 2015
c4fa152
Simplify flowgraph print
mpbraendli Apr 10, 2015
56a0a84
Add check for FCT validity
mpbraendli Apr 10, 2015
c126ec3
'underfull' sounds wrong
mpbraendli Apr 10, 2015
5c3d264
ZMQ output: Add REP socket type
mpbraendli Apr 10, 2015
b042d58
Use make_shared in DabMod.cpp
mpbraendli Apr 10, 2015
34e0324
Only print closing message if really closing file
mpbraendli Apr 10, 2015
f786604
Fix license text in usage screen
mpbraendli Apr 10, 2015
8270567
Avoid having exceptions triggering abort()
mpbraendli Apr 10, 2015
e2d1476
Add validity check for eti_fc
mpbraendli Apr 10, 2015
81775f4
Prepare release v0.5.2
mpbraendli Apr 10, 2015
f0735f0
Add --dirty flag to version detection
mpbraendli Apr 17, 2015
d45f9b9
Merge remote-tracking branch 'upstream/master'
mortensenit Apr 22, 2015
39a302f
Merge mortensenit's InputFileReader fix into next
mpbraendli Apr 30, 2015
0c3111c
Add GPS fix checker, still with debugging
mpbraendli May 3, 2015
4dbd046
gps fix detector: add timeout
mpbraendli May 3, 2015
f315999
Reduce print of UHD messages
mpbraendli May 3, 2015
a90c25b
example.ini: don't enable zmqctrl by default
mpbraendli May 28, 2015
3c3787f
update INSTALL
mpbraendli May 25, 2015
43d8e3d
Use correct delete[] in ZMQ input
mpbraendli May 30, 2015
d17c32c
Use shared_ptr in FIRFilter
mpbraendli May 30, 2015
1f1d236
Telnet RC: reduce scope of m_welcome and m_prompt
mpbraendli May 30, 2015
405de3e
Use shared_ptr in ZMQ input instead of pointers
mpbraendli May 30, 2015
09312c2
Add and enable TII insertion for testing
mpbraendli May 27, 2015
5cfd2ac
TII: Move carrier duplication into enable_carrier
mpbraendli May 30, 2015
7eaba80
Apply rule of 3 in InputReader
Jun 2, 2015
e3cc55d
Logging: use etiLog instead of stderr
Jun 2, 2015
23ad472
Merge branch 'next' into tii
mpbraendli Jun 3, 2015
c9ea7fb
Set priorities for modulator and UHD threads
mpbraendli Jun 5, 2015
71eb84d
Fix intermittent underruns after a restart
mpbraendli Jun 5, 2015
c8b792f
Remove debugging prints
mpbraendli Jun 5, 2015
01f55e1
Merge branch 'next' into tii
mpbraendli Jun 5, 2015
192b698
Increase default ZMQ queue size
mpbraendli Jun 5, 2015
ef731fb
Increase default ZMQ queue size
mpbraendli Jun 5, 2015
9021497
Merge branch 'next' into tii
mpbraendli Jun 5, 2015
48b0674
Always log to stderr
mpbraendli Jun 7, 2015
5e5c087
Revert priority setting for mod and UHD threads
mpbraendli Jun 7, 2015
fed9a72
Simplify TIST offset handling, add offset to RC
mpbraendli Jun 12, 2015
058809e
Cleanup OutputUHD structure
mpbraendli Jun 12, 2015
f73442e
EtiReader: remove unused vars
mpbraendli Jun 12, 2015
7ac0d28
Add some sort of initial gps check
mpbraendli Jun 12, 2015
e102d9a
Move GPS check out of UHDWorker
mpbraendli Jun 12, 2015
39691b7
Use local zmq.hpp for RemoteControl.h
mpbraendli Jun 14, 2015
d4cf533
Replace pointer in TimestampDecoder by shared_ptr
mpbraendli Jun 14, 2015
74192c7
example.ini typo
mpbraendli Jun 14, 2015
5e5d45c
Merge 'raspine/master' with ZMQ RC fixes into next
mpbraendli Jun 25, 2015
79274de
Merge branch 'next' into tii
mpbraendli Jun 26, 2015
177eb8d
Add TII configuration to ini file
mpbraendli Jun 26, 2015
c203ead
Add TII to remote control, add explicit enable
mpbraendli Jun 26, 2015
dea0707
Add missing include
mpbraendli Jun 26, 2015
a37734c
Make TII enabling a soft-fail
mpbraendli Jun 28, 2015
d810842
Add warning in example.ini about TII
mpbraendli Jun 28, 2015
06cec48
update zmq.hpp to support zmq 4.1.x
mpbraendli Jul 3, 2015
2046b6e
Replace fixtype by timelock sensor in OutputUHD
mpbraendli Jul 3, 2015
418ef58
Remove boost::atomic dependency
mpbraendli Jul 17, 2015
6f5f87c
Clarify max_gps_holdover_time in example
mpbraendli Jul 17, 2015
1ede7bf
Handle modulator restart with file input
mpbraendli Jul 17, 2015
dd7bfa5
Add flags to improve SSE detection
mpbraendli Jul 21, 2015
6c3c8f2
update zmq.hpp to support zmq 4.1.x
mpbraendli Jul 3, 2015
382bd06
Prepare version v0.5.3
mpbraendli Jul 24, 2015
ee0b8fb
Merge branch 'master' into next
mpbraendli Jul 24, 2015
c3e716e
Add version info to starting up message
mpbraendli Jul 24, 2015
98b07e7
Correct defaults for refclk_source and pps_source
mpbraendli Jul 30, 2015
0a17f5c
Refactor ZMQ RC and add list and show commands
mpbraendli Aug 1, 2015
0fc6990
Add simple zmq remote python script
mpbraendli Aug 1, 2015
1782bed
ZMQ RC whitespace
mpbraendli Aug 1, 2015
1c25545
Minor typo in zmq-ctrl tests
mpbraendli Aug 1, 2015
31edd6a
Switch to C++11, remove boost::shared_ptr
mpbraendli Aug 1, 2015
dd22ff8
Add missing m4 script
mpbraendli Aug 1, 2015
07f5c0f
Replace some loops with iterators to foreach loops
mpbraendli Aug 1, 2015
0ba1b6c
example.ini change default B200 master_clk_rate
mpbraendli Aug 15, 2015
1e01627
Add support for Ettus GPSDO
mpbraendli Aug 15, 2015
a45009f
Move running flag out of workerdata
mpbraendli Aug 15, 2015
b592fcc
Make it possible to use synchronous=1 with internal ref
mpbraendli Aug 26, 2015
4388759
Update README and such
mpbraendli Sep 14, 2015
fa1e1eb
Fix crash when using RC after a mod restart
mpbraendli Sep 14, 2015
2623ad8
Keep tist offset across modulator restarts
mpbraendli Sep 18, 2015
0e6ca79
Give RemoteControllers a global lifetime
mpbraendli Sep 18, 2015
de9777f
Fix segfault on SIGINT before UHD init
mpbraendli Sep 18, 2015
8f1d668
Keep digital gain across modulator restarts
mpbraendli Sep 18, 2015
bdbe6b4
Refactor variables and GainMode enum
mpbraendli Sep 18, 2015
19a8c5d
Keep UHD settings across a modulator restart
mpbraendli Sep 18, 2015
415c6de
Keep FIR filtertaps after modulator restart
mpbraendli Sep 18, 2015
acb216d
UHD: do not print length 1 messages
mpbraendli Sep 18, 2015
c83676c
Keep TII settings across modulator restart
mpbraendli Sep 18, 2015
fe67d87
Prepare release v0.5.4
mpbraendli Sep 18, 2015
2f7afa5
Fix Non-SSE GainControl compile error
mpbraendli Sep 27, 2015
393b146
Fix compilation in KISS FFT with SIMD due to std::complex
mpbraendli Oct 28, 2015
9839d0f
Fix command line option for zmq input
mpbraendli Oct 30, 2015
90345f6
Set default UHD settings for command line
mpbraendli Oct 30, 2015
426cad9
Fix UHD output timestamp increment
mpbraendli Nov 27, 2015
0c59329
Enable zeromq by default
mpbraendli Nov 27, 2015
a8077ec
Prepare v0.5.5
mpbraendli Nov 27, 2015
2c29d67
KISS FFT is broken, make sure compilation fails
mpbraendli Jan 8, 2016
ecf7d2f
first succesful linux build with cmake
jsc-paneda Jan 14, 2016
6082db3
changed download for kissfft
jsc-paneda Jan 14, 2016
8c5cc83
added cmake instruction
jsc-paneda Jan 14, 2016
e37bf48
added option for UHD
jsc-paneda Jan 15, 2016
61b428a
added dynamic linking options + cleaning
jsc-paneda Jan 18, 2016
6c9b79b
Update gitignore
mpbraendli Jan 31, 2016
15de0c1
CicEqualiser: replace float array by vector
mpbraendli Jan 31, 2016
166e885
Replace quite a few 'new' with make_shared
mpbraendli Jan 31, 2016
6aae848
PhaseReference: replace array by vector
mpbraendli Jan 31, 2016
f607e54
Correct size of PhaseReference d_dataIn
mpbraendli Jan 31, 2016
5ac4621
Restart when FrameMultiplexer sees a different configuration
mpbraendli Jan 31, 2016
f27d07c
FIRFilter, use vector to save filter taps
mpbraendli Jan 31, 2016
3ab4c81
Add comments in PhaseReference
mpbraendli Jan 31, 2016
0818f2d
Protect cerr by mutex in Log, and minor things
mpbraendli Feb 28, 2016
bd7f482
Add Travis CI config
mpbraendli Mar 6, 2016
ee5d650
Travis CI: uhd is not allowed, KISS is known to be broken
mpbraendli Mar 6, 2016
3595d4a
Travis add FFTW
mpbraendli Mar 6, 2016
5d702c4
Fix README
mpbraendli Mar 11, 2016
0ce3135
Undef NDEBUG even in release mode
tkarls Mar 14, 2016
d9ef93e
Refactor OutputUHD, replace double buffering by queue
mpbraendli May 20, 2016
5ebfab9
Improve timestamp handling
mpbraendli May 20, 2016
bb64b31
Get rid of FCT discontinuity check
mpbraendli May 20, 2016
2022c10
Embellish warning about timestamp
mpbraendli May 20, 2016
c5a570f
Fix UHD underrun printout
mpbraendli May 20, 2016
607a1c0
Correct timestamp decoder pps calculation
mpbraendli May 25, 2016
6babef7
Use system time instead of usrp time to print
mpbraendli May 26, 2016
c3f5387
Fix process time statistics print
mpbraendli May 27, 2016
4fe6a33
Replace some unsigned types
mpbraendli May 27, 2016
8c3b37a
Remove broken KISS FFT support
mpbraendli May 27, 2016
45c2d54
Do not free FFTW plan before calling destroy
mpbraendli Jun 10, 2016
7d08079
fix segfault on SIGINT before UHD init completes
mpbraendli Jun 17, 2016
9f09681
Set UHD printout of timestamps to std::fixed
mpbraendli Jun 17, 2016
bab9d65
Add TRACE support for timing analysis
mpbraendli Jun 17, 2016
e48df9c
Set SCHED_RR prio for all data processing threads
mpbraendli Jun 17, 2016
5950cd2
Set custom names to threads
mpbraendli Jun 17, 2016
0a89de6
Move logging writes to separate thread
mpbraendli Jun 17, 2016
c93a726
Fix UHD buffering leading to out of memory
mpbraendli Jun 24, 2016
dd0ec87
Prepare release v0.6.0
mpbraendli Jul 30, 2016
2031215
Merge branch 'master' into cmake_build
jsc-paneda Sep 13, 2016
9d33d17
added test for reconfig
jsc-paneda Oct 5, 2016
d6c22a9
attempt a sleep to fix buffer underun
jsc-paneda Oct 5, 2016
565fe1b
test increase delay
jsc-paneda Oct 5, 2016
60392c3
Change zmq HWM from 1000 to 1
Landberg Oct 14, 2016
f67a263
Merge pull request #2 from paneda/input-buffer-delay-fix
Landberg Oct 18, 2016
d06bcda
Throw first 25 received frames to avoid old frames from source ZMQ ou…
Landberg Nov 3, 2016
f2cf96d
removed underrun-fix for now. It makes it hard to get up and running
Landberg Nov 3, 2016
e833631
re-added the underrun-fix with a little stricter requirement
Landberg Nov 3, 2016
a77ad08
trying to fix underrun-fix...
Landberg Nov 3, 2016
8dd9f17
Allow more underruns before exit...
Landberg Nov 3, 2016
0e8df26
re-worked the logic to drop frames when buffer overflow.
Landberg Nov 4, 2016
c925006
Increased lower limit on buffer restart
Landberg Nov 4, 2016
4000726
reverse solution test...
Landberg Nov 4, 2016
e0e6a9a
moved process_extra_frame-flag to correct class
Landberg Nov 4, 2016
9d88baa
Moved process_extra_frame-init to correct class too...
Landberg Nov 4, 2016
b570b7c
produce more extra frames at underrun...
Landberg Nov 4, 2016
63b7dfa
restored to no drop at start and simpler buffer reset.
Landberg Nov 4, 2016
165f103
returned to own start-drop-handling
Landberg Nov 4, 2016
923053d
changing start values...
Landberg Nov 4, 2016
4dce06b
no frame throw at start...
Landberg Nov 4, 2016
fdf1bdf
changed HWM from 5 to 10
Landberg Nov 4, 2016
f39488e
changed HWM from 10 to 50
Landberg Nov 4, 2016
959b070
modified overflow behavior
Landberg Nov 4, 2016
4164c4e
modified to no extra drop on buffer full
Landberg Nov 4, 2016
33e51bf
Re-added throwFrames=20
Landberg Nov 4, 2016
b911a89
HWM=30, no-throw
Landberg Nov 4, 2016
1199c62
re-add overflow code...
Landberg Nov 4, 2016
244a255
added restart-depth parameter
Landberg Nov 4, 2016
0dc9de3
added some logs
Landberg Nov 4, 2016
a0bc618
Added 'ZMQ,' to some logs. Halved the number of frames to drop at buf…
Landberg Nov 7, 2016
ed9315f
changed to drop a foutrh of the packages as they contain 4 frames...
Landberg Nov 7, 2016
53e1317
make sure framphase is intact when dropping frames.
Landberg Nov 7, 2016
bf87db1
re-factored buffer overflow-fix to handle other than 4 frames per ZMQ…
Landberg Nov 7, 2016
7c2d6f1
Changed to 10 consecutive underruns before exiting.
Landberg Nov 7, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
autom4te.cache
src/*.o
stamp-h1
src/.deps
.deps
.dirstamp
lib/kiss_fft129
**/Makefile
Makefile.in
Expand All @@ -11,9 +12,12 @@ build-aux
configure
config.log
config.h
config.h.in
config.status
src/odr-dabmod
odr-dabmod
.clang_complete
build/
import/

.*.swp
*~
29 changes: 29 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
language: c++
sudo: required
dist: trusty

addons: &addons
apt:
packages: &packages
- libzmq3-dev
- libzmq3
- automake
- libtool
- libboost1.55-all-dev
- libcurl4-openssl-dev
- libfftw3-dev
# libuhd-dev is not allowed

compiler:
- clang

script:
- |
./bootstrap.sh
CC=clang CXX=clang++ ./configure --disable-zeromq --disable-output-uhd
make
- |
./bootstrap.sh
CC=clang CXX=clang++ ./configure --disable-output-uhd
make

9 changes: 9 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,12 @@ Matthias P. Braendli <matthias [at] mpb [dot] li>
- Improvements in logging (log to file, to syslog)
- ZeroMQ ETI input
- Telnet remote-control
- ZeroMQ I/Q output
- I/Q conversion to signed 8-bit
- ARM support
- GPSDO monitoring on USRPs
- TII

Jörgen Scott
- ZeroMQ remote control
- Static delay offset
67 changes: 67 additions & 0 deletions CMAKE_INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
General:
======================
The CMake build of the odr-dabmod provides an alternative to the auto make tools build system (described in INSTALL) and provides:
* Static linking of boost and zeromq, avoiding version conflicts in case the system contains other version of these libraries
* Enables cross platform builds

Required dependencies:
======================
See INSTALL.

Prerequisites
======================
CMake
=====
Make sure CMake is installed in your system.

Boost
=====
Boost is statically linked into the odr-dabmod, and because of that it needs a little special attention.

Download desired version of boost from www.boost.org and extract to any directory, e.g. /home/user/thirdpart/boost/

A one-time build of the tool b2/bjam is also needed. Run bootstrap within the BOOST_ROOT-folder.

Configure the BOOST_ROOT environment variable to point to the root folder of the Boost file tree.

E.g. Linux
Add the variable in the ~/.bash_profile file.

TEMPLATE_BOOST_ROOT="/home/user/thirdpart/boost/boost_1_59_0"
export TEMPLATE_BOOST_ROOT

ZeroMQ
=====
ZeroMQ is statically linked into the odr-dabmod, and because of that it needs a little special attention.
Download desired version of ZeroMQ from https://github.com/zeromq (either by git clone or download the zip file).
It's recommended that the stable release branch is used e.g. https://github.com/zeromq/zeromq4-x.

NOTE: The archive files from http://download.zeromq.org/ cannot be used as they do not contain CMake build projects.

We also need to configure the ZMQ_ROOT environment variable to point to the root folder of the ZeroMQ file tree.

E.g. Linux
Add the variable in the ~/.bash_profile file.

ZMQ_ROOT="/home/user/thirdpart/zeromq4-x
export ZMQ_ROOT

Build procedure:
=========================
Download the odr-dabmod (see INSTALL)
Within the odr-dabmod root directory do:
$ mkdir build && cd build
$ cmake ..
$ make
$ make install

Configure options
=================
Some options can be given to cmake command:
# common options
Provide an install directory: -DCMAKE_INSTALL_PREFIX=/my/install/dir
Release or debug builds: -DCMAKE_BUILD_TYPE=Release|Debug

# odr-dabmod options
Use FFTW3 library (default=off, kiss_fft is used by default): -DFFTW3=on
Support UHD output (defailt=on): -DUHD=off
116 changes: 116 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
cmake_minimum_required (VERSION 2.8)
set(APP_NAME odr-dabmod)
project(${APP_NAME})

message("Current configuration: ${CMAKE_BUILD_TYPE}")

set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(CMAKE_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/cmake)

### Boost ###
option(BOOST_STATIC "Static linking of boost libraries" OFF)
if (BOOST_STATIC)
message(STATUS "Static linking of boost libraries from " $ENV{BOOST_ROOT})
endif()

if (BOOST_STATIC)
# Boost libs to use, must be set before including boost.txt.
set(project_boost_libs
system
thread
)
include(${CMAKE_INCLUDE_DIR}/boost.txt)
set(PROJECT_INCLUDE_DIR
${PROJECT_INCLUDE_DIR}
$ENV{BOOST_ROOT}
)
else()
set(BOOST_USE_STATIC_LIBS OFF)
set(BOOST_USE_MULTITHREADED ON)
set(BOOST_MIN_VERSION 1.55)
find_package(Boost ${BOOST_MIN_VERSION} REQUIRED
thread
system
)
set(LIBBOOST_LIBS ${Boost_LIBRARIES})
set(PROJECT_INCLUDE_DIR
${PROJECT_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
)
endif()
### Boost ###

message ("")

### ZeroMQ ###
option(ZMQ "Support ZeroMQ" ON)
option(ZMQ_STATIC "Static linking of ZeroMQ" ON)
if (ZMQ)
message(STATUS "Supports ZeroMQ")
add_definitions(-DHAVE_ZEROMQ)
if (ZMQ_STATIC)
message(STATUS "Static linking of ZeroMQ from " $ENV{ZMQ_ROOT})
# A trick to force CMAKE to look here first, before any system-path like /usr/lib/ which otherwise would have precedence.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I$ENV{ZMQ_ROOT}/include -I$ENV{ZMQ_ROOT}/cppzmq")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I$ENV{ZMQ_ROOT}/include -I$ENV{ZMQ_ROOT}/cppzmq")
include(${CMAKE_INCLUDE_DIR}/zeromq.txt)
set(PROJECT_INCLUDE_DIR
${PROJECT_INCLUDE_DIR}
$ENV{ZMQ_ROOT})
add_definitions(-DZMQ_STATIC)
else()
set(ZEROMQ zmq)
endif()
endif()
### ZeroMQ ###

message ("")

### FFT ###
# defaults to kiss_fft in case of off
include(${CMAKE_INCLUDE_DIR}/kissfft.txt)
option(FFTW3 "Uses FFTW3 fft library" ON)
if (FFTW3)
message(STATUS "Uses FFTW3")
include(${CMAKE_INCLUDE_DIR}/fftw.txt)
endif()
### FFT ###

message ("")

### UHD ###
option(UHD "Support uhd output" ON)
if (UHD)
message(STATUS "Supports uhd output")
include(${CMAKE_INCLUDE_DIR}/uhd.txt)
endif()
### UHD ###

# get version from git describe
exec_program(
"git"
${CMAKE_CURRENT_SOURCE_DIR}
ARGS "describe"
OUTPUT_VARIABLE VERSION )

message ("")
message(STATUS "App name: ${APP_NAME}")
message(STATUS "Building version: ${VERSION}")

# some common definitions
add_definitions(
-D_SCL_SECURE_NO_WARNINGS
-DHAVE_BZERO
-DHAVE_GETTIMEOFDAY
-DPACKAGE="odrdabmod"
-DGITVERSION="${VERSION}"
-UNDEBUG
)

include_directories("${PROJECT_INCLUDE_DIR}")
include_directories("${PROJECT_SOURCE_DIR}")

add_subdirectory(src)

47 changes: 46 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
This file contains information about the changes done to
the ODR-DabMod in this repository
ODR-DabMod in this repository

2016-07-30: Matthias P. Braendli <[email protected]>
(v0.6.0):
* odr-dabmod:
Remove the broken KISS FFT support.
Replace FCT discontinuity check by verification of
the timestamps.
Change DSP thread priorities to realtime.
Quite some internal refactoring.
Fix segfault on quit due to incorrect teardown of FFTW.
Add Travis CI build instructions.

2015-11-27: Matthias P. Braendli <[email protected]>
(v0.5.5):
* odr-dabmod:
Fix compile errors with recent C++ standard library.
Correct command line options when using UHD and ZMQ input.
Enable ZeroMQ be default in ./configure

2015-09-18: Matthias P. Braendli <[email protected]>
(v0.5.4)
* odr-dabmod:
Better GPSDO handling, both for Ettus GPSDO
and ODR LEA-M8F board.
Add (experimental) TII support.
Improve thread priority definition.
Simplify handling of TIST offset, and add to RC.
Switch projecet to C++11.

2015-07-24: Matthias P. Braendli <[email protected]>
(v0.5.3)
* odr-dabmod:
Replace zmq.hpp to support version 4.1.x

2015-04-10: Matthias P. Braendli <[email protected]>
(v0.5.2)
* odr-dabmod:
Merge static delay parameter and ZeroMQ remote control.
Add max_frames_queued option for ZeroMQ input.
Restart modulator on FCT discontinuity or ZeroMQ input
buffer overrun.
Improve error messages and documentation.
Add ZeroMQ output REP socket type for interconnection with
GNURadio.
Fix license text in usage view.

2015-01-24: Matthias P. Braendli <[email protected]>
(v0.5.1)
Expand Down
17 changes: 5 additions & 12 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
Required dependencies:
======================

* A C++11 capable compiler
* Boost 1.41 or later
* FFTW 3.x
* Optional UHD for USRP
* Optional ZeroMQ http://www.zeromq.org
* Optional FFTW 3.x (included KISS FFT is used as fallback)

Simple install procedure:
=========================

% tar xjf odr-dabmod-X.Y.Z.tar.bz2 # Unpack the source
% cd odr-dabmod-X.Y.Z # Change to the source directory
% ./configure --enable-zeromq --enable-output-uhd
% ./configure
# Run the configure script
% make # Build ODR-DabMod
[ as root ]
Expand All @@ -21,17 +22,9 @@ Configure options
=================
The configure script can be launch with a variety of options:

--enable-zeromq Enable ZeroMQ input (to be used with ODR-DabMux),
--disable-zeromq Disable ZeroMQ input (to be used with ODR-DabMux),
output and remotecontrol.
--enable-output-uhd Includes the binding to the UHD driver for USRPs

You have the choice between two FFT libraries: KISS FFT and FFTW. KISS FFT is a
proven library, but it's performance is worse than with the new FFTW. With KISS
FFT, you have the choice between using the normal version, or the SIMD
accelerated version, which is a bit faster. The corresponding options are:

--enable-kiss-fft Prefer KISS FFT over FFTW
--enable-fft-simd Enable SIMD instructions for KISS FFT
--disable-output-uhd Disable the binding to the UHD driver for USRPs

Debugging options: You should not enable debug if you need good performance.
By default, debug is disabled.
Expand Down
Loading