diff --git a/rigs/yaesu/ft991.c b/rigs/yaesu/ft991.c index 312207274..e14a6d49e 100644 --- a/rigs/yaesu/ft991.c +++ b/rigs/yaesu/ft991.c @@ -185,6 +185,9 @@ const struct rig_caps ft991_caps = .chan_desc_sz = 0, .rfpower_meter_cal = FT991_RFPOWER_METER_CAL, .str_cal = FT991_STR_CAL, + .id_meter_cal = FT991_ID_CAL, + .vd_meter_cal = FT991_VD_CAL, + .comp_meter_cal = FT991_COMP_CAL, .chan_list = { { 1, 99, RIG_MTYPE_MEM, NEWCAT_MEM_CAP }, { 100, 117, RIG_MTYPE_EDGE, NEWCAT_MEM_CAP }, /* two by two */ diff --git a/rigs/yaesu/ft991.h b/rigs/yaesu/ft991.h index 302300c17..78b3c14a2 100644 --- a/rigs/yaesu/ft991.h +++ b/rigs/yaesu/ft991.h @@ -75,8 +75,9 @@ // Borrowed from FLRig -- Thanks to Dave W1HKJ #define FT991_RFPOWER_METER_CAL \ { \ - 6, \ + 7, \ { \ + {0, 0.0f}, \ {10, 0.8f}, \ {50, 8.0f}, \ {100, 26.0f}, \ @@ -108,6 +109,40 @@ } } +#define FT991_ID_CAL { 7, \ + { \ + { 0, 0.0f }, \ + { 53, 5.0f }, \ + { 65, 6.0f }, \ + { 78, 7.0f }, \ + { 86, 8.0f }, \ + { 98, 9.0f }, \ + { 107, 10.0f } \ + } \ +} + +/* TBC */ +#define FT991_VD_CAL { 2, \ + { \ + { 0, 0.0f }, \ + { 192, 13.8f }, \ + } \ +} + +#define FT991_COMP_CAL { 9, \ + { \ + { 0, 0.0f }, \ + { 40, 2.5f }, \ + { 60, 5.0f }, \ + { 85, 7.5f }, \ + { 135, 10.0f }, \ + { 150, 12.5f }, \ + { 175, 15.0f }, \ + { 195, 17.5f }, \ + { 220, 20.0f } \ + } \ +} + /* * Other features (used by rig_caps) * diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 6032e11a6..2ed7364e8 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -149,22 +149,27 @@ const cal_table_float_t yaesu_default_swr_cal = // TODO: Provide sane defaults const cal_table_float_t yaesu_default_alc_cal = -{ - 3, - { - {0, 0.0f}, - {128, 1.0f}, - {255, 2.0f}, - } -}; - -// TODO: Provide sane defaults -const cal_table_float_t yaesu_default_comp_meter_cal = { 2, { {0, 0.0f}, - {255, 100.0f}, + {64, 1.0f} + } +}; + +const cal_table_float_t yaesu_default_comp_meter_cal = +{ + 9, + { + { 0, 0.0f }, + { 40, 2.5f }, + { 60, 5.0f }, + { 85, 7.5f }, + { 135, 10.0f }, + { 150, 12.5f }, + { 175, 15.0f }, + { 195, 17.5f }, + { 220, 20.0f } } }; @@ -179,23 +184,21 @@ const cal_table_float_t yaesu_default_rfpower_meter_cal = } }; -// TODO: Provide sane defaults const cal_table_float_t yaesu_default_vd_meter_cal = { 2, { {0, 0.0f}, - {255, 1.0f}, + {190, 13.8f}, } }; -// TODO: Provide sane defaults const cal_table_float_t yaesu_default_id_meter_cal = { 2, { {0, 0.0f}, - {255, 1.0f}, + {100, 10.0f}, } }; @@ -5103,11 +5106,11 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) if (rig->caps->comp_meter_cal.size == 0) { - val->f = rig_raw2val_float(atoi(retlvl), &yaesu_default_comp_meter_cal) / 100; + val->f = rig_raw2val_float(atoi(retlvl), &yaesu_default_comp_meter_cal); } else { - val->f = rig_raw2val_float(atoi(retlvl), &rig->caps->comp_meter_cal) / 100; + val->f = rig_raw2val_float(atoi(retlvl), &rig->caps->comp_meter_cal); } break;