Skip to content

Commit

Permalink
Merge branch 'gqrx-sdr:master' into feature/gr-soapy
Browse files Browse the repository at this point in the history
  • Loading branch information
cozycactus authored Oct 21, 2024
2 parents 74cefc5 + 0418221 commit 130b183
Show file tree
Hide file tree
Showing 10 changed files with 190 additions and 92 deletions.
16 changes: 9 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
path: Gqrx-*.AppImage
macos:
name: MacOS
runs-on: macos-12
runs-on: macos-13
steps:
- name: Check for Secret availability
id: secret-check
Expand All @@ -79,6 +79,8 @@ jobs:
fi
- name: Install dependencies
run: |
# for https://github.com/actions/runner-images/issues/9272
sudo chown -R runner:admin /usr/local/
brew update
brew install --HEAD librtlsdr
brew install airspy airspyhf boost dylibbundler gnuradio hackrf libbladerf libserialport portaudio pybind11 six uhd qt@6 || true
Expand Down Expand Up @@ -111,7 +113,7 @@ jobs:
cd build
cmake ..
make -j4
make install
sudo make install
cd /tmp
cp /Library/Frameworks/iio.framework/iio /usr/local/lib/libiio.dylib
Expand All @@ -131,7 +133,7 @@ jobs:
cd build
cmake ..
make -j4
make install
sudo make install
cd /tmp
git clone https://gitea.osmocom.org/sdr/gr-osmosdr.git
Expand All @@ -140,7 +142,7 @@ jobs:
cd build
cmake -DCMAKE_CXX_FLAGS=-Wno-register ..
LIBRARY_PATH=/usr/local/opt/icu4c/lib make -j4
make install
sudo make install
- name: Install Apple certificate
if: ${{ steps.secret-check.outputs.available == 'true' }}
env:
Expand All @@ -151,7 +153,7 @@ jobs:
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 -d -o $CERTIFICATE_PATH
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
Expand Down Expand Up @@ -237,7 +239,7 @@ jobs:
- name: Clone and build GNU Radio
working-directory: ${{ runner.temp }}
run: |
git clone --branch v3.10.9.2 --depth 1 https://github.com/gnuradio/gnuradio.git
git clone --branch v3.10.11.0 --depth 1 https://github.com/gnuradio/gnuradio.git
cd gnuradio
cmake -S . -B build \
-DCMAKE_INSTALL_PREFIX=${RUNNER_TEMP}/msys64/mingw64 \
Expand Down Expand Up @@ -337,7 +339,7 @@ jobs:
libfftw3f-3.dll \
libfftw3f_threads-3.dll \
libFLAC.dll \
libfmt.dll \
libfmt-11.dll \
libfreetype-6.dll \
libgcc_s_seh-1.dll \
libglib-2.0-0.dll \
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,14 @@ jobs:
name: MacOS CI
strategy:
matrix:
os: [macos-12, macos-13]
os: [macos-13, macos-14]
backend: [Portaudio, Gr-audio]
runs-on: ${{ matrix.os }}
steps:
- name: Install dependencies
run: |
# for https://github.com/actions/runner-images/issues/9272
sudo chown -R runner:admin /usr/local/
brew update
brew install airspy boost gnuradio hackrf libbladerf librtlsdr pybind11 six uhd qt@6 soapysdr soapyrtlsdr || true
Expand All @@ -86,7 +88,7 @@ jobs:
cd build
cmake -DCMAKE_CXX_FLAGS=-Wno-register ..
LIBRARY_PATH=/usr/local/opt/icu4c/lib make -j4
make install
sudo make install
- name: Checkout code
uses: actions/checkout@v4
- name: Configure
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ The following people and organisations have contributed to gqrx:
* Grigory Shipunov
* Gwenhael Goavec-Merou
* Herman Semenov
* James Yuzawa
* Jaroslav Škarvada
* Jeff Long
* Jiawei Chen
Expand Down
8 changes: 8 additions & 0 deletions resources/news.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@

2.17.6: In progress...

IMPROVED: Save I/Q recording format to settings.
IMPROVED: Reduced CPU utilization of plot and waterfall display.
FIXED: Decoding of RDS flags.
CHANGED: DMG release requires macOS 13.7 or later.


2.17.5: Released April 18, 2024

NEW: PlutoSDR and LimeSDR support in AppImage release, via SoapySDR.
Expand Down
5 changes: 1 addition & 4 deletions src/applications/gqrx/mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<set>QMainWindow::AllowNestedDocks|QMainWindow::AllowTabbedDocks|QMainWindow::AnimatedDocks</set>
</property>
<property name="unifiedTitleAndToolBarOnMac">
<bool>true</bool>
<bool>false</bool>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QVBoxLayout" name="verticalLayout_2">
Expand Down Expand Up @@ -349,9 +349,6 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
Expand Down
9 changes: 9 additions & 0 deletions src/qtgui/iq_tool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,11 @@ void CIqTool::saveSettings(QSettings *settings)
else
settings->remove("baseband/rec_dir");

QString format = ui->formatCombo->currentText();
if (format != "Raw")
settings->setValue("baseband/rec_format", format);
else
settings->remove("baseband/rec_format");
}

void CIqTool::readSettings(QSettings *settings)
Expand All @@ -246,6 +251,10 @@ void CIqTool::readSettings(QSettings *settings)
// Location of baseband recordings
QString dir = settings->value("baseband/rec_dir", QDir::homePath()).toString();
ui->recDirEdit->setText(dir);

// Format of baseband recordings
QString format = settings->value("baseband/rec_format", "Raw").toString();
ui->formatCombo->setCurrentText(format);
}


Expand Down
18 changes: 11 additions & 7 deletions src/qtgui/meter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ CMeter::CMeter(QWidget *parent) : QFrame(parent)

m_dBFS = MIN_DB;
m_Sql = -150.0;
m_font = QFont("Arial");
}

CMeter::~CMeter()
Expand All @@ -71,9 +72,14 @@ QSize CMeter::sizeHint() const

void CMeter::setLevel(float dbfs)
{
const float old = m_dBFS;
float alpha = dbfs < m_dBFS ? ALPHA_DECAY : ALPHA_RISE;
m_dBFS -= alpha * (m_dBFS - dbfs);
update();
// only redraw when the label needs to change
if (qRound(m_dBFS * 10) != qRound(old * 10))
{
update();
}
}

void CMeter::setSqlLevel(float dbfs)
Expand Down Expand Up @@ -116,9 +122,8 @@ void CMeter::draw(QPainter &painter)
painter.drawLine(QLineF(x, hline, x, hline + 8));
}

QFont font("Arial");
font.setPixelSize(height() / 4);
painter.setFont(font);
m_font.setPixelSize(height() / 4);
painter.setFont(m_font);

painter.setPen(QColor(0xDA, 0xDA, 0xDA, 0xFF));
painter.drawText(marg, height() - 2, QString::number((double)m_dBFS, 'f', 1) + " dBFS" );
Expand Down Expand Up @@ -148,9 +153,8 @@ void CMeter::drawOverlay(QPainter &painter)
}

// draw scale text
QFont font("Arial");
font.setPixelSize(height() / 4);
painter.setFont(font);
m_font.setPixelSize(height() / 4);
painter.setFont(m_font);
qreal rwidth = (hstop - marg) / 5.0;
QRectF rect(marg - rwidth / 2, 0, rwidth, majstart);

Expand Down
1 change: 1 addition & 0 deletions src/qtgui/meter.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,5 @@ public slots:

float m_dBFS;
float m_Sql;
QFont m_font;
};
Loading

0 comments on commit 130b183

Please sign in to comment.