Firmware version check before power meter query.

pull/759/head
Chuck Ritola 2021-08-05 02:55:41 -04:00
rodzic 407ba17c04
commit 3c76162c78
1 zmienionych plików z 14 dodań i 4 usunięć

Wyświetl plik

@ -117,7 +117,7 @@ static int rshfiq_open(RIG *rig)
} }
retval = sscanf(versionstr, "RS-HFIQ FW %d.%d", &rshfiq_version_major, &rshfiq_version_minor); retval = sscanf(versionstr, "RS-HFIQ FW %d.%d", &rshfiq_version_major, &rshfiq_version_minor);
if (retval <= 0) if (retval <= 0)
{ {
rig_debug(RIG_DEBUG_WARN, "%s: Failed to parse RS-HFIQ firmware version string. Defaulting to 2.0.\n", __func__); rig_debug(RIG_DEBUG_WARN, "%s: Failed to parse RS-HFIQ firmware version string. Defaulting to 2.0.\n", __func__);
@ -127,6 +127,11 @@ static int rshfiq_open(RIG *rig)
rig_debug(RIG_DEBUG_VERBOSE, "RS-HFIQ returned firmware version major=%d minor=%d\n", rshfiq_version_major, rshfiq_version_minor); rig_debug(RIG_DEBUG_VERBOSE, "RS-HFIQ returned firmware version major=%d minor=%d\n", rshfiq_version_major, rshfiq_version_minor);
if (rshfiq_version_major < 4)
{
rig_debug(RIG_DEBUG_WARN, "%s: RS-HFIQ firmware major version is less than 4. RFPOWER_METER support will be unavailable.\n", __func__);
}
return RIG_OK; return RIG_OK;
} }
@ -237,6 +242,11 @@ static int rshfiq_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
//Requires RS-HFIQ firmware version 4 or later //Requires RS-HFIQ firmware version 4 or later
case RIG_LEVEL_RFPOWER_METER: case RIG_LEVEL_RFPOWER_METER:
if (rshfiq_version_major <= 3)
{
return -RIG_ENAVAIL;
}
rig_flush(&rig->state.rigport); rig_flush(&rig->state.rigport);
snprintf(cmdstr, sizeof(cmdstr), "*L\r"); snprintf(cmdstr, sizeof(cmdstr), "*L\r");
@ -310,10 +320,10 @@ static int rshfiq_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break; break;
break; break;
default: default:
rig_debug(RIG_DEBUG_TRACE, "%s: Unrecognized RIG_LEVEL_* enum: %qu\n", __func__, level); rig_debug(RIG_DEBUG_VERBOSE, "%s: Unrecognized RIG_LEVEL_* enum: %qu\n", __func__, level);
return -RIG_EDOM;
break; break;
} }
return -RIG_EINVAL;
} }
const struct rig_caps rshfiq_caps = const struct rig_caps rshfiq_caps =
@ -321,7 +331,7 @@ const struct rig_caps rshfiq_caps =
RIG_MODEL(RIG_MODEL_RSHFIQ), RIG_MODEL(RIG_MODEL_RSHFIQ),
.model_name = "RS-HFIQ", .model_name = "RS-HFIQ",
.mfg_name = "HobbyPCB", .mfg_name = "HobbyPCB",
.version = "20210804.0", .version = "20210805.0",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,