kopia lustrzana https://github.com/Hamlib/Hamlib
rodzic
b6ed9b53e6
commit
bbde85064a
|
@ -1693,7 +1693,7 @@ int k3_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
*/
|
||||
int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||
{
|
||||
char lvlbuf[50];
|
||||
char levelbuf[16];
|
||||
int retval;
|
||||
int lvl;
|
||||
struct kenwood_priv_data *priv = rig->state.priv;
|
||||
|
@ -1725,14 +1725,14 @@ int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
{
|
||||
cal_table_t str_cal = K3_SM_CAL;
|
||||
|
||||
retval = kenwood_safe_transaction(rig, "SM", lvlbuf, sizeof(lvlbuf), 6);
|
||||
retval = kenwood_safe_transaction(rig, "SM", levelbuf, sizeof(levelbuf), 6);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &val->i); /* rawstr */
|
||||
sscanf(levelbuf + 2, "%d", &val->i); /* rawstr */
|
||||
|
||||
val->i = (int) rig_raw2val(val->i, &str_cal);
|
||||
}
|
||||
|
@ -1740,14 +1740,14 @@ int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
{
|
||||
cal_table_t str_cal = K3_SMH_CAL;
|
||||
|
||||
retval = kenwood_safe_transaction(rig, "SMH", lvlbuf, sizeof(lvlbuf), 6);
|
||||
retval = kenwood_safe_transaction(rig, "SMH", levelbuf, sizeof(levelbuf), 6);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 3, "%d", &val->i); /* rawstr */
|
||||
sscanf(levelbuf + 3, "%d", &val->i); /* rawstr */
|
||||
|
||||
val->i = (int) rig_raw2val(val->i, &str_cal);
|
||||
}
|
||||
|
@ -1809,14 +1809,14 @@ int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
}
|
||||
|
||||
case RIG_LEVEL_AGC:
|
||||
retval = kenwood_safe_transaction(rig, "GT", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "GT", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
|
||||
if (lvl == 0)
|
||||
{
|
||||
|
@ -1838,14 +1838,14 @@ int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
break;
|
||||
|
||||
case RIG_LEVEL_ATT:
|
||||
retval = kenwood_safe_transaction(rig, "RA", lvlbuf, sizeof(lvlbuf), 4);
|
||||
retval = kenwood_safe_transaction(rig, "RA", levelbuf, sizeof(levelbuf), 4);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
|
||||
if (lvl == 0)
|
||||
{
|
||||
|
@ -1879,62 +1879,62 @@ int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
break;
|
||||
|
||||
case RIG_LEVEL_MICGAIN:
|
||||
retval = kenwood_safe_transaction(rig, "MG", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "MG", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
val->f = (float) lvl / 60.0f;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_COMP:
|
||||
retval = kenwood_safe_transaction(rig, "CP", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "CP", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
val->f = (float) lvl / 40.0f;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_SQL:
|
||||
retval = kenwood_safe_transaction(rig, "SQ", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "SQ", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
val->f = (float) lvl / 29.0f;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_RF:
|
||||
retval = kenwood_safe_transaction(rig, "RG", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "RG", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
val->f = (float) lvl / 250.0f;
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_AF:
|
||||
retval = kenwood_safe_transaction(rig, "AG", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "AG", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
val->f = (float) lvl / 250.0f;
|
||||
break;
|
||||
|
||||
|
@ -1942,14 +1942,14 @@ int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
return k3_get_nb_level(rig, &val->f, NULL);
|
||||
|
||||
case RIG_LEVEL_MONITOR_GAIN:
|
||||
retval = kenwood_safe_transaction(rig, "ML", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "ML", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%d", &lvl);
|
||||
sscanf(levelbuf + 2, "%d", &lvl);
|
||||
val->f = (float) lvl / 60.0f;
|
||||
break;
|
||||
|
||||
|
@ -1975,7 +1975,12 @@ int kx3_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
ival = val.f * (250.0 - 190.0) + 190.0;
|
||||
snprintf(cmdbuf,sizeof(cmdbuf)-1,"RG%03d", ival);
|
||||
return kenwood_transaction(rig, cmdbuf, NULL, 0);
|
||||
case RIG_LEVEL_AF:
|
||||
// manual says 0-255 as of Rev G5 but experiment says 0-60
|
||||
snprintf(cmdbuf, sizeof(cmdbuf), "AG%03d", (int)(val.f * 60.0f));
|
||||
return kenwood_transaction(rig, cmdbuf, NULL, 0);
|
||||
}
|
||||
|
||||
return k3_set_level(rig, vfo, level, val);
|
||||
}
|
||||
|
||||
|
@ -1987,13 +1992,19 @@ int kx3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
|
||||
switch (level)
|
||||
{
|
||||
case RIG_LEVEL_AF:
|
||||
retval = get_kenwood_level(rig, "AG", NULL, &val->i);
|
||||
if (retval != RIG_OK) { return retval; }
|
||||
// manual says 0-255 as of Rev G5 but experiment says 0-60
|
||||
val->f = val->i / 60.0;
|
||||
return retval;
|
||||
|
||||
case RIG_LEVEL_RF:
|
||||
retval = get_kenwood_level(rig, "RG", NULL, &val->i);
|
||||
if (retval != RIG_OK) { return retval; }
|
||||
val->f = (val->i - 190.0) / (250.0-190.0);
|
||||
return retval;
|
||||
|
||||
|
||||
case RIG_LEVEL_RFPOWER_METER:
|
||||
{
|
||||
int tx_status = 0;
|
||||
|
@ -2021,14 +2032,11 @@ int kx3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
}
|
||||
|
||||
val->f = pwr;
|
||||
break;
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
|
||||
default:
|
||||
return k3_get_level(rig, vfo, level, val);
|
||||
}
|
||||
|
||||
return RIG_OK;
|
||||
return k3_get_level(rig, vfo, level, val);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2147,7 +2155,7 @@ int set_rit_xit(RIG *rig, shortfreq_t rit)
|
|||
|
||||
int k3_set_nb_level(RIG *rig, float dsp_nb, float if_nb)
|
||||
{
|
||||
char lvlbuf[16];
|
||||
char levelbuf[16];
|
||||
int dsp_nb_raw = 0;
|
||||
int if_nb_raw = 0;
|
||||
|
||||
|
@ -2168,14 +2176,14 @@ int k3_set_nb_level(RIG *rig, float dsp_nb, float if_nb)
|
|||
int current_dsp_nb_raw;
|
||||
int current_if_nb_raw;
|
||||
|
||||
int retval = kenwood_safe_transaction(rig, "NL", lvlbuf, sizeof(lvlbuf), 6);
|
||||
int retval = kenwood_safe_transaction(rig, "NL", levelbuf, sizeof(levelbuf), 6);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%02d%02d", ¤t_dsp_nb_raw, ¤t_if_nb_raw);
|
||||
sscanf(levelbuf + 2, "%02d%02d", ¤t_dsp_nb_raw, ¤t_if_nb_raw);
|
||||
|
||||
if (dsp_nb < 0)
|
||||
{
|
||||
|
@ -2188,28 +2196,28 @@ int k3_set_nb_level(RIG *rig, float dsp_nb, float if_nb)
|
|||
}
|
||||
}
|
||||
|
||||
snprintf(lvlbuf, sizeof(lvlbuf), "NL%02d%02d", dsp_nb_raw, if_nb_raw);
|
||||
snprintf(levelbuf, sizeof(levelbuf), "NL%02d%02d", dsp_nb_raw, if_nb_raw);
|
||||
|
||||
return kenwood_transaction(rig, lvlbuf, NULL, 0);
|
||||
return kenwood_transaction(rig, levelbuf, NULL, 0);
|
||||
}
|
||||
|
||||
int k3_get_nb_level(RIG *rig, float *dsp_nb, float *if_nb)
|
||||
{
|
||||
char lvlbuf[16];
|
||||
char levelbuf[16];
|
||||
int retval;
|
||||
int dsp_nb_raw;
|
||||
int if_nb_raw;
|
||||
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||
|
||||
retval = kenwood_safe_transaction(rig, "NL", lvlbuf, sizeof(lvlbuf), 6);
|
||||
retval = kenwood_safe_transaction(rig, "NL", levelbuf, sizeof(levelbuf), 6);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%02d%02d", &dsp_nb_raw, &if_nb_raw);
|
||||
sscanf(levelbuf + 2, "%02d%02d", &dsp_nb_raw, &if_nb_raw);
|
||||
|
||||
if (dsp_nb != NULL)
|
||||
{
|
||||
|
@ -2227,7 +2235,7 @@ int k3_get_nb_level(RIG *rig, float *dsp_nb, float *if_nb)
|
|||
int k3_get_bar_graph_level(RIG *rig, float *smeter, float *pwr, float *alc,
|
||||
int *mode_tx)
|
||||
{
|
||||
char lvlbuf[16];
|
||||
char levelbuf[16];
|
||||
int retval;
|
||||
int tm_raw;
|
||||
int bg_raw;
|
||||
|
@ -2243,14 +2251,14 @@ int k3_get_bar_graph_level(RIG *rig, float *smeter, float *pwr, float *alc,
|
|||
return retval;
|
||||
}
|
||||
|
||||
retval = kenwood_safe_transaction(rig, "BG", lvlbuf, sizeof(lvlbuf), 5);
|
||||
retval = kenwood_safe_transaction(rig, "BG", levelbuf, sizeof(levelbuf), 5);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%02d%c", &bg_raw, &mode);
|
||||
sscanf(levelbuf + 2, "%02d%c", &bg_raw, &mode);
|
||||
|
||||
if (mode == 'R')
|
||||
{
|
||||
|
@ -2324,20 +2332,20 @@ int k3_get_bar_graph_level(RIG *rig, float *smeter, float *pwr, float *alc,
|
|||
|
||||
int kx3_get_bar_graph_level(RIG *rig, float *level)
|
||||
{
|
||||
char lvlbuf[16];
|
||||
char levelbuf[16];
|
||||
int retval;
|
||||
int bg_raw;
|
||||
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||
|
||||
retval = kenwood_safe_transaction(rig, "BG", lvlbuf, sizeof(lvlbuf), 4);
|
||||
retval = kenwood_safe_transaction(rig, "BG", levelbuf, sizeof(levelbuf), 4);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
|
||||
sscanf(lvlbuf + 2, "%02d", &bg_raw);
|
||||
sscanf(levelbuf + 2, "%02d", &bg_raw);
|
||||
|
||||
if (bg_raw >= 0 && bg_raw <= 10)
|
||||
{
|
||||
|
|
Ładowanie…
Reference in New Issue