kopia lustrzana https://github.com/Hamlib/Hamlib
				
				
				
			
							rodzic
							
								
									d8b33f3b0e
								
							
						
					
					
						commit
						21e6e9bf2a
					
				| 
						 | 
				
			
			@ -489,7 +489,7 @@ transaction_read:
 | 
			
		|||
 | 
			
		||||
            if (retry_read++ < rs->rigport.retry)
 | 
			
		||||
            {
 | 
			
		||||
                rig_debug(RIG_DEBUG_ERR, "%s: Retrying shortly\n", __func__);
 | 
			
		||||
                rig_debug(RIG_DEBUG_ERR, "%s: Retrying shortly %d of %d\n", __func__, retry_read, rs->rigport.retry);
 | 
			
		||||
                hl_usleep(rig->caps->timeout * 1000);
 | 
			
		||||
                goto transaction_write;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -1100,7 +1100,8 @@ int kenwood_set_vfo(RIG *rig, vfo_t vfo)
 | 
			
		|||
    char vfo_function;
 | 
			
		||||
    struct kenwood_priv_data *priv = rig->state.priv;
 | 
			
		||||
 | 
			
		||||
    rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s\n", __func__, rig_strvfo(vfo));
 | 
			
		||||
    ENTERFUNC;
 | 
			
		||||
    rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s, is_emulation=%d, curr_mode=%s\n", __func__, rig_strvfo(vfo), priv->is_emulation,  rig_strrmode(priv->curr_mode));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /* Emulations do not need to set VFO since VFOB is a copy of VFOA
 | 
			
		||||
| 
						 | 
				
			
			@ -1108,18 +1109,20 @@ int kenwood_set_vfo(RIG *rig, vfo_t vfo)
 | 
			
		|||
     * This prevents a 1.8 second delay in PowerSDR when switching VFOs
 | 
			
		||||
     * We'll do this once if curr_mode has not been set yet
 | 
			
		||||
     */
 | 
			
		||||
    if (priv->is_emulation && priv->curr_mode > 0)
 | 
			
		||||
    if (vfo == RIG_VFO_B &&  priv->is_emulation && priv->curr_mode > 0)
 | 
			
		||||
    {
 | 
			
		||||
        HAMLIB_TRACE;
 | 
			
		||||
        RETURNFUNC2(RIG_OK);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
    if (rig->state.current_vfo == vfo)
 | 
			
		||||
    {
 | 
			
		||||
        rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo already is %s...skipping\n", __func__,
 | 
			
		||||
                  rig_strvfo(vfo));
 | 
			
		||||
        RETURNFUNC2(RIG_OK);
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    switch (vfo)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -1414,6 +1417,7 @@ int kenwood_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
 | 
			
		|||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        HAMLIB_TRACE;
 | 
			
		||||
        strcat(cmdbuf, ";FT0");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1424,10 +1428,6 @@ int kenwood_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
 | 
			
		|||
        RETURNFUNC2(retval);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rig->state.cache.split = split;
 | 
			
		||||
    rig->state.cache.split_vfo = txvfo;
 | 
			
		||||
    elapsed_ms(&rig->state.cache.time_split, HAMLIB_ELAPSED_SET);
 | 
			
		||||
 | 
			
		||||
    /* Split off means Rx and Tx are the same */
 | 
			
		||||
    if (split == RIG_SPLIT_OFF)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -1484,6 +1484,10 @@ int kenwood_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
 | 
			
		|||
    tsplit = RIG_SPLIT_OFF; // default in case rig does not set split status
 | 
			
		||||
    retval = rig_get_split(rig, vfo, &tsplit);
 | 
			
		||||
 | 
			
		||||
    priv->split = rig->state.cache.split = split;
 | 
			
		||||
    rig->state.cache.split_vfo = txvfo;
 | 
			
		||||
    elapsed_ms(&rig->state.cache.time_split, HAMLIB_ELAPSED_SET);
 | 
			
		||||
 | 
			
		||||
    // and it should be OK to do a SPLIT_OFF at any time so we won's skip that
 | 
			
		||||
    if (retval == RIG_OK && split == RIG_SPLIT_ON && tsplit == RIG_SPLIT_ON)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -1511,7 +1515,8 @@ int kenwood_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    /* Remember whether split is on, for kenwood_set_vfo */
 | 
			
		||||
    priv->split = split;
 | 
			
		||||
    priv->split = rig->state.cache.split = split;
 | 
			
		||||
    elapsed_ms(&rig->state.cache.time_split, HAMLIB_ELAPSED_SET);
 | 
			
		||||
 | 
			
		||||
    RETURNFUNC2(RIG_OK);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@
 | 
			
		|||
#include "token.h"
 | 
			
		||||
#include "misc.h"
 | 
			
		||||
 | 
			
		||||
#define BACKEND_VER "20220719"
 | 
			
		||||
#define BACKEND_VER "20220726"
 | 
			
		||||
 | 
			
		||||
#define EOM_KEN ';'
 | 
			
		||||
#define EOM_TH '\r'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1325,7 +1325,11 @@ int HAMLIB_API rig_open(RIG *rig)
 | 
			
		|||
        int retval = rig_get_freq(rig, RIG_VFO_A, &freq);
 | 
			
		||||
        if (retval == RIG_OK && rig->caps->rig_model != RIG_MODEL_F6K)
 | 
			
		||||
        {
 | 
			
		||||
            vfo_t tx_vfo;
 | 
			
		||||
            split_t split;
 | 
			
		||||
            rig_get_freq(rig, RIG_VFO_B, &freq);
 | 
			
		||||
            rig_get_split_vfo(rig, RIG_VFO_RX, &tx_vfo, &split);
 | 
			
		||||
            rig_debug(RIG_DEBUG_VERBOSE, "%s(%d): Current split=%d, tx_vfo=%s\n", __func__, __LINE__, split, rig_strvfo(tx_vfo));
 | 
			
		||||
            rmode_t mode;
 | 
			
		||||
            pbwidth_t width;
 | 
			
		||||
            rig_get_mode(rig, RIG_VFO_A, &mode, &width);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue