Package: hackrf / 2024.02.1-4

Metadata

Package Version Patches format
hackrf 2024.02.1-4 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Set version to 2024.02.1.patch | (download)

firmware/hackrf-common.cmake | 2 1 + 1 - 0 !
host/cmake/set_release.cmake | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 [patch 01/75] set version to 2024.02.1+


0002 Fix quoting issue causing bad library include path a.patch | (download)

.github/workflows/build.yml | 68 43 + 25 - 0 !
.github/workflows/clang-format-check.yml | 2 1 + 1 - 0 !
.gitignore | 1 1 + 0 - 0 !
host/hackrf-tools/src/CMakeLists.txt | 7 7 + 0 - 0 !
host/libhackrf/src/CMakeLists.txt | 6 6 + 0 - 0 !
5 files changed, 58 insertions(+), 26 deletions(-)

 [patch 02/75] * fix quoting issue causing bad library include path,
 add install step hackrf-tools. * Add artifact publish step for Windows
 libraries and host tools. * Replace runner.workspace with github.workspace. *
 Update checkout task to v4 to supress warning. * Update CMAKE for libhackrf
 and hackrf-tools to also install DLLs on WIN32 platforms. * Update
 uploadartifact task to v4 since v3 uses an end-of-life node version 16. * Add
 a new windows variable for the vcpkg cmake toolchain makefile.


0003 doc markdown heading.patch | (download)

docs/source/list_of_hardware_revisions.rst | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 03/75] doc: markdown heading
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The previous markdown was not valid and yielded the following warning:

```sh
make html
Running Sphinx v5.3.0
WARNING: Invalid configuration value found: 'language = None'. Update your configuration to a valid language code. Falling back to 'en' (English).
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 34 source files that are out of date
updating environment: [new config] 34 added, 0 changed, 0 removed
reading sources... [100%] virtual_machines
hackrf/docs/source/list_of_hardware_revisions.rst:36: WARNING: Title underline too short.

HackRF One r10
~~~~~~~~~~~~~
hackrf/docs/source/list_of_hardware_revisions.rst:36: WARNING: Title underline too short.

HackRF One r10
~~~~~~~~~~~~~
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] virtual_machines
generating indices... genindex done
writing additional pages... search done
copying images... [100%] ../images/noisereducingcablescreenshot.jpeg
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 3 warnings.

The HTML pages are in build/html.
```

Congratulations on double digits.

0004 CI Use special action to install cache GNU Arm toolc.patch | (download)

.github/workflows/build.yml | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch 04/75] ci: use special action to install & cache gnu arm
 toolchain.


0005 docs update github.com mossmann urls.patch | (download)

docs/source/firmware_development_setup.rst | 2 1 + 1 - 0 !
docs/source/installing_hackrf_software.rst | 2 1 + 1 - 0 !
docs/source/updating_firmware.rst | 2 1 + 1 - 0 !
3 files changed, 3 insertions(+), 3 deletions(-)

 [patch 05/75] docs: update github.com/mossmann urls

In the installing_hackrf_software docs, under "Installing From Source", the source url still points to `git clone https://github.com/mossmann/hackrf.git` instead of https://github.com/greatscottgadgets/hackrf.git

Unlike the other browser links, the git url is not automatically redirected, so cloning will fail:

```
jg@buildbot:~/hackrf$ git clone https://github.com/mossman/hackrf.git
Cloning into 'hackrf'...
remote: Repository not found.
fatal: repository 'https://github.com/mossman/hackrf.git/' not found
```

While creating this patch, I also found a few more of those older urls and updated them too.
One last unfixed url remains at https://hackrf.readthedocs.io/en/latest/LPC43XX_Debugging.html#lpc-link, however I could not find the intended destination so I have left it as-is.

0006 Correct prototype of flush callback in example code.patch | (download)

host/libhackrf/src/hackrf.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 06/75] correct prototype of flush callback in example code.


0007 hackrf.h fix typos in documentation comments.patch | (download)

host/libhackrf/src/hackrf.h | 50 25 + 25 - 0 !
1 file changed, 25 insertions(+), 25 deletions(-)

 [patch 07/75] hackrf.h: fix typos in documentation comments


0008 ci use python venv for firmware builds.patch | (download)

.github/workflows/build.yml | 14 10 + 4 - 0 !
1 file changed, 10 insertions(+), 4 deletions(-)

 [patch 08/75] ci: use python venv for firmware builds


0009 build deps bump jinja2 from 3.1.3 to 3.1.4 in docs.patch | (download)

docs/requirements.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 09/75] build(deps): bump jinja2 from 3.1.3 to 3.1.4 in /docs

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)


0010 Add spec statement to hardware revision docs.patch | (download)

docs/source/list_of_hardware_revisions.rst | 22 14 + 8 - 0 !
1 file changed, 14 insertions(+), 8 deletions(-)

 [patch 10/75] add spec statement to hardware revision docs


0011 ci usb hub ppps handling overhaul.patch | (download)

Dockerfile | 22 19 + 3 - 0 !
Jenkinsfile | 8 4 + 4 - 0 !
ci-scripts/configure-hubs.sh | 4 0 + 4 - 0 !
ci-scripts/test-firmware-program.sh | 2 1 + 1 - 0 !
ci-scripts/test-host.sh | 2 1 + 1 - 0 !
ci-scripts/test-transfer.py | 8 4 + 4 - 0 !
6 files changed, 29 insertions(+), 17 deletions(-)

 [patch 11/75] ci: usb hub ppps handling overhaul


0012 ci build docker image from master branch s Dockerfil.patch | (download)

Jenkinsfile | 26 13 + 13 - 0 !
1 file changed, 13 insertions(+), 13 deletions(-)

 [patch 12/75] ci: build docker image from master branch's dockerfile


0013 ci use repository URL instead of relying on jenkins .patch | (download)

Jenkinsfile | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 13/75] ci: use repository url instead of relying on jenkins
 environment variables


0014 hackrf tools handle ctrl break signal on windows.patch | (download)

host/hackrf-tools/src/hackrf_sweep.c | 2 1 + 1 - 0 !
host/hackrf-tools/src/hackrf_transfer.c | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 [patch 14/75] hackrf-tools: handle ctrl+break signal on windows


0016 Update technical support.yml.patch | (download)

.github/ISSUE_TEMPLATE/technical-support.yml | 11 0 + 11 - 0 !
1 file changed, 11 deletions(-)

 [patch 16/75] update technical-support.yml


0017 In conditional branch table list one destination per.patch | (download)

firmware/hackrf_usb/sgpio_m0.s | 22 18 + 4 - 0 !
1 file changed, 18 insertions(+), 4 deletions(-)

 [patch 17/75] in conditional branch table, list one destination per
 line, in order.


0018 Detect whether the M0 missed its deadline.patch | (download)

firmware/hackrf_usb/sgpio_m0.s | 45 34 + 11 - 0 !
host/hackrf-tools/src/hackrf_debug.c | 6 5 + 1 - 0 !
host/libhackrf/src/hackrf.h | 2 1 + 1 - 0 !
3 files changed, 40 insertions(+), 13 deletions(-)

 [patch 18/75] detect whether the m0 missed its deadline.

Counter-intuitively, this actually saves us two cycles because we unroll
the first iteration of the loop that spins on the interrupt flag, saving
a branch in the case that the flag is clear the first time.

0019 added AGM CPLD to portapack detect routine.patch | (download)

firmware/common/portapack.c | 6 5 + 1 - 0 !
1 file changed, 5 insertions(+), 1 deletion(-)

 [patch 19/75] added agm cpld to portapack detect routine


0020 Update SGPIO code documentation.patch | (download)

firmware/hackrf_usb/sgpio_m0.s | 16 5 + 11 - 0 !
1 file changed, 5 insertions(+), 11 deletions(-)

 [patch 20/75] update sgpio code documentation.


0021 Add synchronization checklist to documentation.patch | (download)

docs/source/hardware_triggering.rst | 2 2 + 0 - 0 !
docs/source/index.rst | 1 1 + 0 - 0 !
docs/source/synchronization_checklist.rst | 94 94 + 0 - 0 !
3 files changed, 97 insertions(+)

 [patch 21/75] add synchronization checklist to documentation.


0022 Add a shim header to support locking without ldrex s.patch | (download)

firmware/common/locking.h | 49 49 + 0 - 0 !
firmware/common/usb_queue.c | 18 10 + 8 - 0 !
2 files changed, 59 insertions(+), 8 deletions(-)

 [patch 22/75] add a shim header to support locking without
 ldrex/strex.

Required to allow the USB queue code to be built for the M0.

0023 fix compilation warnings 1516.patch | (download)

firmware/common/usb.c | 30 15 + 15 - 0 !
firmware/common/usb.h | 4 2 + 2 - 0 !
2 files changed, 17 insertions(+), 17 deletions(-)

 [patch 23/75] fix compilation warnings (#1516)

Co-authored-by: gullradriel <gullradriel@no-mail.com>

0024 Include nvic.h via the dispatch headers.patch | (download)

firmware/common/usb.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 24/75] include nvic.h via the dispatch headers.


0025 Add comment about constraints on locking primitives.patch | (download)

firmware/common/locking.h | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 [patch 25/75] add comment about constraints on locking primitives.


0026 define replacement for enable and disable irq for m0.patch | (download)

firmware/common/locking.h | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch 26/75] define replacement for enable and disable irq for m0


0027 added memory clobber to prevent memory reordering.patch | (download)

firmware/common/locking.h | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch 27/75] added memory clobber to prevent memory reordering


0028 build deps bump jinja2 from 3.1.4 to 3.1.5 in docs.patch | (download)

docs/requirements.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 28/75] build(deps): bump jinja2 from 3.1.4 to 3.1.5 in /docs

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.4...3.1.5)


0029 docs Move TX RX power FAQ entries to HackRF One page.patch | (download)

docs/source/faq.rst | 43 0 + 43 - 0 !
docs/source/hackrf_one.rst | 39 39 + 0 - 0 !
2 files changed, 39 insertions(+), 43 deletions(-)

 [patch 29/75] docs: move tx/rx power faq entries to hackrf one page


0030 docs adjust input output power titles wording.patch | (download)

docs/source/hackrf_one.rst | 25 9 + 16 - 0 !
1 file changed, 9 insertions(+), 16 deletions(-)

 [patch 30/75] docs: adjust input/output power titles & wording


0031 docs Remove full duplex FAQ entries.patch | (download)

docs/source/faq.rst | 30 0 + 30 - 0 !
1 file changed, 30 deletions(-)

 [patch 31/75] docs: remove full-duplex faq entries


0032 docs add links to product page resellers on HackRF o.patch | (download)

docs/source/faq.rst | 11 0 + 11 - 0 !
docs/source/hackrf_one.rst | 3 2 + 1 - 0 !
2 files changed, 2 insertions(+), 12 deletions(-)

 [patch 32/75] docs: add links to product page & resellers on hackrf
 one page, remove from faq


0033 docs move gain info from FAQ.patch | (download)

docs/source/faq.rst | 33 0 + 33 - 0 !
docs/source/setting_gain.rst | 28 28 + 0 - 0 !
2 files changed, 28 insertions(+), 33 deletions(-)

 [patch 33/75] docs: move gain info from faq


0034 docs reword gain settings.patch | (download)

docs/source/setting_gain.rst | 16 4 + 12 - 0 !
1 file changed, 4 insertions(+), 12 deletions(-)

 [patch 34/75] docs: reword gain settings


0035 docs move LED color info from FAQ.patch | (download)

docs/source/faq.rst | 8 0 + 8 - 0 !
docs/source/leds.rst | 3 2 + 1 - 0 !
2 files changed, 2 insertions(+), 9 deletions(-)

 [patch 35/75] docs: move led color info from faq


0036 docs rename FAQ to Troubleshooting.patch | (download)

docs/source/getting_help.rst | 2 1 + 1 - 0 !
docs/source/index.rst | 2 1 + 1 - 0 !
docs/source/troubleshooting.rst | 20 7 + 13 - 0 !
3 files changed, 9 insertions(+), 15 deletions(-)

 [patch 36/75] docs: rename faq to troubleshooting


0038 docs remove mention of a very old DC spike bug.patch | (download)

docs/source/troubleshooting.rst | 2 0 + 2 - 0 !
1 file changed, 2 deletions(-)

 [patch 38/75] docs: remove mention of a very old dc spike bug

At this point it's more likely to confuse things than help

0039 docs add troubleshooting section for no boards found.patch | (download)

docs/source/troubleshooting.rst | 20 20 + 0 - 0 !
docs/source/updating_firmware.rst | 2 1 + 1 - 0 !
2 files changed, 21 insertions(+), 1 deletion(-)

 [patch 39/75] docs: add troubleshooting section for no boards found


0040 Update section about windows binaries.patch | (download)

docs/source/installing_hackrf_software.rst | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 40/75] update section about windows binaries


0041 Fix DFU CRC errors.patch | (download)

firmware/hackrf-common.cmake | 9 4 + 5 - 0 !
1 file changed, 4 insertions(+), 5 deletions(-)

 [patch 41/75] fix dfu crc errors

Previously we were calculating the dfu-suffix CRC and then modifying the
image, invalidating the check.

This re-orders the operations to apply the boot image header first and
then run dfu-suffix.

0042 Replace fftSize with more meaningful name num_fft_bi.patch | (download)

host/hackrf-tools/src/hackrf_sweep.c | 84 42 + 42 - 0 !
1 file changed, 42 insertions(+), 42 deletions(-)

 [patch 42/75] replace fftsize with more meaningful name num_fft_bins


0043 ci improve sgpio debug test reliability and error me.patch | (download)

Jenkinsfile | 4 3 + 1 - 0 !
ci-scripts/test-sgpio-debug.py | 24 17 + 7 - 0 !
2 files changed, 20 insertions(+), 8 deletions(-)

 [patch 43/75] ci: improve sgpio-debug test reliability and error
 messaging


0044 Add radioconda information.patch | (download)

docs/source/installing_hackrf_software.rst | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 [patch 44/75] add radioconda information

I added the Information about radioconda. I would still suggest leaving the hint about the build artifacts in the documentation, as this is currently the only source of the binaries that don't require any third party.

0045 ci check shortfall count to isolate failures in firm.patch | (download)

ci-scripts/test-sgpio-debug.py | 42 30 + 12 - 0 !
1 file changed, 30 insertions(+), 12 deletions(-)

 [patch 45/75] ci: check shortfall count to isolate failures in
 firmware


0046 hackrf_sweep fix clang format errors.patch | (download)

host/hackrf-tools/src/hackrf_sweep.c | 24 17 + 7 - 0 !
1 file changed, 17 insertions(+), 7 deletions(-)

 [patch 46/75] hackrf_sweep: fix clang-format errors


0047 firmware no division when calculating n_lo in RFFC50.patch | (download)

firmware/common/rffc5071.c | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 [patch 47/75] firmware: no division when calculating n_lo in rffc5071
 synth


0048 firmware fix max283x fractional long division.patch | (download)

firmware/common/max2837.c | 4 2 + 2 - 0 !
firmware/common/max2839.c | 4 2 + 2 - 0 !
2 files changed, 4 insertions(+), 4 deletions(-)

 [patch 48/75] firmware: fix max283x fractional long division


0049 firmware optimize and rename rffc5071 synth config f.patch | (download)

firmware/common/rffc5071.c | 30 13 + 17 - 0 !
1 file changed, 13 insertions(+), 17 deletions(-)

 [patch 49/75] firmware: optimize and rename rffc5071 synth config
 function


0050 firmware rffc5071 synth configuration accepts Hz ins.patch | (download)

firmware/common/mixer.c | 6 3 + 3 - 0 !
firmware/common/mixer.h | 4 2 + 2 - 0 !
firmware/common/rffc5071.c | 25 12 + 13 - 0 !
firmware/common/rffc5071.h | 4 2 + 2 - 0 !
firmware/common/tuning.c | 17 7 + 10 - 0 !
5 files changed, 26 insertions(+), 30 deletions(-)

 [patch 50/75] firmware: rffc5071 synth configuration accepts hz
 instead of MHz


0051 firmware round to nearest frequency when tuning.patch | (download)

firmware/common/max2837.c | 1 1 + 0 - 0 !
firmware/common/max2839.c | 1 1 + 0 - 0 !
firmware/common/rffc5071.c | 5 4 + 1 - 0 !
3 files changed, 6 insertions(+), 1 deletion(-)

 [patch 51/75] firmware: round to nearest frequency when tuning


0052 firmware disable rffc5071 dithering tune to nearest .patch | (download)

firmware/common/rffc5071.c | 28 13 + 15 - 0 !
1 file changed, 13 insertions(+), 15 deletions(-)

 [patch 52/75] firmware: disable rffc5071 dithering, tune to nearest
 625000 Hz step


0053 Implement RAW_IO with WinUSB.patch | (download)

host/libhackrf/src/hackrf.c | 7 7 + 0 - 0 !
1 file changed, 7 insertions(+)

 [patch 53/75] implement raw_io with winusb


0054 Remove Appveyor configuration.patch | (download)

appveyor.yml | 52 0 + 52 - 0 !
1 file changed, 52 deletions(-)

 [patch 54/75] remove appveyor configuration.


0055 Bump CMake minimum version to 3.5.0.patch | (download)

firmware/CMakeLists.txt | 2 1 + 1 - 0 !
firmware/blinky/CMakeLists.txt | 2 1 + 1 - 0 !
firmware/hackrf_usb/CMakeLists.txt | 2 1 + 1 - 0 !
host/CMakeLists.txt | 2 1 + 1 - 0 !
host/hackrf-tools/CMakeLists.txt | 2 1 + 1 - 0 !
host/libhackrf/CMakeLists.txt | 2 1 + 1 - 0 !
6 files changed, 6 insertions(+), 6 deletions(-)

 [patch 55/75] bump cmake minimum version to 3.5.0.

This is the minimum now accepted by latest CMake releases.

0056 Bump CMake minimum version to 3.10.patch | (download)

firmware/CMakeLists.txt | 2 1 + 1 - 0 !
firmware/blinky/CMakeLists.txt | 2 1 + 1 - 0 !
firmware/hackrf_usb/CMakeLists.txt | 2 1 + 1 - 0 !
host/CMakeLists.txt | 2 1 + 1 - 0 !
host/hackrf-tools/CMakeLists.txt | 2 1 + 1 - 0 !
host/libhackrf/CMakeLists.txt | 2 1 + 1 - 0 !
6 files changed, 6 insertions(+), 6 deletions(-)

 [patch 56/75] bump cmake minimum version to 3.10.


0057 Test build with multiple CMake versions.patch | (download)

.github/workflows/build.yml | 25 24 + 1 - 0 !
1 file changed, 24 insertions(+), 1 deletion(-)

 [patch 57/75] test build with multiple cmake versions.


0058 build deps bump jinja2 from 3.1.5 to 3.1.6 in docs.patch | (download)

docs/requirements.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 58/75] build(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)


0059 modern cmake.patch | (download)

host/CMakeLists.txt | 28 15 + 13 - 0 !
host/cmake/modules/FindFFTW.cmake | 30 0 + 30 - 0 !
host/cmake/modules/FindFFTW3f.cmake | 49 49 + 0 - 0 !
host/cmake/modules/FindLIBHACKRF.cmake | 55 0 + 55 - 0 !
host/cmake/modules/FindLIBUSB.cmake | 59 59 + 0 - 0 !
host/cmake/modules/FindThreads.cmake | 246 0 + 246 - 0 !
host/cmake/modules/FindUSB1.cmake | 43 0 + 43 - 0 !
host/hackrf-tools/CMakeLists.txt | 68 35 + 33 - 0 !
host/hackrf-tools/src/CMakeLists.txt | 108 55 + 53 - 0 !
host/libhackrf/CMakeLists.txt | 247 131 + 116 - 0 !
host/libhackrf/HackRFConfig.cmake | 5 5 + 0 - 0 !
host/libhackrf/src/CMakeLists.txt | 180 106 + 74 - 0 !
12 files changed, 455 insertions(+), 663 deletions(-)

 [patch 59/75] modern cmake

Refactor HackRF build system with a more modern CMake style.
Install files to allow library users using CMake to
find_project(HackRF CONFIG) and obtain HackRF::hackrf
and/or HackRF::hackrf_static library targets.

Add options ENABLE_STATIC_LIB and ENABLE_SHARED_LIB
to allow shared or static library to be disabled.
(Default builds both shared and static libraries.)

Add option ENABLE_HACKRF_SWEEP, when disabled allows
building without FFT library. (Default enabled.)

Add option DISABLE_USB_DEVICE_DISCOVERY for a compile definition
which could be used to alter libusb usage as needed on Android.

0060 update scripts.patch | (download)

ci-scripts/install-firmware.sh | 9 4 + 5 - 0 !
ci-scripts/install-host.sh | 9 4 + 5 - 0 !
2 files changed, 8 insertions(+), 10 deletions(-)

 [patch 60/75] update scripts

Modernize CMake usage in scripts to define a build directory
using the cmake -B flag, use cmake --build rather than just make.