003.013.001.000 Changelog
E320: Fix front panel GPIO readback
E320: Fix master_clock_rate setting
E320: Print extra ouptut for ref_clock BIST
E320: Fix gps_locked type
E320: Fix return value of get_fpga_type()
N3xx: Enable setting clock and time sources at runtime
N3xx: Add ref_clock BIST
N3xx: Improve set_time_source() and set_clock_source()
N3xx: Add exception for init failure
N3xx: Remove HA, XA images packages
N3xx: Change init() procedure to reduce configuration time
N310: Add frequency bounds
N310: Fix RX antenna mapping
N310: Add log messages when re-initializing dboards
N310: Add skip_rfic argument to reduce time of BIST
N310: Add initialization of TX bandwidth
E310: Fix initialization of antenna and frequency values
E310: Type-cast fix for Boost
X300: Improve firmware compat error message
X300: Updated niusrprio driver
X300: Add recovery for duplicate IP addresses in EEPROM
X300: Prevent duplicate MAC and IP addresses from being programmed
X300: New mode to configure master clock rate
X300: Implement RFNoC get antenna functions
B2xx: Fix values of MASK_GPIO_SHDN_SW and GPIO_AUX_PWR_ON in firmware
B2xx: Revert changes to DSP core to fix scaling factor adjustment
B2xx: Restore asynchronous reset of AD936x
(fixes LIBUSB_TRANSFER_OVERFLOW and unexpected sid errors)
TwinRX: enable ch1 lo amps if ch2 is using an external lo source
TwinRX: Correctly initialize antenna mapping on X300
TwinRX: Revise ADF5356 frac2 register calculation to prevent drifting spurs
TwinRX: Fix initialization
TwinRX: Tuning improvements
TwinRX: Enable phase resync on ADF535x
TwinRX: Make routing to LO1 and LO2 mutually exclusive
BasicRX/LFRX: Fix real mode in rx_frontend_core_3000
UHD: Define UHD_API as empty string when building static lib
UHD: Changed to 'all_matching' endpoint resolution for udp_simple transport
UHD: Add support for NEON SIMD
UHD: Fix usb_dummy_impl compilation in MSVC
UHD: Reconcile time_spec operators with boost concepts
UHD: Fix rounding in ddc/duc rate calculation
UHD: Increase MPMD RPC timeout when calling set_time_source()
UHD: Fix RX streamer SOB and EOB handling
UHD: Add UHD_SAFE_CALL to block_ctrl_base destructor
UHD: Change SOVERSION to ABI string and VERSION to full UHD version
UHD: Update cmake style to use lower case commands
UHD: Add SOURCE_DATE_EPOCH
UHD: Improve logic for UHD_IMAGES_DIR
UHD: Add RUNTIME_PYTHON_EXECUTABLE
UHD: Fix return value of get_rolloff() for filters
UHD: Properly register devtest
UHD: Fix log statement for Port number on RFNoC block
UHD: Use "MATCHES" instead of "STREQUAL" for "Clang"
UHD: Fix GPGGA string formatting for gpsd
Device3: Set default block control response SIDs
Device3: Fix block control flushing
RFNoC: Improved flushing mechanism in noc_shell and dma_fifo
RFNoC: Install missing dma_fifo_block_ctrl header
RFNoC: Replace some [] with .at() in radio_ctrl_impl
RFNoC: Fix graph traversal
MPM: Add Git hash, version to device info
MPM: Reset the RPC server upon reload
MPM: TDC: Update PDAC BIST and flatness test to use latest APIs
MPM: Fix handling of 0-valued dt-compat
MPM: Fix GPSD sensor names for N3xx and E320
MPM: Add args to update_ref_clock_freq to properly support dynamic setting
of clock and time references
MPM: Fix Pylint warnings
MPM: Identify sysfs gpios more generically
MPM: Add lock_guard() function
MPM: Factor E320 and N3xx BIST code into common module
MPM: Add gpsd error handling
MPM: Add FPGA git hash to device info
MPMD: Increase RPC timeout during readng mb sensor
MPMD: Improve error message for compat number mismatches
Python API: Enable Python API on Windows
Python API: Change .dll to .pyd for Win32
Python API: Fixing Boost.Python initializer visibility
Python API: Fix duration of benchmark rate
Python API: Add missing constructors of time_spec_t
Python API: Expose streamer timeouts
Python API: Tighten the scope of releasing the GIL
Python API: Add device_addr_t
Python API: Populate the tune_result_t binding
Utils: Many fixes and enhancements for uhd_images_downloader
Utils: Update query_gpsdo_sensors to work on E310
Examples: Removed some legacy code patterns from RFNoC examples
Examples: Fix channel argument for rx_samples_to_file
Examples: Fix benchmark_rate MIMO synchronization
Examples: Add phase alignment example
Examples: Fix RX antenna not being applied in txrx_loopback_to_file
Test: Add more env vars, make Py3k compatible
Test: Add multi_usrp_test.py to devtest
Test: Clean up, refactor, and improve devtest
Test: Enable rx_samples_to_file in E320 devtest and N3xx devtest
Test: Reduce sample rate for E320 1G devtest
Test: Add unit test for eeprom_utils
Docs: Add clock_source and time_source to n3xx argument list and fix WR clock_source call
Docs: Minor tweaks to the Python API manual page
Docs: Add E320 test procedures
Docs: Added TwinRX page
Docs: Fix N210 MIMO Phase Alignment test command
Docs: Add E320 information
Docs: Improve sections on clock/time references
Docs: Add section on X300 motherboard clocking
Docs: Add more information on Salt for N3xx and E320
Docs: Adjust E310 functional verification tests
Docs: Add documentation on GIL release
Debian: Update control files
Images: Add N3xx CPLD file to manifest
- Changes for xlog version 2.0.17 - 2019-jan-14
* Suppress GCC warning "stringop-truncation" in editest.c
which occurs with GCC >= 8.1.
* Updated cty.dat 20190114
- Changes for xlog version 2.0.16 - 2019-jan-13
* added JS8 support and updated to ADIF 3.0.9
* Updated cty.dat 20181210
kalibrate, or kal, can scan for GSM base stations in a given frequency band
and can use those GSM base stations to calculate the local oscillator
frequency offset.
kalibrate, or kal, can scan for GSM base stations in a given frequency band
and can use those GSM base stations to calculate the local oscillator
frequency offset.
Please note that if you are on 2015 firmware you must update the SPI flash
and CPLD of your hackrf, otherwise you may experience unpredictable behavior.
See: https://github.com/mossmann/hackrf/wiki/Updating-Firmware
HackRF 2018.01.1
- improved reliability of DFU boot loader
HackRF 2017.02.1
- Sweep mode
- Hardware synchronization
- reduced power consumption
- bug fixes
Version 3.3
2018-08-20
* New models, R&S xk2100, TRXMAnager, Meade LX200
* HTML manual is now generated at 'make dist' so users don't
need GNU Info tools installed. TNX Greg, N1DAM for the suggestion.
* Handle longer udev generated file names up to 512 characters
* Add debug time stamps with new '-Z' option and '--debug-time-stamps'
options to rigctl, rotctl, rigctld, and rotctld utilities.
* rigctld/rotctld continue working after serial or TCP device
disappears.
* Updates and fixes to FT-817, K3, IC-7300, AOR 3030, TM-D710,
OMNI VII, TH-D72, Flrig, TS-590, piHPSDR, TS-2000, and netrigctl.
* Update utility manual pages (section 1) and remove their reference
material from the Info manual so it only needs to be update in one
file.
* Add new general project manual pages (section 7) and edit the Info
manual to match. These should not change much so keeping them in
sync should not be too much of a burden. The Info manual may be
removed at some point in the future.
* Last planned release of the present API/ABI. Future releases will
require recompilation and relinking by client programs using the C
library interface (programs that only use the network daemons should
be unaffected).
## [3.7.13.4] - 2018-07-15
### Fixed
#### Project Scope
- Fix Boost 1.67 linking issue
#### gnuradio-runtime
- Logging: fixed issues where messages weren't properly written to
stdout/stderr due to incorrect strings
#### gr-analog
- `fmdet_cf`'s derivative coefficients were wrong.
#### gr-blocks
- `skiphead` used to incorrectly handle tags, now properly shifts
#### gr-digital
- `qa_packet_format`: Unit test used to potentially lock up due to
incorrect condit ionals
- `clock_recovery_cc`, `crc32_bb`: Accessing the `[0]` element of an
empty vector is UB, even if you don't use the result afterwards.
#### gr-fec
- `polar_encoder`/`_common`: Fixed multiple out-of-bound accesses due
to insufficient vector length checks
#### gr-filter
- `fft_filter`, `filter_delay`: Accessing the `[0]` element of an
empty vector is UB, even if you don't use the result afterwards.
## [3.7.13.3] - 2018-06-13
### Fixed
#### Project Scope
- For non-C++11 compilers, the new cstdint include doesn't work out; conditionalized it.
## [3.7.13.2] - 2018-05-31
### Fixed
#### Project Scope
- Actually bumped version in CMakeLists.txt to 3.7.13.2; the 3.7.13.1 tag was tagged off-branch; maintainer failure to simultaneously push a commit that raises the internal version number to 3.7.14.0: this had to be reverted ASAP.
## [3.7.13.1] - 2018-05-31
### Fixed
#### Project Scope
- Actually bumped version in CMakeLists.txt
## [3.7.13.0] - 2018-05-31
### Fixed
#### Project Scope
- `boost::posix_time::[milli]second` takes integer numbers, and we now at least cast the floats to integers, as Boost 1.67 forced us to realize we're (incorrectly) using floating point her
- CMake: using regex to match compiler against "Clang" now enables correct build on OS X
#### GRC
- Fixed GRC bug which broke WX and Qt (by altering the template code), in multiple (less than awesome) steps
#### gr-blocks
- `float_array_to_int`: int32 limits were wrongly hardcoded.
- Fixed the undefined behaviour happening in `float_to_complex` when accessing the second input_items element in the single-input case
## [3.7.12.0] - 2018-04-01
### Software Engineering
- Changed Changelog format
- Introducing Semantic Versioning
- Change of development model: Rather than merging bugfixes to maint, merging maint to master, and next, if applicable, we'll be moving forward more in a typical management model: Development happens on master, and bugfixes are cherrypicked onto the maint-${RELEASE} branch. More info: http://lists.gnu.org/archive/html/discuss-gnuradio/2018-02/msg00133.html
- First attempt at having a .clang-format file to improve code contribution style quality. This is Work In Progress.
### Fixed
#### Project Scope
- Buildability on systems where custom CMake command would try to find "" (empty string) as executable
- Buildable with C++11 compilers (though deprecation warning-rich, due to `unique_ptr`)
- several previously improperly handled include directories now actually included in individual lib/CMakeLists
- Unit test/QA now parallelizable
- Logger works with log4cpp <= 1.1.2 both in and out of tree
- Python linkage under MinGW64
- Documentation Directory now uniformly "docs/" (instead of sometimes "doc/")
- `log` vs `logf` performance bugs
- on-time `pmt::mp("string")` calls (instead of cached PMTs) performance bug
- Doxygen build now reproducible
#### GRC
- Dialogs' parent windows
- Embedded Python Blocks now work in hierarchical GRC flow graphs
#### gnuradio-runtime
- `random.h`: Uniform integer Generation depended on Boost version > min version
- `random.h`: time-dependency when seeding with `0` replaced with actual standard seed
- block startup now synchronized via barrier
- New tag propagation policy "custom" for own implementation
- `get_tags_in_range` used `v.resize(0)` to clear vectors, which lead to unnecessary memory reallocations
- `logger_ptr` now always a pointer, no matter whether logging is enabled; fixes heap corruption bug
- `buffer[_reader]_sptr` superfluous grab/release performance bug
- BSD threading and shared mem compatibility
- PMT: `equal()` comparison
#### gr-utils
- Sorted files in `gr_modtool` makexml processing, leading to improved reproducibility of builds
#### gr-audio
- OS X: memcpy bug
- OS X: debug mode
- Non-Linux ALSA compatibibilty
#### gr-analog
- `fmdet_cf` now has GRC file
- `fastnoise_source`: non-threadsafe `libc` `rand()` replaced by XOROSHIRO128+
#### gr-blocks
- `simple_copy` Ctrlport example
- Metadata sink/source not closing file on `close()`
- `multiply_matrix` formerly used "magic int" value where its API expected enum (and that int wasn't covered)
- TCP connection ASIO bug
- `tags_strobe`: superfluous tags addition
- `vector_sink`: multithreading hazards on `data` access
- `tuntap_pdu`: MTU-sized IP packet reception
- `socket_pdu`: Garbage Collect closed TCP connections
#### gr-channels
- IQ imbalance block formula now mathematically correct now mathematically correct
- `selective_fading_model`: proper scaling of path length
#### gr-digital
- `additive_scrambler_bb`: tag triggered reset
- `stream_to_tagged_stream`: tag offset after `unlock()`
- `blks2/packet.py`: Flushing for small packets
- `interpolating_resampler`: GCC 4.0 compile error
- `constellation`: 16QAM demapper was wrong for one constellation point
- `chunks_to_symbols`: mutex-guard LUT against modification during use
- MSVC compatibility throug `and` -> `&&` etc
- `crc32_bb`: handle unpacked bytes correctly
- `ofdm_carrier_allocator`: catching wrong allocations instead of crashing
#### gr-dtv
- All examples now are installed
- DVB-T2: Removed L1 post scrambling in spec v1.1.1 mode
#### gr-fcd
- Building on non-Linux systems
- Extended symbol bug in Reed-Solomon encoder
- DVB-T Cell identifier
#### gr-fcd
- Building on non-Linux systems
#### gr-fec
- `channel_construction.py`: return int frozen bit output
- `GSL_LDFLAGS` propagation
- `polar_decoder` used to be flaky
#### gr-fft
- locking of fftw wisdom
- `window.cc`: removed NaN due to FP math
- compilation under MinGW
- `logpwrfft.py` reference scaling integer division bug
#### gr-filter
- Simpson's rule code removed in favor of GSL call
#### gr-qtgui
- Time sink: Segfault with tag trigger
#### gr-uhd
- Antenna selection in UHD apps
- `uhd_fft` scalar gain-capability
- Device selection for multi-device operations in UHD apps
- TX streamer creation
#### gr-zeromq
- Multi-part messages reception
### Added
#### Project Scope
- Ninja (https://ninja-build.org) now a supported build system
#### gnuradio-runtime
- Python can now get `gr.WORK_CALLED_PRODUCE` and `gr.DONE`
#### gr-utils
- `gr_modtool`: Autocompletion, line editing
- `gr_modtool`: `copyrightholder` option
#### GRC
- "Create Duplicate"
- "Save a copy"
- BokehGUI
#### gr-blocks
- New `tag_share` block: take tags from one two input streams to one output stream
- `tag_gate`: tag filtering
- `file_source`: configurable `file_begin` stream tag
- `moving_average`: Vector mode (with element-wise MA)
- `plateau_detector`: threshold get/set
#### gr-digital
- `costas_loop_cc`: Optional loop variable outputs
- New `correlate_access_code_tag` block
- `glfsr` exposed through Python
#### gr-dtv
- 256QAM mode for ITU-T J.83B transmitter
#### gr-fec
- negative Polynomials in `cc_encoder`
#### gr-filter
- `symbol_sync_{cc|ff}`
#### gr-uhd
- `uhd_app.py`: selectable time/clock sources
- make `recv()` call's timeout parameterizable
- message-based RX tuning through sink, TX through source
### Changed
#### Project Scope
- VOLK version requirement: 1.4.0
- Minimal required SWIG version now 2.0.4
- GSL optional dependency
- Threw out completely unused `gr_??int` types
- Doxygen build no longer contains timestamps
- Doxygen build now reproducible
- Though factually before, now officially include ZeroMQ and Sphinx as optional dependencies in docs
#### gnuradio-runtime
- Python gateway allows variable number of ports
#### gr-utils
- `gr_modtool`: Block template now uses `numpy.float32` instead of float. 32bit float is actually the default GNU Radio type.e.
#### gr-blocks
- `vector_sink` can preallocate memory for desired amount of items
#### gr-digital
- `header_format_default` now sps>1-capable
- `correlate_acces_code` uses `GR_LOG`
#### gr-uhd
- `uhd_fft`: respect `lo_offset` in `set_bandwidth`
- `usrp_source`: freq tag now actually reflects last set frequency, even on multiple channels
#### gr-qtgui
- Labels: now with 98.121212388% improved floating point formatting
- Time Sink: Stem plot option exposed
### Deprecated
#### gnuradio-runtime
- `gr::sys_pri`
includes fixes for build breakage introduced by boost 1.67
## 003.011.001.000
* N310: fix compiler warnings
* N310: Implement digital loopback
* N3xx: Add N3xx devtest
* X300: Properly coerce master clock rate (tick rate)
* X300: handle bad weak_ptr during pcie discovery
* X300: handle bad weak_ptr during pcie discovery
* X300: Fix check_radio_config() to fix errors when using a single dboard
in slot A
* B200: docs: Suggest modifying recv_frame_size for more stability
* B200: Fix bandwidth warnings and ranges
* N2xx: Fix regression issue that limited tuning range
* UBX: Change antenna functions to coercers on antenna/value properties
* adf4002: Fix register programming for power down bit
* UHD: Fix config file path for some Windows builds
* UHD: Add operators == and != for uhd::dict
* UHD: Add device_addr_t constructor from map
* UHD: Fix range of gain group to skip gains with zero step
* UHD: Changes to support Boost 1.67
* UHD: Correctly set end of burst flag in RX metadata
* UHD: Reduce usage of boost::assign, boost::this_thread::sleep, and boost:bind
* UHD: Update multi_usrp::get_usrp_?x_info() for MPM devices
* UHD: Refactor static const values to fix linker errors in niusrprio
* mpm: cmake: Add git hash and version info to Python module
* mpm: Add reference counters to UIO
* mpm: Add offset to EEPROM reads
* mpm: Disable PPS out during initialization
* mpm: Update cmake to find the correct python3
* mpm: Bump maximum supported revision to 5 (Rev F)
* mpm: Fixed db slot typo in db-id
* mpm: Increased claim timeout, made a separate RPC connection for claim, and
added asyn calls for long RPC executions
* mpm: Improve xport<->SFP mapping algorithm
* mpmd: Improved find routine to fail fast and verify correct device is
reachable
* mpmd: Add missing virtual destructors
* rfnoc/x300: Make sure peek32() and peek64() are called with actual addresses
* rfnoc: ctrl_iface cleanup
* rfnoc radio: Improve warning for too many samples requested
* rfnoc radio: get_rx_stream resets sequence num
* examples: Increase settling time, increase buffer fill time, and fix subdevice
selection in txrx_loopback_to_file
* examples: Improvements to benchmark_rate
* utils: downloader supports multiple RegExs
* utils: Added code to handle underruns during self calibration
* utils: Fix 30s tiemout in query_gpsdo_sensors
* logging: Improve style consistency and demote some messages
* logging: Fix UHD_LOG_FILE cmake variable
* Docs: Add Known Issues section to USRP1, B100, and USRP2/N2x0
* Docs: Hide dependencies directory from Doxygen
* Docs: Clarify subdev specs and magnesium driver usage for N300/N310
* cmake: Improve warning for missing requests
* cmake: update NSIS template
* cmake: Remove images downloader section (replaced by manifest)
## 003.011.000.001
* N300: Added driver support (includes some refactoring of N3xx
codebase)
* MPM: Fix PyLint warnings, Fix error handling for TCA communication
errors, Fix printout of AD9371 version
* uhd_images_downloader: Create unique archive names for images archives
(now include git hashes in the filename)
* uhd_images_downloader: Fix SHA256 check
* utils: Add support for N3xx filesystem images to images downloader
* UHD: Minor logging fixes
* UHD: fix legacy compat to work with 2TX radio block
* X300: improve lvbitx bitstream md5 read time
* examples: Enhance benchmark_rate with more stats and timestamps for errors
* cmake: Correctly fail when an unavailable component is requested
* debian: Add UHDConfig.cmake to install list for libuhd-dev
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
This package has long had patches to change "inline" to "static
inline", and somewhat recently added a SUBST_ stanza to do the same
thing, resulting in "static static inline". This commit drops the
patches, and has been build tested on netbsd-8/vbearmv7hf-el and MacOS
(and hence clang).
PKGREVISION++, even though in theory any previous build shouldn't change.