# 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)