work around bladeRF FPGA loading and bias-tee problems
This commit is contained in:
parent
cd58894f3c
commit
d41493934b
20
shell.nix
20
shell.nix
|
@ -16,6 +16,22 @@ let
|
||||||
url = "https://www.nuand.com/fpga/v0.11.0/hostedxA4.rbf";
|
url = "https://www.nuand.com/fpga/v0.11.0/hostedxA4.rbf";
|
||||||
sha256 = "c172e35c4a92cf1e0ca3b37347a84d8376b275ece16cb9c5142b72b82b16fe8e";
|
sha256 = "c172e35c4a92cf1e0ca3b37347a84d8376b275ece16cb9c5142b72b82b16fe8e";
|
||||||
};
|
};
|
||||||
|
bladeRF-flash = pkgs.writeShellScriptBin "bladeRF-flash"
|
||||||
|
# Using the bladeRF bias-tee is royally annoying. Opening the bladeRF turns it off,
|
||||||
|
# and the API for turning it back on isn't exposed in SoapySDR. Using the configuration
|
||||||
|
# file works, but breaks FPGA loading since bladeRF-cli then attempts to turn on the
|
||||||
|
# bias-tee before loading the FPGA. Using the configuration file to load the FPGA
|
||||||
|
# works the first time and then crashes until the bladeRF is unplugged and plugged back in.
|
||||||
|
# To work around these assorted bugs, we flash the bladeRF from an empty directory where
|
||||||
|
# bladeRF-cli won't find the configuration file, and let it boot the FPGA from its flash,
|
||||||
|
# which seems less buggy/cumbersome than the other options.
|
||||||
|
''
|
||||||
|
TMPDIR=`mktemp -d`
|
||||||
|
pushd $TMPDIR
|
||||||
|
${pkgs.libbladeRF}/bin/bladeRF-cli -L ${bitstream}
|
||||||
|
popd
|
||||||
|
rmdir $TMPDIR
|
||||||
|
'';
|
||||||
sipyco = pkgs.python3Packages.buildPythonPackage rec {
|
sipyco = pkgs.python3Packages.buildPythonPackage rec {
|
||||||
name = "sipyco";
|
name = "sipyco";
|
||||||
version = "1.1";
|
version = "1.1";
|
||||||
|
@ -33,13 +49,11 @@ in
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
(pkgs.python3.withPackages(ps: [ps.soapysdr-with-plugins ps.scipy ps.pyserial ps.quamash ps.pyqt5 pyqtgraph-qt5 sipyco]))
|
(pkgs.python3.withPackages(ps: [ps.soapysdr-with-plugins ps.scipy ps.pyserial ps.quamash ps.pyqt5 pyqtgraph-qt5 sipyco]))
|
||||||
pkgs.libbladeRF pkgs.gqrx
|
pkgs.libbladeRF pkgs.gqrx
|
||||||
|
bladeRF-flash
|
||||||
];
|
];
|
||||||
dontWrapQtApps = true;
|
dontWrapQtApps = true;
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
wrapQtApp "$out/bin/python"
|
wrapQtApp "$out/bin/python"
|
||||||
'';
|
'';
|
||||||
shellHook = ''
|
|
||||||
${pkgs.libbladeRF}/bin/bladeRF-cli -l ${bitstream}
|
|
||||||
'';
|
|
||||||
QT_QPA_PLATFORM = "wayland";
|
QT_QPA_PLATFORM = "wayland";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue