From 5ab84b869960d2d5670dcd36e032f087f1b3a066 Mon Sep 17 00:00:00 2001
From: ryanjavram <56175885+ryanjavram@users.noreply.github.com>
Date: Mon, 8 Dec 2025 18:09:23 -0500
Subject: [PATCH 01/18] Add check for receive-only channels before transmission
---
client/ui/js/script.js | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/client/ui/js/script.js b/client/ui/js/script.js
index 4aaeddb..e80a19d 100644
--- a/client/ui/js/script.js
+++ b/client/ui/js/script.js
@@ -409,6 +409,12 @@ window.addEventListener('message', async function (event) {
return;
}
+ if (currentCodeplug.zones[currentZoneIndex].channels[currentChannelIndex].receiveOnly === true) {
+ console.debug("Cannot tx, rx only");
+ bonk();
+ return;
+ }
+
if (isReceiving) {
console.debug("Receiving, not txing");
bonk();
From 4b64f4b7f341a7dcedf32534b525163159e8bb60 Mon Sep 17 00:00:00 2001
From: ryanjavram <56175885+ryanjavram@users.noreply.github.com>
Date: Mon, 8 Dec 2025 18:11:33 -0500
Subject: [PATCH 02/18] Update voice announcements to use name_announce
---
client/ui/js/script.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/client/ui/js/script.js b/client/ui/js/script.js
index e80a19d..1be609f 100644
--- a/client/ui/js/script.js
+++ b/client/ui/js/script.js
@@ -956,8 +956,8 @@ function changeZone(direction) {
const currentZone = currentCodeplug.zones[currentZoneIndex];
const currentChannel = currentZone.channels[currentChannelIndex];
- // responsiveVoice.speak(`${currentZone.name}`, `US English Female`, {rate: .8});
- // responsiveVoice.speak(`${currentChannel.name}`, `US English Female`, {rate: .8});
+ responsiveVoice.speak(`${currentZone.name_announce}`, `US English Female`, {rate: .8});
+ responsiveVoice.speak(`${currentChannel.name_announce}`, `US English Female`, {rate: .8});
SendGroupAffiliationRemoval(currentTg);
updateDisplay();
From 49c7310672630f6c17cf93164ff3afc7b939c7f5 Mon Sep 17 00:00:00 2001
From: ryanjavram <56175885+ryanjavram@users.noreply.github.com>
Date: Mon, 8 Dec 2025 18:19:25 -0500
Subject: [PATCH 03/18] Add name_announce value for zones and channels; add
isReceiveOnly value for channels (prevents radios using this codeplug to
transmit on that channel)
---
codeplugs/codeplug.example.yml | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/codeplugs/codeplug.example.yml b/codeplugs/codeplug.example.yml
index e4923ad..fde0957 100644
--- a/codeplugs/codeplug.example.yml
+++ b/codeplugs/codeplug.example.yml
@@ -22,30 +22,44 @@ qcList:
b: 500.9
zones:
- - name: "Zone 1"
+ - name: "Z1" # Displayed on the radio UI
+ name_announce: "Zone 1" # Announced when switching to this zone
channels:
- - name: "Channel 1"
+ - name: "Ch 1" # Displayed on the radio UI
+ name_announce: "Channel 1" # Announced when switching to this channel
system: "System 1"
tgid: "2001"
scanList: List 1
- - name: "Channel 2"
+ isReceiveOnly: false
+ - name: "Ch 2" # Displayed on the radio UI
+ name_announce: "Channel 2" # Announced when switching to this channel
system: "System 1"
tgid: "15002"
- - name: "Channel 3"
+ isReceiveOnly: false
+ - name: "Ch 3" # Displayed on the radio UI
+ name_announce: "Channel 3" # Announced when switching to this channel
system: "System 1"
tgid: "15003"
+ isReceiveOnly: false
- - name: "Zone 2"
+ - name: "Z2" # Displayed on the radio UI
+ name_announce: "Zone 2" # Announced when switching to this zone
channels:
- - name: "Channel A"
+ - name: "Ch A" # Displayed on the radio UI
+ name_announce: "Channel A" # Announced when switching to this channel
system: "System 1"
tgid: "16001"
- - name: "Channel B"
+ isReceiveOnly: false
+ - name: "Ch B" # Displayed on the radio UI
+ name_announce: "Channel B" # Announced when switching to this channel
system: "System 1"
tgid: "16002"
- - name: "Channel C"
+ isReceiveOnly: false
+ - name: "Ch C" # Displayed on the radio UI
+ name_announce: "Channel C" # Announced when switching to this channel
system: "System 1"
tgid: "16002"
+ isReceiveOnly: false
scanLists:
- name: List 1
From 8bf455bd95f638166f475ab024b212a324680f5b Mon Sep 17 00:00:00 2001
From: ryanjavram <56175885+ryanjavram@users.noreply.github.com>
Date: Mon, 8 Dec 2025 18:20:27 -0500
Subject: [PATCH 04/18] Rename receiveOnly property to isReceiveOnly
---
client/ui/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/ui/js/script.js b/client/ui/js/script.js
index 1be609f..bb71795 100644
--- a/client/ui/js/script.js
+++ b/client/ui/js/script.js
@@ -409,7 +409,7 @@ window.addEventListener('message', async function (event) {
return;
}
- if (currentCodeplug.zones[currentZoneIndex].channels[currentChannelIndex].receiveOnly === true) {
+ if (currentCodeplug.zones[currentZoneIndex].channels[currentChannelIndex].isReceiveOnly === true) {
console.debug("Cannot tx, rx only");
bonk();
return;
From 46506e84acf9db89b5a7c2e5b5462c282e9d739b Mon Sep 17 00:00:00 2001
From: crazyghost-12 <56175885+crazyghost-12@users.noreply.github.com>
Date: Mon, 8 Dec 2025 18:36:40 -0500
Subject: [PATCH 05/18] Forgot to update voice announce for changeChannel
---
client/ui/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/ui/js/script.js b/client/ui/js/script.js
index bb71795..43a0b31 100644
--- a/client/ui/js/script.js
+++ b/client/ui/js/script.js
@@ -919,7 +919,7 @@ function changeChannel(direction) {
const currentChannel = currentZone.channels[currentChannelIndex];
- // responsiveVoice.speak(`${currentChannel.name}`, `US English Female`, {rate: .8});
+ responsiveVoice.speak(`${currentChannel.name_announce}`, `US English Female`, {rate: .8});
SendGroupAffiliationRemoval(currentTg);
From 7891323919ecaf087033a832da5c46397d680213 Mon Sep 17 00:00:00 2001
From: crazyghost-12 <56175885+crazyghost-12@users.noreply.github.com>
Date: Mon, 8 Dec 2025 21:52:33 -0500
Subject: [PATCH 06/18] Forgot to update zone/channel announce for scannerMode
---
client/ui/js/script.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/client/ui/js/script.js b/client/ui/js/script.js
index 43a0b31..df802d8 100644
--- a/client/ui/js/script.js
+++ b/client/ui/js/script.js
@@ -659,8 +659,8 @@ async function powerOn(reReg) {
}
if (!isScannerModel()) {
- // responsiveVoice.speak(`${currentZone.name}`, `US English Female`, {rate: .8});
- // responsiveVoice.speak(`${currentChannel.name}`, `US English Female`, {rate: .8});
+ responsiveVoice.speak(`${currentZone.name_announce}`, `US English Female`, {rate: .8});
+ responsiveVoice.speak(`${currentChannel.name_announce}`, `US English Female`, {rate: .8});
}
updateDisplay();
From 6b987793317e4e2e11d5b015138bba4751e7ce74 Mon Sep 17 00:00:00 2001
From: crazyghost-12 <56175885+crazyghost-12@users.noreply.github.com>
Date: Thu, 11 Dec 2025 13:48:43 -0500
Subject: [PATCH 07/18] Enable responsive voice script in index.html
---
client/ui/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/ui/index.html b/client/ui/index.html
index 6e85112..59b82fb 100644
--- a/client/ui/index.html
+++ b/client/ui/index.html
@@ -107,6 +107,6 @@
-
+