diff --git a/rigs/kenwood/ts590.c b/rigs/kenwood/ts590.c index 3389778e7..1b80a3831 100644 --- a/rigs/kenwood/ts590.c +++ b/rigs/kenwood/ts590.c @@ -461,14 +461,14 @@ static int ts590_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) switch (level) { case RIG_LEVEL_USB_AF: - kenwood_val = val.f * 10; + kenwood_val = val.f * 9; cmd = 65; // TS-590S if (rig->caps->rig_model == RIG_MODEL_TS590SG) cmd=72; SNPRINTF(levelbuf, sizeof(levelbuf), "EX%03d0000%d", cmd, kenwood_val); break; case RIG_LEVEL_USB_AF_INPUT: - kenwood_val = val.f * 10; + kenwood_val = val.f * 9; cmd = 64; // TS-590S if (rig->caps->rig_model == RIG_MODEL_TS590SG) cmd=71; SNPRINTF(levelbuf, sizeof(levelbuf), "EX%03d0000%d", cmd, kenwood_val); @@ -673,14 +673,14 @@ static int ts590_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) cmd = 65; // TS-590S if (rig->caps->rig_model == RIG_MODEL_TS590SG) cmd=72; retval = ts590_get_ex_menu(rig, cmd, 1, &levelint); - val->f = levelint / 10.0; + val->f = levelint / 9.0; return retval; case RIG_LEVEL_USB_AF_INPUT: cmd = 65; // TS-590S if (rig->caps->rig_model == RIG_MODEL_TS590SG) cmd=71; retval = ts590_get_ex_menu(rig, cmd, 1, &levelint); - val->f = levelint / 10.0; + val->f = levelint / 9.0; return retval; case RIG_LEVEL_AF: diff --git a/simulators/simts590.c b/simulators/simts590.c index 978b982ef..699d6e266 100644 --- a/simulators/simts590.c +++ b/simulators/simts590.c @@ -30,8 +30,8 @@ int keyspd = 25; int width_high = 0; int width_low = 0; int afgain = 50; -int usb_af = 5; -int usb_af_input = 2; +int usb_af = 9; +int usb_af_input = 9; int mic_gain = 50; int @@ -234,24 +234,42 @@ int main(int argc, char *argv[]) pbuf = "VS0;"; WRITE(fd, pbuf, strlen(pbuf)); } - else if (strcmp(buf, "EX0640000;") == 0) + else if (strcmp(buf, "EX0640000;") == 0) // TS-590S version { SNPRINTF(buf, sizeof(buf), "EX0640000%d;", usb_af_input); WRITE(fd, buf, strlen(buf)); } - else if (strncmp(buf, "EX0640000", 9) == 0) + else if (strncmp(buf, "EX0640000", 9) == 0) // TS-590S version { sscanf(buf, "EX0640000%d", &usb_af_input); } - else if (strcmp(buf, "EX0650000;") == 0) + else if (strcmp(buf, "EX0650000;") == 0) // TS-590S version { - SNPRINTF(buf, sizeof(buf), "EX0650000%d;", usb_af); + SNPRINTF(buf, sizeof(buf), "EX0650000%d;", usb_af); // TS-590S version WRITE(fd, buf, strlen(buf)); } - else if (strncmp(buf, "EX0650000", 9) == 0) + else if (strncmp(buf, "EX0650000", 9) == 0) // TS-590S version { sscanf(buf, "EX0650000%d", &usb_af); } + else if (strcmp(buf, "EX0710000;") == 0) // TS-590SG version + { + SNPRINTF(buf, sizeof(buf), "EX0710000%d;", usb_af_input); + WRITE(fd, buf, strlen(buf)); + } + else if (strncmp(buf, "EX0710000", 9) == 0) // TS-590SG version + { + sscanf(buf, "EX0710000%d", &usb_af_input); + } + else if (strcmp(buf, "EX0720000;") == 0) // TS-590SG version + { + SNPRINTF(buf, sizeof(buf), "EX0720000%d;", usb_af); // TS-590SG version + WRITE(fd, buf, strlen(buf)); + } + else if (strncmp(buf, "EX0720000", 9) == 0) // TS-590S version + { + sscanf(buf, "EX0720000%d", &usb_af); + } else if (strcmp(buf, "EX032;") == 0) { static int ant = 0;