Digital-rf

Latest version: v2.6.8

Safety actively analyzes 619566 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

2.6.8

====================

**Changed:**

* drf_sti: Updated to have better arguments (consistent with more recent tools), handle data gaps, and add simple channel sum beamforming.
* thor: Swap order of setting USRP clock and time sources, time first. This should reduce the number of re-syncs necessary with modern USRPs (N3xx, X4xx) in the absence of being able to do a set_sync_source call.
* thor: Put USRP clock, time, and lo arguments into device string, and do not set those arguments after device initialization if they do not change. This means that thor will do less re-initialization of the device settings during startup.

**Fixed:**

* Fixed Python DigitalRFReader and DigitalMetadataReader for compatibility with numpy 1.23 on Windows (and possibly other platforms with np.longdouble==np.double).

**Authors:**

* Ryan Volz
* Frank Lind

2.6.7

====================

**Added:**

* Added the `DigitalRFReader.read_vector_1d` method for reading data and always returning a 1-D array of the smallest safe floating point type, replacing `DigitalRFReader.read_vector_c81d`.
* Basic logging support has been added, with the case of failing to import the `watchdog_drf` module being the only instance of logged information so far. The logging level can be set using either the `DRF_LOGLEVEL` or `LOGLEVEL` environment variables. The default level is `WARNING`, and the `watchdog_drf` import error is logged at the `INFO` level.

**Changed:**

* Renamed the GNU Radio companion block tree title from "gr_digital_rf" to "Digital RF" to better match the style of other out-of-tree modules.
* `DigitalRFReader.read_vector` no longer always returns an array with a `np.complex64` dtype. Instead, the array will always have be of the smallest floating point type (either complex or real) that will safely fit hold the underlying data without loss of precision. We recommend manually changing to a smaller type if a loss of precision is acceptable. The benefit over this function over `DigitalRFReader.read_vector_raw` is that you don't have to worry about handling complex integer data with a compound dtype.
* The Python package now depends on `oldest-supported-numpy` instead of just `numpy`, so that source builds can maintain maximum compatibility with different `numpy` versions.

**Deprecated:**

* The `DigitalRFReader.read_vector_c81d` method is deprecated and will be removed in digital_rf version 3. Use read_vector_1d instead and append `.astype('c8', casting='unsafe', copy=False)` if a strict return dtype of complex64 is desired.

**Fixed:**

* Fixed 25 (digital_rf_sink: version check on GNU Radio causes TypeError) by removing the GNU Radio version check since it wasn't actually doing anything helpful anymore.
* Fix thor.py failures when recording multiple channels (e.g. `AttributeError: 'list_iterator' object has no attribute 'start'`). Some flowgraph blocks were being garbage-collected before/during execution because no references were stored to the Python objects with GNU Radio 3.9+. Now thor.py keeps these references itself.
* Fix thor.py error when setting a stop time with GNU Radio 3.9+.
* Improve thor.py start time tagging with at least the B2xx radios.
* Improve thor.py reliability with stop times by not attempting to stop at an exact time, but instead just stop when we are sure we are past the stopping time.
* Fix stream tag handling in Digital RF Sink and Raster blocks. The `get_tags_in_window` function is broken in GNU Radio 3.9.2.0, so use `get_tags_in_range` instead.
* The `watchdog_drf` module is now compatible with recent versions of the `watchdog` package, from version 1 up through at least version 2.1.2.

**Authors:**

* Ryan Volz

2.6.6

====================

**Deprecated:**

* The `digital_rf_get_unix_time` function is now deprecated, as it relies on a `long double` sample rate. Use `digital_rf_get_unix_time_rational` instead.

**Fixed:**

* Fix incorrect file bound calculation in `digital_rf_get_subdir_file` on platforms that have a `long double` that is different from amd64, notably at least the aarch64 ARM platform. This fixes a bug where writes failed with error messages "Failed to write data" and "Request index M before first expected index N".
* Regularized use of 64 bit integer types and their conversion to Python values, perhaps correcting behavior when compiled on 32-bit architectures.
* Cleaned up compiler warnings about comparing signed and unsigned values.
* Cleaned up testing warnings about invalid values in equals comparison.

**Authors:**

* Ryan Volz

2.6.5

====================

**Added:**

* Added start sample to debug printing of 'digital_rf_channel_sink' to complement the debug printing of rx_time tags.

**Changed:**

* The Digital RF (Channel) Source/Sink blocks for gnuradio-companion have been modified to accept 'raw' input for the start and end identifiers instead of strings, allowing variables to be used. Existing flowgraphs may require quotes to be placed around existing string input.

**Fixed:**

* The drf_watchdog module is now compatible with watchdog 0.10+. There may be a slight change of behavior (duplicate or out of order events) but the mirror and ringbuffer utilities can handle it gracefully.
* Better error message when no samples are specified with drf_plot.py.
* Fix the Digital RF sink blocks and GRC yaml to prevent an empty array for center_frequencies being written as Digital Metadata (currently happens with default GRC block with GNU Radio 3.8).
* Clarified docstrings (and updated to actual modern behavior) for 'start' and 'end' in Digital RF source/sinks.

**Authors:**

* Ryan Volz

2.6.4.4

====================

**Fixed:**

* Fix to drf_plot.py to ignore negative infinity values when autoscaling.
* Fix thorpluto.py for better compatibility when both the libiio python bindings (iio.py module) and the gr-iio package (either gnuradio.iio or just iio) are installed.

**Authors:**

* Ryan Volz

2.6.4.3

====================

**Fixed:**

* Fix matched filtering in drf_plot.py to run with Python 3 and use the correct code (not reversed). Also shift the filtered result so that ranges are the same before and after filtering.
* Fix RTI and STI plots in drf_plot.py tool for Python 3. Once again the assumption of an integer result from division rears its ugly head.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.