From 1502f20af11205709e56f51d662f7ae2eb7156df Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Wed, 20 Aug 2025 10:38:30 +0200 Subject: [PATCH 1/2] updated libs and tools --- app/build.gradle | 4 ++-- gradle/libs.versions.toml | 8 ++++---- gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6edaf7a..6eb6a16 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,12 +4,12 @@ plugins { android { namespace 'xdsopl.robot36' - compileSdk 35 + compileSdk = 36 defaultConfig { applicationId "xdsopl.robot36" minSdk 24 - targetSdk 35 + targetSdk 36 versionCode 65 versionName "2.15" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dc8e4b3..5a30e75 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,9 +1,9 @@ [versions] -agp = "8.9.0" +agp = "8.12.1" junit = "4.13.2" -junitVersion = "1.2.1" -espressoCore = "3.6.1" -appcompat = "1.7.0" +junitVersion = "1.3.0" +espressoCore = "3.7.0" +appcompat = "1.7.1" material = "1.12.0" activity = "1.10.1" constraintlayout = "2.2.1" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d3118f9..42eca13 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Fri Apr 12 11:35:07 CEST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 7ad54873da2a33f7261892832d9a1260d70db3bc Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Wed, 20 Aug 2025 12:12:34 +0200 Subject: [PATCH 2/2] added frequency markers --- app/src/main/java/xdsopl/robot36/MainActivity.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/xdsopl/robot36/MainActivity.java b/app/src/main/java/xdsopl/robot36/MainActivity.java index 0a51384..b5d50dc 100644 --- a/app/src/main/java/xdsopl/robot36/MainActivity.java +++ b/app/src/main/java/xdsopl/robot36/MainActivity.java @@ -89,6 +89,8 @@ public class MainActivity extends AppCompatActivity { private int tintColor; private boolean autoSave; private boolean showSpectrogram; + private final int binWidthHz = 10; + private final int[] freqMarkers = { 1100, 1300, 1500, 2300 }; private void setStatus(int id) { setTitle(id); @@ -223,8 +225,12 @@ public class MainActivity extends AppCompatActivity { double lowest = Math.log(1e-9); double highest = Math.log(1); double range = highest - lowest; + int minFreq = 140; + int minBin = minFreq / binWidthHz; for (int i = 0; i < stride; ++i) - waterfallPlotBuffer.pixels[line + i] = rainbow((Math.log(stft.power[i + 14]) - lowest) / range); + waterfallPlotBuffer.pixels[line + i] = rainbow((Math.log(stft.power[i + minBin]) - lowest) / range); + for (int freq : freqMarkers) + waterfallPlotBuffer.pixels[line + (freq - minFreq) / binWidthHz] = fgColor; System.arraycopy(waterfallPlotBuffer.pixels, line, waterfallPlotBuffer.pixels, line + stride * (waterfallPlotBuffer.height / 2), stride); } } @@ -315,7 +321,7 @@ public class MainActivity extends AppCompatActivity { if (rateChanged) { decoder = new Decoder(scopeBuffer, imageBuffer, getString(R.string.raw_mode), recordRate); decoder.setMode(currentMode); - stft = new ShortTimeFourierTransform(recordRate / 10, 3); + stft = new ShortTimeFourierTransform(recordRate / binWidthHz, 3); } startListening(); } else {