[chirp_devel] [PATCH] [vx8] #1615 NFM support added

Bernhard Hailer
Sat Jan 4 10:42:09 PST 2020


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




More information about the chirp_devel mailing list