Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KISS FEND Fix #369

Closed
wants to merge 78 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
75603c2
fix typo
TheButterZone Feb 10, 2019
844c89e
Merge branch 'ge0rg:master' into master
na7q Apr 6, 2024
c0d27f8
KISS FEND Fix
na7q Apr 6, 2024
5499576
Merge pull request #1 from na7q/na7q-kiss-fend-fix
na7q Apr 6, 2024
dda032c
Digipeater Updates & Other Features
na7q Oct 27, 2024
57bfef0
Remove old code
na7q Oct 27, 2024
983fd91
Ack Dupe Feature
na7q Oct 31, 2024
938d767
Update strings.xml
na7q Oct 31, 2024
8d7a675
Show digipeated status in log
na7q Nov 2, 2024
a8c771f
Add Setting for Metric or Imperial.
na7q Nov 2, 2024
6f803a9
Digipeater Fixes
na7q Nov 3, 2024
201752c
Move Messaging and Digi to menu system
na7q Nov 3, 2024
659bdd7
Update AndroidManifest.xml
na7q Nov 3, 2024
0a47d18
Enable offline maps
na7q Nov 4, 2024
3d99303
Update OsmTileDownloader.java
na7q Nov 4, 2024
fad6e5c
Fix crash for unsupported packets
na7q Nov 5, 2024
8190bc3
Remove old OSM file loader
na7q Nov 5, 2024
f49b49b
Improve ontap area
na7q Nov 16, 2024
fff0a2b
Update README.md
na7q Nov 16, 2024
8b69350
Merge pull request #2 from na7q/digipeater
na7q Nov 16, 2024
8c52740
Update README.md
na7q Nov 16, 2024
f4db0e8
Add Zoom Level indicator
na7q Nov 16, 2024
46d353f
Refined the zoom indicator
na7q Nov 17, 2024
a9a8186
Compressed beacons
na7q Nov 23, 2024
6cde237
Better Digi Implementation
na7q Nov 28, 2024
6c36ff2
Fix Derp
na7q Nov 29, 2024
4829107
Fix acking self digipeated packet
na7q Nov 29, 2024
885341a
Digi Ack fixes
na7q Nov 29, 2024
b830a12
Add Digipeated Text Color
na7q Nov 30, 2024
d19f5b4
Digipeater Cleanup and move
na7q Dec 7, 2024
24f6fc1
Cleanup
na7q Dec 7, 2024
1ff0f0f
Add digipeated packets to export log
na7q Dec 7, 2024
bf2ee3a
Mic-E Initial Commit
na7q Dec 14, 2024
2f90ae0
Disable Mic-E Status Menu
na7q Dec 14, 2024
d7685a8
Clean Up & Set Default Status
na7q Dec 14, 2024
a2a5270
Default Digipeater Value
na7q Dec 14, 2024
78917a0
Clear All Messages
na7q Dec 14, 2024
c904399
Optional Altitude with prefs
na7q Dec 14, 2024
cd26b52
N76, UV-PRO, GA-5WB Controls
na7q Dec 15, 2024
82f04c7
Add default freq
na7q Dec 15, 2024
8c1aaee
Fix crash
na7q Dec 15, 2024
f7d12ec
Clean up and fix broken pipe error
na7q Dec 15, 2024
4092ea1
Add BLE
na7q Dec 16, 2024
ddf1e4f
Moblinkd Provided Updates
na7q Dec 17, 2024
003f955
Fix export/import crash
na7q Dec 18, 2024
ec0e322
Fix export/import crash
na7q Dec 18, 2024
28b0fd9
Message Dupe Features
na7q Dec 19, 2024
ab221cc
Message Dupe Features
na7q Dec 19, 2024
b98c589
DigiRig Support
na7q Dec 20, 2024
6b89a98
Fix DigiPref Menu & Cleanup
na7q Dec 21, 2024
69f8ddc
Fix DigiPref Menu & Cleanup
na7q Dec 21, 2024
28bc6e9
Initial igate service (unfinished)
na7q Dec 21, 2024
b223d59
Fix Android 6.0 Crash & Incompatibilities
na7q Dec 21, 2024
eac9959
Fix Android 6.0 Crash / Incompatibilities
na7q Dec 21, 2024
30b1525
Whoops
na7q Dec 21, 2024
d0a3c88
Igate Updates
na7q Dec 22, 2024
ea960a4
Only IGate in KISS or AFSK
na7q Dec 22, 2024
a2fe1c8
Even more IGate updates
na7q Dec 22, 2024
2fac466
Update AndroidManifest.xml
na7q Dec 22, 2024
b9df66b
Add more IGate settings
na7q Dec 22, 2024
4555b86
Update IgateService.scala
na7q Dec 22, 2024
1aaaffa
Complete Overhaul of IgateService
na7q Dec 23, 2024
101301c
Typo / Add more settings
na7q Dec 23, 2024
cc41d3f
IGate updates
na7q Dec 23, 2024
e99f9a7
Add settings fir digipath and update menu
na7q Dec 24, 2024
cd5edc9
Fix onclick log
na7q Dec 24, 2024
e175121
IG Version
na7q Dec 24, 2024
6576e3b
Direct Only Digipeating
na7q Dec 24, 2024
ace40a9
Add Color Scheme & Packet Type for IG
na7q Dec 25, 2024
2d0a71f
Export and UI IG Improvements
na7q Dec 25, 2024
673c3a4
Merge branch 'IGATE'
na7q Dec 25, 2024
f97339e
Mic-E Ambiguity
na7q Dec 25, 2024
dbfbf8a
Fix BLE Menu
na7q Dec 25, 2024
d38afc5
Update strings.xml
na7q Dec 25, 2024
328eb4e
Message & Position Sending
na7q Dec 25, 2024
29c36bb
Q Construct
na7q Dec 25, 2024
c94dc02
IGate Fixes & Indentation
na7q Dec 26, 2024
a4e7232
Add rate limit, MSP (direwolf name), refactor
na7q Dec 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,29 @@
android:parentActivityName=".PrefsAct"
android:launchMode="singleTop"
/>
<activity android:name=".DigiPrefs"
android:label="@string/p__digipeating"
android:parentActivityName=".PrefsAct"
android:launchMode="singleTop"
android:configChanges="orientation|keyboardHidden|screenSize" />
<activity android:name=".IgatePrefs"
android:label="@string/p__igating"
android:parentActivityName=".PrefsAct"
android:launchMode="singleTop"
android:configChanges="orientation|keyboardHidden|screenSize" />

<activity android:name=".CompressedPrefs"
android:label="@string/p__location_compressed_settings"
android:parentActivityName=".PrefsAct"
android:launchMode="singleTop"
android:configChanges="orientation|keyboardHidden|screenSize" />

<activity android:name=".MessagingPrefs"
android:label="@string/p__messaging"
android:parentActivityName=".PrefsAct"
android:launchMode="singleTop"
android:configChanges="orientation|keyboardHidden|screenSize" />

<activity android:name=".GoogleMapAct" android:label="@string/app_map"
android:launchMode="singleTop"
android:parentActivityName=".HubActivity"
Expand Down
22 changes: 19 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,31 @@ for your signing key, or the map view will remain blank.
Having the Maps API key, do the following to compile and install an APK:

```bash
git clone https://github.com/ge0rg/aprsdroid/
sudo apt-get install -y git openjdk-8-jdk vim-nox wget unzip

cmdline_tool_file="commandlinetools-linux-6609375_latest.zip"
export ANDROID_SDK_ROOT="$(pwd)/android"
mkdir -p "${ANDROID_SDK_ROOT}"
wget "https://dl.google.com/android/repository/${cmdline_tool_file}"
unzip "${cmdline_tool_file}" -d "${ANDROID_SDK_ROOT}/cmdline-tools"
rm -f "${cmdline_tool_file}"
export PATH="${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin:${PATH}"
export PATH="${ANDROID_SDK_ROOT}/platform-tools:${PATH}"
export PATH="${ANDROID_SDK_ROOT}/emulator:${PATH}"
mkdir "${ANDROID_SDK_ROOT}/licenses"
echo 24333f8a63b6825ea9c5514f83c2829b004d1fee > "${ANDROID_SDK_ROOT}/licenses/android-sdk-license"
echo 84831b9409646a918e30573bab4c9c91346d8abd > "${ANDROID_SDK_ROOT}/licenses/android-sdk-preview-license"
sdkmanager --install emulator 'system-images;android-24;default;armeabi-v7a'

git clone https://github.com/na7q/aprsdroid/
cd aprsdroid
git submodule update --init --recursive
# replace AI... with your API key:
echo "mapsApiKey=AI..." > local.properties
# for a debug build:
./gradlew installDebug
./gradlew assembleDebug
# for a release build:
./gradlew installRelease
./gradlew assembleRelease
```


8 changes: 0 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ plugins {
// obtain revision from git
id 'org.ajoberstar.grgit' version '1.6.0'
// gradle-amazon-app-store-publisher
id "app.brant.amazonappstorepublisher" version "0.1.0"
}

allprojects {
Expand Down Expand Up @@ -69,13 +68,6 @@ def mapsApiKey() {
properties.getProperty('mapsApiKey', "AIzaSyA12R_iI_upYQ33FWnPU_8GlMKrEmjDxiQ")
}

amazon {
securityProfile = file("amazon-publish-credentials.json")
applicationId = "amzn1.devportal.mobileapp.90ffde1571a347f8a100e1083c64812e"
pathToApks = [ file("build/outputs/apk/release/aprsdroid-release.apk") ]
replaceEdit = true
}

android {
compileSdkVersion 33
buildToolsVersion "33.0.2"
Expand Down
Binary file modified libs/mapsforge-map-0.3.0-jar-with-dependencies.jar
Binary file not shown.
4 changes: 4 additions & 0 deletions res/menu/options.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
android:title="@string/clear_log"
android:alphabeticShortcut="c"
android:icon="@android:drawable/ic_menu_delete" />
<item android:id="@+id/clearallmessages"
android:title="@string/clearallmessages"
android:alphabeticShortcut="d"
android:icon="@android:drawable/ic_menu_delete" />
<item android:id="@+id/preferences"
android:title="@string/preferences"
android:alphabeticShortcut="p"
Expand Down
24 changes: 24 additions & 0 deletions res/values/arrays.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,24 @@
</string-array>
<string-array name="p_link_e">
<item>@string/p_link_bt</item>
<item>@string/p_link_ble</item>
<item>@string/p_link_usb</item>
<item>@string/p_link_tcpip</item>
</string-array>
<string-array name="p_link_ev">
<item>bluetooth</item>
<item>ble</item>
<item>usb</item>
<item>tcpip</item>
</string-array>
<string-array name="p_afsk_e">
<item>@string/p_afsk_vox</item>
<item>@string/p_afsk_digirig</item>
</string-array>
<string-array name="p_afsk_ev">
<item>vox</item>
<item>digirig</item>
</string-array>
<string-array name="p_afsk_out_ev">
<item>0</item>
<item>2</item>
Expand Down Expand Up @@ -85,6 +95,10 @@
<item>12</item> <item>13</item> <item>14</item> <item>15</item>
</string-array>

<string-array name="p_units_ev">
<item>1</item> <item>2</item>
</string-array>

<string-array name="ages">
<item>@string/age_30</item>
<item>@string/age_2h</item>
Expand All @@ -110,4 +124,14 @@
<item>460800</item>
<item>921600</item>
</string-array>
<string-array name="compressed_mice_status">
<item>Off Duty</item>
<item>En Route</item>
<item>In Service</item>
<item>Returning</item>
<item>Committed</item>
<item>Special</item>
<item>Priority</item>
<item>EMERGENCY!</item>
</string-array>
</resources>
143 changes: 142 additions & 1 deletion res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
<string name="service_sm_no_gps">SmartBeaconing™ requires GPS!</string>
<!-- service result codes -->
<string name="post_error">Error</string>
<string name="post_incmg">received</string>
<string name="post_incmg">Received</string>
<string name="post_info"></string>
<string name="post_connecting">Connecting to %1$s:%2$d...</string>
<string name="post_reconnect">Connection lost. Reconnect in %d seconds...</string>
Expand Down Expand Up @@ -108,6 +108,43 @@
<string name="ad_trans">\n\nTranslation:</string>
<string name="ad_homepage">Home Page</string>

<string name="p_regenerate">Regenerate Packets</string>
<string name="p_regenerate_summary">Dangerously regenerates heard packets with NO filter!!</string>

<string name="p_digipeating">Digipeating Preferences</string>
<string name="p_digipeating_entry">Digipeater</string>
<string name="p_digipeating_summary">Enable Digipeater</string>
<string name="p_digipeating_preferences">Digi &amp; Regen Functions</string>
<string name="p_directonly_entry">Direct Only</string>
<string name="p_directonly_summary">Only digipeats stations directly heard</string>

<string name="p_igating">IGating Preferences</string>
<string name="p_igating_entry">IGate</string>
<string name="p_igating_summary">Enable IGate</string>
<string name="p_igating_preferences">IGate Settings</string>

<string name="p_aprsistraffic_entry">Suppress APRS-IS Traffic Log</string>
<string name="p_aprsistraffic_summary">Suppresses all APRS-IS traffic in the log</string>

<string name="p_aprsistorf_entry">Enable Bidirectional IGate</string>
<string name="p_aprsistorf_summary">Allows messages to pass to RF</string>

<string name="p_offlinemap">OSM Maps</string>
<string name="p_offlinemap_entry">Enable offline mapping</string>
<string name="p_offlinemap_summary">Uses locally hosted tile server</string>

<string name="p_dedupe">Dedupe Timeout</string>
<string name="p_dedupe_entry">Timeout in seconds</string>
<string name="p_dedupe_summary">Digipeat timeout for duplicate packets</string>

<string name="p_digipeaterpath">Digipeater Path</string>
<string name="p_digipeaterpath_entry">Set Digi Path</string>
<string name="p_digipeaterpath_summary">Paths to digipeat</string>

<string name="p_igpath">Digi Path</string>
<string name="p_igpath_entry">Set RF Digi Path</string>
<string name="p_igpath_summary">APRS-IS to RF Digi Path</string>

<!-- map view -->
<string name="map_overlays">Overlays</string>
<string name="map_google">Google: Map</string>
Expand All @@ -134,6 +171,8 @@
<string name="export_log">Export Log</string>
<string name="export_empty">Nothing to export</string>
<string name="clear_log">Clear Log</string>
<string name="clearallmessages">Clear Messages</string>

<string name="quit">Quit</string>
<string name="preferences">Preferences</string>
<!-- preferences -->
Expand All @@ -153,6 +192,9 @@
<string name="p_ssid">SSID</string>
<string name="p_ssid_summary">Station type (1..15; 9=Mobile, 10=APRS-IS)</string>
<string name="p_ssid_entry">Enter the SSID for your station</string>
<string name="p_units_title">Distance Units</string>
<string name="p_units">Unit Preference</string>
<string name="p_units_entry">Select Distance Unit</string>
<!-- array of station types (SSID) -->
<string-array name="p_ssid_e">
<item>(none) Primary Station</item>
Expand All @@ -172,6 +214,12 @@
<item>14: Freight vehicle</item>
<item>15: Generic additional station</item>
</string-array>

<string-array name="p_units_e">
<item>Metric</item>
<item>Imperial</item>
</string-array>

<string name="p_symbol">APRS symbol</string>
<string name="p_symbol_summary">Your symbol for map display</string>
<string name="p_symbol_overlay">Overlay:</string>
Expand All @@ -182,6 +230,13 @@
<string name="p_status_summary">The text after your coordinates</string>
<string name="p_status_entry">Enter your beacon comment</string>
<string name="p__connection">APRS Connection</string>
<string name="p__digipeating">Digipeating Preferences</string>
<string name="p__igating">IGating Preferences</string>
<string name="p__messaging">Messaging Preferences</string>
<string name="p__igaterf">Bidirectional Settings</string>
<string name="p__igateserver">Server Settings</string>
<string name="p__ratelimit">Transmit Rate Limiting</string>

<string name="p_conntype">Connection Protocol</string>
<string name="p_conntype_entry">Choose the connection protocol</string>
<string name="p_link">Connection Type</string>
Expand All @@ -206,8 +261,12 @@
<string name="p_aprsis_udp">UDP (send only)</string>
<!-- array of TNC link types -->
<string name="p_link_bt">Bluetooth SPP</string>
<string name="p_link_ble">Bluetooth Low Energy</string>
<string name="p_link_tcpip">TCP/IP</string>
<string name="p_link_usb">USB Serial</string>
<!-- array of AFSK modes -->
<string name="p_afsk_vox">VOX</string>
<string name="p_afsk_digirig">Digirig</string>
<!-- array of location sources -->
<string name="p_source_manual">Manual Position</string>
<string name="p_source_periodic">Periodic GPS/Network Position</string>
Expand Down Expand Up @@ -241,14 +300,30 @@

<!-- connection type properties -->
<string name="p_host">Server</string>
<string name="p_igserver">Server</string>
<string name="p_host_summary">APRS-IS server (port 8080) to send beacons</string>
<string name="p_host_entry">Enter the APRS-IS server hostname</string>
<string name="p_igserver_entry">Enter the APRS-IS server hostname</string>
<string name="p_host_hint">host:port</string>
<string name="p_igserver_hint">host:port</string>
<string name="p__position">Position Reports</string>
<string name="p_locsource">Location Source</string>
<string name="p_locsource_summary">Manual, Periodic or SmartBeaconing™</string>
<string name="p__location">Location Settings</string>

<string name="p__location_compressed_beacons">Normal Compressed Beacons</string>
<string name="p__location_compressed_beacons_on">Send Compressed Beacons</string>
<string name="p__location_compressed_beacons_off">Send Uncompressed Beacons</string>

<string name="p__location_mice_beacons">Mic-E Compressed Beacons</string>
<string name="p__location_mice_beacons_on">Send Mic-E Beacons</string>
<string name="p__location_mice_beacons_off">Send Uncompressed Beacons</string>

<string name="p__location_compressed_settings">Compressed Beacon Settings</string>
<string name="p__location_compressed_summary">Normal &amp; Mic-E Compression</string>

<string name="p__location_mice_status">Mic-E Status</string>

<string name="p_smartbeaconing">SmartBeaconing™</string>
<string name="p_sb_help">SmartBeaconing™ help</string>
<string name="p_sb_fast_speed">Fast Speed [km/h]</string>
Expand Down Expand Up @@ -312,6 +387,30 @@
<string name="status_linkoff">Error: %s</string>
<string name="status_linkon">Connected: %s</string>

<string name="p_messaging">Messaging Preferences</string>
<string name="p_messaging_preferences">Advanced Messaging Options</string>
<string name="p_message_retry">Message Retries</string>
<string name="p_message_retry_entry">Number of messages to retry</string>
<string name="p_message_retry_summary">Message retry limit</string>

<string name="p_retry_interval">Retry Interval</string>
<string name="p_retry_interval_entry">Retry interval start rate</string>
<string name="p_retry_interval_summary">Rate doubles each retry</string>

<string name="p_ackdupe_interval">Ack Dupe Timeout or Disable</string>
<string name="p_ackdupe_interval_entry">Ack dupe timeout (0 = ack disabled)</string>
<string name="p_ackdupe_interval_summary">Dupe acks allowed after timeout</string>

<string name="p_ackdupetoggle">Ack Dupe Timeout</string>
<string name="p_ackdupetoggle_summary">Sends dupe acks after the timeout period</string>

<string name="p_msgdupetoggle">Duplicate Messages</string>
<string name="p_msgdupetoggle_summary">Allows dupe messages after timeout period</string>

<string name="p_msgdupetime_summary">Duplicate messages allowed after timeout</string>
<string name="p_msgdupetime_entry">Dupe message timeout (0 = disabled)</string>
<string name="p_msgdupetime_title">Dupe Message Timeout</string>

<!-- AFSK settings -->
<string name="p_aprs_path">APRS digi path</string>
<string name="p_aprs_path_hint">hop 1, hop 2, ...</string>
Expand All @@ -325,6 +424,8 @@
<string name="p_afsk_btsco">Bluetooth Headset</string>
<string name="p_afsk_btsco_summary">Use Bluetooth (SCO) headset for AFSK</string>
<string name="p_afsk_output">Audio Output</string>
<string name="p_afsk_ptt">Use Push-to-Talk</string>
<string name="p_afsk_pttport">Push-to-Talk Port</string>
<string-array name="p_afsk_out_e">
<item>Voice Call</item>
<item>Ringtone</item>
Expand All @@ -334,21 +435,52 @@

<!-- TCP server settings -->
<string name="p_tcp_server_summary">APRS-IS TCP server (port 14580) to contact</string>
<string name="p_igserver_summary">APRS-IS TCP server (port 14580) to contact</string>
<string name="p_filterdist">Neighbor radius</string>
<string name="p_filterdist_summary">Receive packets from stations in this radius</string>
<string name="p_filterdist_entry">Radius around you to monitor for packets [km]</string>
<string name="p_filter">Packet filter</string>
<string name="p_igfilter">Packet filter</string>
<string name="p_filter_hint">b/BUDDY o/OBJECT ...</string>
<string name="p_filter_summary">Filter for incoming packets</string>
<string name="p_filter_entry">Enter a filter for incoming packets</string>

<string name="p_igfilter_hint">b/BUDDY o/OBJECT ...</string>
<string name="p_igfilter_summary">Filter for incoming packets</string>
<string name="p_igfilter_entry">Enter a filter for incoming packets</string>

<string name="p_igconnectretry">Connection Retry Interval</string>
<string name="p_igconnectretry_summary">Reconnect to server in seconds</string>
<string name="p_igconnectretry_entry">Retry interval in seconds</string>

<string name="p_ratelimit1">TX Rate Limit 1 Min</string>
<string name="p_ratelimit1_summary">Limit Number of TX Packets in 1 Min Interval</string>
<string name="p_ratelimit1_entry">Packet Limit at 1 Min Interval</string>

<string name="p_ratelimit5">TX Rate Limit 5 Min</string>
<string name="p_ratelimit5_summary">Limit Number of TX Packets in 5 Min Interval</string>
<string name="p_ratelimit5_entry">Packet Limit at 5 Min Interval</string>

<string name="p_timelastheard">Recently heard station timeout</string>
<string name="p_timelastheard_summary">Timeout to pass messages to recently heard stations to RF</string>
<string name="p_timelastheard_entry">Timeout in minutes</string>


<string name="p_filterhelp">Message filter help</string>
<string name="p_filterhelp_summary">Online reference for APRS-IS filters</string>

<string name="p_sotimeout">TCP socket timeout</string>
<string name="p_sotimeout_summary">Time before resetting the connection</string>
<string name="p_sotimeout_entry">Timeout value in seconds (0 = disable)</string>

<string name="p_igsotimeout">TCP socket timeout</string>
<string name="p_igsotimeout_summary">Time before resetting the connection</string>
<string name="p_igsotimeout_entry">Timeout value in seconds (0 = disable)</string>

<string name="p_reconnect">TCP reconnect timeout</string>
<string name="p_reconnect_summary">Time before reconnecting</string>
<string name="p_reconnect_entry">Timeout value in seconds</string>

<string name="p_mapfile">Map file name</string>
<string name="p_mapfile_summary">MapsForge map file for APRSdroid</string>
<string name="p_mapfile_choose">Choose map file</string>
Expand Down Expand Up @@ -434,4 +566,13 @@
<string name="p_serial_notfound">No USB device found!</string>

<string name="no_perm_text">The following permissions are required:</string>

<!-- UV-PRO Control -->
<string name="freq_control">Radio Freq Control</string>
<string name="freq_control_summary">Freq</string>
<string name="freq_control_options_summary">Sets Freq at Start</string>
<string name="freq_control_options">Enable Radio Frequency Control</string>
<string name="freq_control_title">Set Frequency</string>
<string name="freq_control_hint">144.390</string>

</resources>
Loading