Merge pull request #1354 from GeoBaltz/yaesu_level2

Yaesu level2
pull/1349/head
Michael Black 2023-08-04 08:58:27 -05:00 zatwierdzone przez GitHub
commit 6c3e5a6b7f
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
12 zmienionych plików z 45 dodań i 93 usunięć

Wyświetl plik

@ -176,6 +176,8 @@ const struct rig_caps ftdx1200_caps =
// cppcheck-suppress *
[LVL_NOTCHF] = { .min = { .i = 1 }, .max = { .i = 4000 }, .step = { .i = 10 } },
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -271,6 +271,8 @@ const struct rig_caps ftdx3000_caps =
#include "level_gran_yaesu.h"
[LVL_NOTCHF] = { .min = { .i = 1 }, .max = { .i = 4000 }, .step = { .i = 10 } },
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -146,6 +146,9 @@ const struct rig_caps ft710_caps =
{
#include "level_gran_yaesu.h"
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -159,6 +159,9 @@ const struct rig_caps ft891_caps =
// cppcheck-suppress *
[LVL_RF] = { .min = { .f = 0 }, .max = { .f = 1.0f }, .step = { .f = 1.0f/30.0f } },
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -113,6 +113,7 @@ const struct rig_caps ft950_caps =
[LVL_CWPITCH] = { .min = { .i = 300 }, .max = { .i = 1050 }, .step = { .i = 50 } },
[LVL_KEYSPD] = { .min = { .i = 4 }, .max = { .i = 60 }, .step = { .i = 1 } },
[LVL_NOTCHF] = { .min = { .i = 1 }, .max = { .i = 3000 }, .step = { .i = 10 } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -164,6 +164,9 @@ const struct rig_caps ft991_caps =
.level_gran = {
#include "level_gran_yaesu.h"
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = common_dcs_list,

Wyświetl plik

@ -162,6 +162,9 @@ const struct rig_caps ftdx10_caps =
{
#include "level_gran_yaesu.h"
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -162,6 +162,9 @@ const struct rig_caps ftdx101d_caps =
{
#include "level_gran_yaesu.h"
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -99,6 +99,9 @@ const struct rig_caps ftdx101mp_caps =
.level_gran = {
#include "level_gran_yaesu.h"
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/100.0f } },
},
.ctcss_list = common_ctcss_list,
.dcs_list = NULL,

Wyświetl plik

@ -17,7 +17,7 @@
/* levels with time units */
[LVL_VOXDELAY] = { .min = { .i = 3 }, .max = { .i = 300 }, .step = { .i = 1 } },
[LVL_BKINDL] = { .min = { .i = 30 }, .max = { .i = 3000 }, .step = { .i = 1 } },
[LVL_BKIN_DLYMS] = { .min = { .i = 30 }, .max = { .i = 3000 }, .step = { .i = 1 } },
[LVL_BKIN_DLYMS] = { .min = { .i = 30 }, .max = { .i = 3000 }, .step = { .i = 1 } },
/* levels with watt units */
[LVL_RFPOWER_METER_WATTS] = { .min = { .f = .0 }, .max = { .f = 100 }, .step = { .f = 1.0f/255.0f } },
/* level with misc units */
@ -28,14 +28,14 @@
/* levels with 0-1 values -- increment based on rig's range */
[LVL_AF] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_RF] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_RFPOWER] = { .min = { .f = .05 }, .max = { .f = 1 }, .step = { .f = 1.0f/100.0f } },
[LVL_RFPOWER] = { .min = { .f = 5.0/255.0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_RFPOWER_METER] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_COMP_METER] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_ID_METER] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_VD_METER] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/100.0f } },
[LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/100.0f } },
[LVL_MONITOR_GAIN] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_COMP] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/100.0f } },
[LVL_VOXGAIN] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/100.0f } },
[LVL_ANTIVOX] = { .min = { .f = 0 }, .max = { .f = 1 }, .step = { .f = 1.0f/100.0f } },

Wyświetl plik

@ -3999,7 +3999,6 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv;
int err;
int i;
int scale;
int fpf;
char main_sub_vfo = '0';
char *format;
@ -4035,26 +4034,16 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
if (is_ft950 || is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ft710
|| is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100.;
}
else if (is_ft450 && newcat_get_rigid(rig) == NC_RIGID_FT450D)
{
scale = 100.;
}
else if (is_ftdx3000dm)
{
scale = 50;
}
else
{
scale = 255.;
}
fpf = newcat_scale_float(scale, val.f);
if ( is_ftdx3000dm ) /* No separate rig->caps for this rig :-( */
{
fpf = (int)((val.f * 50.0f) + 0.5f);
}
else
{
fpf = (int)((val.f / level_info->step.f) + 0.5f );
}
//TODO Remove when global level checking enabled
if (is_ft950 || is_ft891 || is_ft991 || is_ftdx3000 || is_ftdx3000dm
|| is_ftdx101d
|| is_ftdx101mp || is_ftdx10)
@ -4065,6 +4054,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
fpf = 5;
}
}
//endTODO
SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "PC%03d%c", fpf, cat_term);
break;
@ -4615,16 +4605,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
if (is_ft891 || is_ft991 || is_ft710 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100;
}
else
{
scale = 255;
}
fpf = newcat_scale_float(scale, val.f);
fpf = (int) ((val.f / level_info->step.f) + 0.5f );
SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "SQ%c%03d%c", main_sub_vfo, fpf,
cat_term);
@ -4808,19 +4789,10 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
//TODO Remove when full level checking enabled
if (val.f > 1.0) { RETURNFUNC(-RIG_EINVAL); }
if (is_ftdx1200 || is_ftdx3000 || is_ftdx3000dm || is_ft891 || is_ft991 || is_ft710
|| is_ftdx101d
|| is_ftdx101mp
|| is_ftdx10)
{
fpf = newcat_scale_float(100, val.f);
}
else
{
fpf = newcat_scale_float(255, val.f);
}
fpf = (int)((val.f / level_info->step.f) + 0.5f);
if (is_ftdx9000)
{
@ -4898,7 +4870,6 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
int ret_data_len;
char *retlvl;
int retlvl_len;
float scale;
char main_sub_vfo = '0';
int i;
gran_t *level_info;
@ -5454,25 +5425,6 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
switch (level)
{
case RIG_LEVEL_RFPOWER:
if (is_ft950 || is_ftdx1200 || is_ftdx3000 || is_ftdx3000dm || is_ft891
|| is_ft991 || is_ft710
|| is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100.;
}
else if (is_ft450 && newcat_get_rigid(rig) == NC_RIGID_FT450D)
{
scale = 100.;
}
else
{
scale = 255.;
}
val->f = (float)atoi(retlvl) / scale;
break;
case RIG_LEVEL_SWR:
if (retlvl_len > 3)
{
@ -5610,26 +5562,16 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
case RIG_LEVEL_AF:
case RIG_LEVEL_RF:
case RIG_LEVEL_SQL:
case RIG_LEVEL_COMP:
case RIG_LEVEL_ANTIVOX:
case RIG_LEVEL_MICGAIN:
case RIG_LEVEL_VOXGAIN:
case RIG_LEVEL_RFPOWER:
case RIG_LEVEL_MONITOR_GAIN:
val->f = (float)atoi(retlvl) * level_info->step.f;
break;
case RIG_LEVEL_SQL:
if (is_ft891 || is_ft991 || is_ft710 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100.;
}
else
{
scale = 255.;
}
val->f = (float)atoi(retlvl) / scale;
break;
case RIG_LEVEL_BKINDL:
{
int raw_value = atoi(retlvl);
@ -5903,21 +5845,6 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
val->i = atoi(retlvl) * 10;
break;
case RIG_LEVEL_MONITOR_GAIN:
if (is_ftdx1200 || is_ftdx3000 || is_ftdx3000dm || is_ft891 || is_ft991 || is_ft710
|| is_ftdx101d
|| is_ftdx101mp)
{
scale = 100.;
}
else
{
scale = 255.;
}
val->f = ((float) atoi(retlvl)) / scale;
break;
case RIG_LEVEL_NB:
// Do not scale the value, level maximum value is set to 10
val->f = (float) atoi(retlvl);

Wyświetl plik

@ -72,6 +72,8 @@ DECLARE_INITRIG_BACKEND(yaesu)
ft450d_caps = ft450_caps;
ft450d_caps.rig_model = RIG_MODEL_FT450D;
ft450d_caps.model_name = "FT-450D";
ft450d_caps.level_gran[LVL_RFPOWER].min.f = .05;
ft450d_caps.level_gran[LVL_RFPOWER].step.f = 1.0f/100.0f;
rig_register(&ft100_caps);
rig_register(&ft450_caps);
rig_register(&ft450d_caps);