Hamlib/rigs/yaesu
Mike Black W9MDB 1881b2e206 Fix FT1000MP rig_set_freq to set cache 2024-03-23 11:52:26 -05:00
..
Android.mk Change all to remove HAVE_CONFIG dependency and include <hamlib/config.h> by default 2022-02-04 07:41:36 -06:00
FT-817CAT.pdf Add documentaion for FT-817 2023-06-04 07:56:10 -05:00
FT-817MemoryMap.pdf Add documentaion for FT-817 2023-06-04 07:56:10 -05:00
FT8X7eeprom.odt Add FT87XXeeprom information 2021-11-06 23:43:55 -05:00
Makefile.am FT-710 fixes, part 1 2023-07-12 00:29:32 +03:00
README.ft890 Directory migration to new layout 2020-01-17 09:22:44 -06:00
README.ft920 Directory migration to new layout 2020-01-17 09:22:44 -06:00
YaesuTargetableVFO.ods Update 2022-12-03 19:35:11 +01:00
frg100.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
frg100.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
frg8800.c Promote all BETA to STABLE 2024-02-14 07:11:20 -06:00
frg9600.c Promote all BETA to STABLE 2024-02-14 07:11:20 -06:00
ft100.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft100.h https://github.com/Hamlib/Hamlib/issues/887 2022-01-08 15:48:53 -06:00
ft450.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft450.h Add RIG_LEVEL_BAND_SELECT for Yaesur rigs 2022-01-29 16:25:18 -06:00
ft600.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft600.h Move private data structs of ft100, ft600, ft817, ft857, ft897 to the C file. 2021-09-04 22:13:31 +02:00
ft710.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft710.h Add ft710.h 2023-07-12 00:36:49 +03:00
ft736.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft747.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft747.h Increase FT747GX cache timeout to 1500ms as get_freq is taking over 1000ms 2022-08-19 08:33:31 -05:00
ft757gx.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft757gx.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
ft767gx.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft767gx.h Put enter/leave CAT in FT767GX.c again and reduce write_delay to zero. 2023-05-23 10:11:51 -05:00
ft817.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft817.h Merge branch 'master' into ft817_improvements 2021-09-04 23:08:48 +02:00
ft840.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft840.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
ft847.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft847.h Move private data structs of ft100, ft600, ft817, ft857, ft897 to the C file. 2021-09-04 22:13:31 +02:00
ft857.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft857.h Move private data structs of ft100, ft600, ft817, ft857, ft897 to the C file. 2021-09-04 22:13:31 +02:00
ft890.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft890.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
ft891.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft891.h Add get & set RIG_LEVEL_NB for Yaesu rigs. 2022-01-31 22:44:30 +00:00
ft897.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft897.h Move private data structs of ft100, ft600, ft817, ft857, ft897 to the C file. 2021-09-04 22:13:31 +02:00
ft900.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft900.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
ft920.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft920.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
ft950.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft950.h Added RIG_FUNC_NB2 2022-11-30 16:40:50 +01:00
ft980.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft980.h Fix ptt_share segmentation fault 2023-11-23 15:00:05 -06:00
ft990.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
ft990.h Restore ft990.c and move FT990UNI to it's own file 2022-06-28 09:21:04 -05:00
ft990v12.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft990v12.h Update ft990v12 fixing include and naming 2022-06-28 13:30:52 -05:00
ft991.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft991.h For the FT991 change write_delay=0 and post_write_delay=2 2022-12-03 10:34:26 -06:00
ft1000d.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
ft1000d.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
ft1000mp.c Fix FT1000MP rig_set_freq to set cache 2024-03-23 11:52:26 -05:00
ft1000mp.h Yeasu rigs: move native command to C file, move function declration to C 2021-09-04 21:37:28 +02:00
ft1200.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft1200.h NB2 2022-12-01 10:04:01 +01:00
ft2000.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft2000.h NB2 2022-12-01 20:33:22 +01:00
ft3000.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft5000.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft5000.h Change FTDX5000 write_delay to zero -- was causing microham to return ?; to every command 2022-12-26 10:21:35 -06:00
ft9000.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ft9000.h NB2 2022-12-01 10:33:06 +01:00
ftdx10.c Revert "Change FTDX10 handshake to None instead of Hardware" 2024-01-08 12:06:20 -06:00
ftdx10.h Update ftdx10.h power levels 2022-11-10 12:18:18 -06:00
ftdx101.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
ftdx101.h Add RIG_FUNC_SYNC -- only for FTDX101D/MP right now. 2024-01-18 07:56:30 -06:00
ftdx101mp.c Merge branch 'master' into master 2023-12-21 07:53:27 -06:00
level_gran_yaesu.h Convert RFPOWER to level_gran usage 2023-08-03 10:01:30 -04:00
newcat.c Use pointers for all cache references in rigs/* 2024-03-09 14:25:59 -05:00
newcat.h Fix Yaesu BANDSELECT 2024-02-03 12:40:58 -06:00
vr5000.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
vx1700.c Convert rigs/yaesu 2024-02-05 11:28:31 -05:00
vx1700.h [yaesu] Fix includes 2023-02-16 19:08:24 +01:00
yaesu.c Add Guohe Q900 2024-01-22 16:34:18 -06:00
yaesu.h Add Guohe Q900 2024-01-22 16:34:18 -06:00

README.ft920

Quirks, known bugs, and other notes.
====================================

In this document I'll try to describe the behavior of the Yaesu FT-920
transceiver with Hamlib.  Some of these are limitations of the radio
while others are programming trade-offs with Hamlib.

This document is organized by Hamlib function calls and documents observed
behavior with each call.

rig_set_mode
    *   No matter the status of the main display, MEM or VFO, display
        will be set to VFO mode if RIG_VFO_A or RIG_VFO_VFO is passed.
    *   If radio is in MEM or MEM TUNE state, main display mode can be
        changed when RIG_VFO_MEM or RIG_VFO_MAIN is passed.
    *   When RIG_VFO_CURR is passed, the display will be set per the VFO
        stored by the last rig_get_vfo call.
    *   Modes DATA USB and DATA FM cannot be set at this time
        (Hamlib limitation).  See below.
    *   My FT-920 does not support USB/LSB narrow so attempting to
        set a narrow passband with these modes will return an Invalib
        Parameter error.

rig_get_mode
    *   Modes DATA USB and DATA FM cannot be returned as rig.h only has
        RIG_MODE_RTTY (Hamlib limitation).
    *   DATA LSB is mapped to RIG_MODE_RTTY.
    *   I would like to hear from anyone who gets a narrow passband
        value in USB/LSB mode returned.

rig_set_freq
    *   When passed RIG_VFO_A or RIG_VFO_VFO the main display is forced
        to VFO mode and then the frequency is set.
    *   When passed RIG_VFO_B or RIG_VFO_SUB, the sub display frequency
        is set.
    *   When passed RIG_VFO_MEM, or RIG_VFO_MAIN, the main display
        frequency is set regardless of whether the main display is in
        memory (thus activating MEM Tune) or VFO mode.
    *   When RIG_VFO_CURR is passed, the display will be set per the VFO
        stored by the last rig_get_vfo call.
    *   RIG_TARGETABLE_ALL is properly handled (I think).

rig_get_freq
    *   When passed RIG_VFO_A or RIG_VFO_VFO, the radio returns the
        frequency in the main VFO, even if the main display is in MEM or
        MEM Tune.
    *   When passed RIG_VFO_B or RIG_VFO_SUB, the sub-display frequency
        is returned.
    *   When passed RIG_VFO_MEM or RIG_VFO_MAIN, the current main display
        frequency is returned regardless of main display mode.
    *   When passed RIG_VFO_CURR, the display will be read per the VFO
        stored by the last rig_get_vfo call.

rig_set_vfo
    *   When called with RIG_VFO_A or RIG_VFO_VFO, the radio appears to
        do nothing, however, rig_state->current_vfo will be updated.
    *   When called with RIG_VFO_B, the radio will swap the main and sub
        displays, the same as if the front panel A<>B button is pressed.
    *   No provision exists to make VFO-B (sub display) the active RX
        through CAT.

rig_get_split
    *   Both split capabilities are tested, i.e. RX A/TX B and RX B/TX A,
        but Hamlib only supports an indication that the radio is split.
    *   The VFO value passed is not used by the ft920 backend lib.
        FIXME: Is this a problem?

rig_set_split
    *   When called with RIG_SPLIT_OFF the radio will make TX A active if
        TX B was active, otherwise no change.
    *   When called with RIG_SPLIT_ON the radio will make TX B active if
        TX A was active, otherwise no change.
    *   The FT-920 has no capability to change the active RX to RX B (sub
        display) through CAT.  Thus if VFO-B is active RX/TX the setting
        RIG_SPLIT_ON will make no visible change on the radio.
    *   The VFO value passed is not used by the ft920 backend lib.
        FIXME: Is this a problem?

rig_set_split_freq
    *   Backend simply wraps rig_set_freq--calling app needs to specify
        target VFO to set frequency.  Should backend determine split
        and set "proper" VFO?

rig_get_split_freq
    *   Backend simply wraps rig_get_freq--calling app needs to specify
        target VFO to set frequency.  Should backend determine split
        and set "proper" VFO?

rig_set_split_mode
    *   Backend simply wraps rig_set_mode--calling app needs to specify
        target VFO to set frequency.  Should backend determine split
        and set "proper" VFO?

rig_get_split_mode
    *   Backend simply wraps rig_get_mode--calling app needs to specify
        target VFO to set frequency.  Should backend determine split
        and set "proper" VFO?

rig_set_rit
    *   Hamlib specificies that passing 0 as the RIT frequency disables
        RIT.  Thus there is no way to meet the spec and mimic the front
        panel RIT off function whilst keeping the RIT offset on the
        display.  The Hamlib spec causes behavior analogous to shutting
        RIT off and then pressing the Clear button.
    *   There is no direct way to set RIT offset of VFOB/SUB.  However,
        rig_set_vfo can be used to swap VFO B and main, then set RIT, then
        call rig_set_vfo to swap VFO B and main.
        FIXME: Should backend do this automatically?

rig_get_rit
    *   Backend returns clarifier offset regardless of whether RIT is on.
    *   vfo is honored and stored RIT is returned.

rig_set_xit
    *   Hamlib specificies that passing 0 as the XIT frequency disables
        XIT.  Thus there is no way to meet the spec and mimic the front
        panel XIT off function whilst keeping the XIT offset on the
        display.  The Hamlib spec causes behavior analogous to shutting
        XIT off and then pressing the Clear button.
    *   There is no direct way to set XIT offset of VFOB/SUB.  However,
        rig_set_vfo can be used to swap VFO B and main, then set XIT, then
        call rig_set_vfo to swap VFO B and main.
        FIXME: Should backend do this automatically?

rig_get_xit
    *   Backend returns clarifier offset regardless of whether XIT is on.
    *   vfo is honored and stored XIT is returned.

General notes.
    As with most all Yaesu radios the radio must be polled by the application
    for status updates, i.e. no transceive mode in CAT.