summaryrefslogtreecommitdiff
path: root/docs/RELEASE-NOTES-3.7.10.md
blob: 8f17d7e86f10853fa1391a54b5926f90c64d249b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
ChangeLog v3.7.10
=================

This significant feature release of the 3.7 API series, and
incorporates all the bug fixes implemented in the 3.7.9.3 maintenance
release.


Contributors
------------

The following list of people directly contributed code to this
release:

 * A. Maitland Bottoms <bottoms@debian.org>
 * Andrej Rode <mail@andrejro.de>
 * Andy Sloane <andy@a1k0n.net>
 * Andy Walls <awalls@md.metrocast.net>
 * Chris Kuethe <chris.kuethe+github@gmail.com>
 * Clayton Smith <argilo@gmail.com>
 * Daehyun Yang <daehyun.yang@gmail.com>
 * Derek Kozel <derek.kozel@ettus.com>
 * Federico La Rocca <flarroca@fing.edu.uy>
 * Geof Nieboer <gnieboer@corpcomm.net>
 * Glenn Richardson <glenn.richardson@live.com>
 * Glenn Richardson <glenn.richardson@live.com>
 * Jiří Pinkava <j-pi@seznam.cz>
 * Johannes Schmitz <johannes.schmitz1@gmail.com>
 * Johnathan Corgan <johnathan@corganlabs.com>
 * Kevin McQuiggin <mcquiggi@sfu.ca>
 * Laur Joost <daremion@gmail.com>
 * Marcus Müller <marcus.mueller@ettus.com>
 * Martin Braun <martin.braun@ettus.com>
 * Matt Hostetter <mhostetter@users.noreply.github.com>
 * Michael Dickens <michael.dickens@ettus.com>
 * Nathan West <nathan.west@gnuradio.org>
 * Paul Cercueil <paul.cercueil@analog.com>
 * Paul David <paul.david@ettus.com>
 * Philip Balister <philip@balister.org>
 * Ron Economos <w6rz@comcast.net>
 * Sean Nowlan <sean.nowlan@gtri.gatech.edu>
 * Sebastian Koslowski <koslowski@kit.edu>
 * Seth Hitefield <sdh11@vt.edu>
 * Stefan Wunsch <stefan.wunsch@student.kit.edu>
 * Tim O'Shea <tim.oshea753@gmail.com>
 * Tom Rondeau <tom@trondeau.com>
 * Tracie Renea <tracie.perez@mavs.uta.edu>

## Major Development Areas

This release sees the integration of a number of long-time development
efforts in various areas of the tree, including GRC, new packet/burst
communications features for gr-digital, new standards implementations
for gr-dtv.  In addition, it incorporates all of the bug fixes
released as part of the 3.7.9.3 maintenance release.


### GRC

The GNU Radio Companion development environment continues to undergo
rapid development and refactoring. The tools and workflow have been
improved in the following ways:

 * Variable explorer panel and option to hide variables from canvas
 * Nicer block documentation tool-tip and properties dialog tab
 * Screenshots can have transparent background
 * Darker color for bypassed blocks
 * Select all action
 * Block alignment tools
 * Added bits (unpacked bytes) as a data type
 * Show warning for blocks flagged as deprecated
 * Remove [] around categories in the block library
 * Separate core and OOT block trees via the category of each block

The refactor of GRC continues. This should be mostly feature neutral
and make it easier for new contributors to come in and make useful
changes. Part of this is deprecating blks2 and and xmlrpc blocks and
moving them to components where they would be expected to be found
rather than the GRC sub-tree.

### Packet Communications

A long-time feature branch developed by Tom Rondeau has been merged
into the tree, implementing new blocks and methods for packet
communications.  This is intended to replace much of the older,
overlapping, and Python-only packet-based code that already exists.
As this code matures, we will be marking this older code as deprecated
with the plan to remove it in the new 3.8 API.

### DTV

DTV has new transmitters for DVB-S and ITU-T J.83B 64QAM. New support
for DVB-S2X VL-SNR code rates, modulation, and framing for AMSAT are
also available.

A significantly improved OFDM symbol synchronizer was implemented for
the DVB-T receiver (Ron Economos, Federico La Rocca).

## Other Feature Development

### Runtime

Clear tags and reset all item counters when merging connections
between blocks, which prevents bad values from being propagated on
lock/unlock operations.

Blocks always set their max_noutput_items before a flowgraph starts if
it hasn't already been set.

Added some options to gnuradio-config-info that prints information
about the gnuradio prefs file. The old customized preference file
reader is replaced with a boost program options object.

### QT GUIs

The QT GUI widgets can now toggle axis labels and the frequency sink
has a new feature to set the y-axis label. This could be useful for
changing units on calibrated measurements.

The QT GUI Entry widget has a new message port that emits a message
containing the new text whenever editing is finished.

QT widgets recently had an optional message port to plot PDUs. This
release adds a feature to plot the tag metadata contained in the PDU.

A new example shows how to build a C++ only QT based application.

### gr-digital

New QA for tagged stream correlate access code blocks further cement
how these blocks should be behaving.

16QAM is now available from the GRC constellation object dialog drop
down menu.

### gr-analog

The frequency modulator now has sensitivity exposed through
controlport.

New FM pre emphasis and de-emphasis filters. The previous filters were
effectively all-pass filters. There is a very nice write up on the new
filters in gr-analog/python/analog/fm_emph.py

A new message port to sig_source is available that can set signal
frequency with the same convention as gr-uhd usrp_source.

### gr-filter

Use the max_noutput_items in start() to allocate FFT buffers for the
PFB decimator rather than always allocating/freeing a buffer in
work().

### gr-blocks

Add a run-time accessor and setter for interpolation of repeat blocks.

vector_sink.reset() clears tags now

Add accessors for the vector_source repeat flag so it's settable
outside the ctor.

Fix tuntap devices MTU size. Previously MTU size argument was used to
allocate correct buffer size, but didn't actually change the MTU of
the underlying device.

The UDP source block can read gr prefs file for the payload buffer
size or default to the existing value of 50.

Yet another block making use of VOLK: the divide_cc block is now 10x
faster on some machines.

### gr-uhd

New argument in usrp_source initializer to start streaming on the
start of a flowgraph which defaults to true (the existing behavior).

Add a clock-source argument to uhd_fft.

A new message command handler for the usrp_source block will trigger a
time and rate tag to be emitted.

Added support for importing, exporting, and sharing LOs.

### gr-audio

Refactor audio sink for windows with multiple buffers to prevent
skipping.

### modtool

Add an option to set the copyright field for new files.

New modules will detect PYBOMBS_PREFIX and install to the defined
location.

Add versioning support for OOT modules by default.

### Builds

Enable controlport for static builds.

Enable GR_GIT_COUNT and GR_GIT_HASH environment variables for extended
versioning number for packagers.

We explicitly set the C/C++ standards to C++98 and gnu11 rather than
use the compiler defaults since many compilers are moving to C++11 by
default.  Incidentally this caused minor breakage with a subtle VOLK
API fix in gr-dtv which was also fixed.

Fixed finding GNU Radio + VOLK in non-standard prefixes when compiling
OOT modules.