[chirp_devel] [PATCH] [vx8] #1615 NFM support added
# HG changeset patch # User Bernhard Hailer ham73tux@gmail.com # Date 1578101839 28800 # Fri Jan 03 17:37:19 2020 -0800 # Node ID 4a89499d9167be681e408074dd77017a0e75a0bb # Parent 4e684d55c1d7ed2c6a66225bf468244bcc6beb5a [vx8] #1615 NFM support added
There is a 5+ years old issue which I could reproduce: the Yaesu VX-8 didn't support Chirp NFM (as in "half channel bandwidth", not as in Yaesu's meaning: Yaesu calls the normal 25 kHz bandwidth "NFM", as opposed to broadcast "WFM"; to achieve what's called "NFM in Chirp, Yaesu just enables a feature they calone needs to enable "half deviation" in the VX-8).
This patch introduces Chirp NFM support to the VX-8 driver. Tested on a VX-8DR.
73 Bernhard AE6YN
#1615
diff --git a/chirp/drivers/vx8.py b/chirp/drivers/vx8.py --- a/chirp/drivers/vx8.py +++ b/chirp/drivers/vx8.py @@ -339,7 +339,7 @@
TMODES = ["", "Tone", "TSQL", "DTCS"] DUPLEX = ["", "-", "+", "split"] -MODES = ["FM", "AM", "WFM"] +MODES = ["FM", "AM", "WFM", "NFM"] STEPS = list(chirp_common.TUNING_STEPS) STEPS.remove(30.0) STEPS.append(100.0) @@ -662,7 +662,10 @@ mem.duplex = DUPLEX[_mem.duplex] if mem.duplex == "split": mem.offset = chirp_common.fix_rounded_step(mem.offset) - mem.mode = MODES[_mem.mode] + if _mem.mode == "FM" and _mem.half_deviation == 1: + mem.mode = "NFM" + else: + mem.mode = MODES[_mem.mode] mem.dtcs = chirp_common.DTCS_CODES[_mem.dcs] mem.tuning_step = STEPS[_mem.tune_step] mem.power = POWER_LEVELS[3 - _mem.power] @@ -708,6 +711,12 @@ _mem.tone = chirp_common.TONES.index(mem.rtone) _mem.tone_mode = TMODES.index(mem.tmode) _mem.duplex = DUPLEX.index(mem.duplex) + if mem.mode == "NFM": + _mem.mode = 0 # Yaesu's NFM, i.e. regular FM + _mem.half_deviation = 1 # but half bandwidth + else: + _mem.mode = MODES.index(mem.mode) + _mem.half_deviation = 0 _mem.mode = MODES.index(mem.mode) _mem.dcs = chirp_common.DTCS_CODES.index(mem.dtcs) _mem.tune_step = STEPS.index(mem.tuning_step)
Whoops,
I discovered that the wording in the patch message is somewhat garbled. Do I need to redo the entire patch procedure to correct, or is it permissible to just edit and resend the patch email? Correct would be
... to achieve what's called "NFM" in Chirp, one needs to enable "half deviation" in the VX-8).
73 Bernhard AE6YN
On 1/3/20 6:24 PM, Bernhard Hailer wrote:
# HG changeset patch # User Bernhard Hailer ham73tux@gmail.com # Date 1578101839 28800 # Fri Jan 03 17:37:19 2020 -0800 # Node ID 4a89499d9167be681e408074dd77017a0e75a0bb # Parent 4e684d55c1d7ed2c6a66225bf468244bcc6beb5a [vx8] #1615 NFM support added
There is a 5+ years old issue which I could reproduce: the Yaesu VX-8 didn't support Chirp NFM (as in "half channel bandwidth", not as in Yaesu's meaning: Yaesu calls the normal 25 kHz bandwidth "NFM", as opposed to broadcast "WFM"; to achieve what's called "NFM in Chirp, Yaesu just enables a feature they calone needs to enable "half deviation" in the VX-8).
This patch introduces Chirp NFM support to the VX-8 driver. Tested on a VX-8DR.
73 Bernhard AE6YN
#1615
diff --git a/chirp/drivers/vx8.py b/chirp/drivers/vx8.py --- a/chirp/drivers/vx8.py +++ b/chirp/drivers/vx8.py @@ -339,7 +339,7 @@
TMODES = ["", "Tone", "TSQL", "DTCS"] DUPLEX = ["", "-", "+", "split"] -MODES = ["FM", "AM", "WFM"] +MODES = ["FM", "AM", "WFM", "NFM"] STEPS = list(chirp_common.TUNING_STEPS) STEPS.remove(30.0) STEPS.append(100.0) @@ -662,7 +662,10 @@ mem.duplex = DUPLEX[_mem.duplex] if mem.duplex == "split": mem.offset = chirp_common.fix_rounded_step(mem.offset)
mem.mode = MODES[_mem.mode]
if _mem.mode == "FM" and _mem.half_deviation == 1:
mem.mode = "NFM"
else:
mem.mode = MODES[_mem.mode] mem.dtcs = chirp_common.DTCS_CODES[_mem.dcs] mem.tuning_step = STEPS[_mem.tune_step] mem.power = POWER_LEVELS[3 - _mem.power]
@@ -708,6 +711,12 @@ _mem.tone = chirp_common.TONES.index(mem.rtone) _mem.tone_mode = TMODES.index(mem.tmode) _mem.duplex = DUPLEX.index(mem.duplex)
if mem.mode == "NFM":
_mem.mode = 0 # Yaesu's NFM, i.e. regular FM
_mem.half_deviation = 1 # but half bandwidth
else:
_mem.mode = MODES.index(mem.mode)
_mem.half_deviation = 0 _mem.mode = MODES.index(mem.mode) _mem.dcs = chirp_common.DTCS_CODES.index(mem.dtcs) _mem.tune_step = STEPS.index(mem.tuning_step)
I discovered that the wording in the patch message is somewhat garbled. Do I need to redo the entire patch procedure to correct, or is it permissible to just edit and resend the patch email? Correct would be
... to achieve what's called "NFM" in Chirp, one needs to enable "half deviation" in the VX-8).
I just edited it as I applied it. But in general, yeah just let me know not to apply this one and send a replacement. Should as easy as "hg qref -e" or "hg commit --amend" depending on your process.
Thanks!
--Dan
participants (2)
-
Bernhard Hailer
-
Dan Smith