From 36eece717b6deb3b01e542cd9dcf5fb019b41ee3 Mon Sep 17 00:00:00 2001 From: Marek Ossowski Date: Sat, 16 Aug 2025 22:35:36 +0200 Subject: [PATCH] Small refactoring --- app/src/main/java/xdsopl/robot36/Decoder.java | 6 ++++++ app/src/main/java/xdsopl/robot36/HFFax.java | 11 ++++++----- app/src/main/java/xdsopl/robot36/MainActivity.java | 2 +- app/src/main/java/xdsopl/robot36/Mode.java | 4 ++-- app/src/main/res/menu/menu_main.xml | 8 +++----- app/src/main/res/values/strings.xml | 2 +- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/xdsopl/robot36/Decoder.java b/app/src/main/java/xdsopl/robot36/Decoder.java index 84fa415..93ae520 100644 --- a/app/src/main/java/xdsopl/robot36/Decoder.java +++ b/app/src/main/java/xdsopl/robot36/Decoder.java @@ -354,6 +354,12 @@ public class Decoder { return true; } + /** + * @param freqOffs offsets from expected sync frequency + * @param pulses positions of sync pulses + * @param lines lengths of scan lines + * @param index position of latest sync pulse + */ private boolean processSyncPulse(ArrayList modes, float[] freqOffs, int[] pulses, int[] lines, int index) { for (int i = 1; i < pulses.length; ++i) pulses[i - 1] = pulses[i]; diff --git a/app/src/main/java/xdsopl/robot36/HFFax.java b/app/src/main/java/xdsopl/robot36/HFFax.java index a526681..7b25c1f 100644 --- a/app/src/main/java/xdsopl/robot36/HFFax.java +++ b/app/src/main/java/xdsopl/robot36/HFFax.java @@ -2,19 +2,20 @@ package xdsopl.robot36; import android.graphics.Color; +/** + * HF Fax, IOC 576, 120 lines per minute + */ public class HFFax extends BaseMode { private final ExponentialMovingAverage lowPassFilter; private final String name; - - private final int sr; - + private final int sampleRate; private final float[] cumulated; private int horizontalShift = 0; HFFax(String name, int sampleRate) { this.name = name; lowPassFilter = new ExponentialMovingAverage(); - this.sr = sampleRate; + this.sampleRate = sampleRate; cumulated = new float[getWidth()]; } @@ -54,7 +55,7 @@ public class HFFax extends BaseMode { @Override public int getScanLineSamples() { - return sr / 2; + return sampleRate / 2; } @Override diff --git a/app/src/main/java/xdsopl/robot36/MainActivity.java b/app/src/main/java/xdsopl/robot36/MainActivity.java index 45b5879..7ee7131 100644 --- a/app/src/main/java/xdsopl/robot36/MainActivity.java +++ b/app/src/main/java/xdsopl/robot36/MainActivity.java @@ -631,7 +631,7 @@ public class MainActivity extends AppCompatActivity { return true; } if (id == R.id.action_force_hffax_mode) { - setMode("HF Fax"); + setMode(R.string.hf_fax); return true; } if (id == R.id.action_force_robot36_color) { diff --git a/app/src/main/java/xdsopl/robot36/Mode.java b/app/src/main/java/xdsopl/robot36/Mode.java index 1994c4d..4a07cee 100644 --- a/app/src/main/java/xdsopl/robot36/Mode.java +++ b/app/src/main/java/xdsopl/robot36/Mode.java @@ -33,7 +33,7 @@ public interface Mode { int getBegin(); /** - * @return number of samples from start of scanline to sync pulse??? nonzero for Scottie only? + * @return number of samples from start of first scanline to first sync pulse?, nonzero for Scottie */ int getFirstSyncPulseIndex(); @@ -56,7 +56,7 @@ public interface Mode { * @param pixelBuffer buffer to store decoded pixels * @param scratchBuffer buffer for temporary data * @param scanLineBuffer raw samples to be decoded, can contain more than one scanline - * @param scopeBufferWidth ??? used in RawDecoder, initializes width? + * @param scopeBufferWidth used in RawDecoder, initializes width? * @param syncPulseIndex number of samples from array start to sync pulse * @param scanLineSamples number of samples per scanline * @param frequencyOffset correction of frequency of expected vs actual sync pulse (normalized to range (-1, 1)) diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 25e28e5..f6b4cbc 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -97,16 +97,14 @@ android:title="@string/wraase_sc2_180" /> + - Scottie 2 Scottie DX Wraase SC2–180 + HF Fax 8 kHz 16 kHz 32 kHz @@ -44,7 +45,6 @@ Auto Mode Lock Mode Raw Mode - HF Fax Mode Listening Audio Settings Sample Rate