} else if (!strcmp(mstr, "DC")) {
devc->cur_mqflags |= SR_MQFLAG_DC;
} else {
- sr_dbg("Unknown third argument.");
+ sr_dbg("Unknown first argument '%s'.", mstr);
}
g_free(mstr);
} else
static int recv_conf_u124x_5x(const struct sr_dev_inst *sdi, GMatchInfo *match)
{
struct dev_context *devc;
- char *mstr;
+ char *mstr, *m2;
sr_spew("CONF? response '%s'.", g_match_info_get_string(match));
devc = sdi->priv;
devc->cur_mqflags = 0;
devc->cur_divider = 0;
} else if(!strcmp(mstr, "RES")) {
- if (devc->mode_continuity) {
- devc->cur_mq = SR_MQ_CONTINUITY;
- devc->cur_unit = SR_UNIT_BOOLEAN;
- } else {
- devc->cur_mq = SR_MQ_RESISTANCE;
- devc->cur_unit = SR_UNIT_OHM;
- }
+ devc->cur_mq = SR_MQ_RESISTANCE;
+ devc->cur_unit = SR_UNIT_OHM;
+ devc->cur_mqflags = 0;
+ devc->cur_divider = 0;
+ } else if(!strcmp(mstr, "CAP")) {
+ devc->cur_mq = SR_MQ_CAPACITANCE;
+ devc->cur_unit = SR_UNIT_FARAD;
devc->cur_mqflags = 0;
devc->cur_divider = 0;
+ } else if(!strcmp(mstr, "FREQ")) {
+ devc->cur_mq = SR_MQ_FREQUENCY;
+ devc->cur_unit = SR_UNIT_HERTZ;
+ devc->cur_mqflags = 0;
+ devc->cur_divider = 0;
+ } else if(!strcmp(mstr, "CONT")) {
+ devc->cur_mq = SR_MQ_CONTINUITY;
+ devc->cur_unit = SR_UNIT_BOOLEAN;
+ devc->cur_mqflags = 0;
+ devc->cur_divider = 0;
+ } else if(!strncmp(mstr, "T1", 2) || !strncmp(mstr, "T2", 2)) {
+ devc->cur_mq = SR_MQ_TEMPERATURE;
+ m2 = g_match_info_fetch(match, 2);
+ if (!strcmp(m2, "FAR"))
+ devc->cur_unit = SR_UNIT_FAHRENHEIT;
+ else
+ devc->cur_unit = SR_UNIT_CELSIUS;
+ g_free(m2);
+ devc->cur_mqflags = 0;
+ devc->cur_divider = 0;
+ } else if(!strcmp(mstr, "SCOU")) {
+ /*
+ * Switch counter, not supported. Not sure what values
+ * come from FETC in this mode, or how they would map
+ * into libsigrok.
+ */
+ } else if(!strcmp(mstr, "CPER")) {
+ /*
+ * No idea what this is.
+ */
} else {
- sr_dbg("Unknown first argument.");
+ sr_dbg("Unknown first argument '%s'.", mstr);
}
g_free(mstr);
return SR_OK;
}
-/* At least the 123x and 125x appear to have this. */
static int recv_conf(const struct sr_dev_inst *sdi, GMatchInfo *match)
{
struct dev_context *devc;
{ "^([-+][0-9]\\.[0-9]{8}E[-+][0-9]{2})$", recv_fetc },
{ "^\"(VOLT|CURR|RES|CAP) ([-+][0-9\\.E\\-+]+),([-+][0-9\\.E\\-+]+)\"$", recv_conf_u124x_5x },
{ "^\"(VOLT:[ACD]+) ([-+][0-9\\.E\\-+]+),([-+][0-9\\.E\\-+]+)\"$", recv_conf_u124x_5x },
+ { "^\"(T[0-9]:[A-Z]+) ([A-Z]+)\"$", recv_conf_u124x_5x },
{ "^\"(DIOD)\"$", recv_conf },
{ NULL, NULL }
};