]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/agilent-dmm/protocol.c
agilent-dmm: fix support for Agilent/Keysight U1252A
[libsigrok.git] / src / hardware / agilent-dmm / protocol.c
index 8778c711c427ca9d07badd27017f0b54c4d302b4..1b0adf248f02b14c26471497a77a8bfa983461a6 100644 (file)
@@ -77,7 +77,7 @@ static const struct agdmm_job *job_next(struct dev_context *devc)
                devc->current_job++;
                if (!job_current(devc)->send)
                        devc->current_job = 0;
-       } while(job_in_interval(devc) && devc->current_job != current_job);
+       } while (job_in_interval(devc) && devc->current_job != current_job);
        return job_current(devc);
 }
 
@@ -600,7 +600,7 @@ static int recv_conf_u123x(const struct sr_dev_inst *sdi, GMatchInfo *match)
        } else if (!strcmp(mstr, "DIOD")) {
                devc->cur_mq[i] = SR_MQ_VOLTAGE;
                devc->cur_unit[i] = SR_UNIT_VOLT;
-               devc->cur_mqflags[i] = SR_MQFLAG_DIODE;
+               devc->cur_mqflags[i] = SR_MQFLAG_DIODE | SR_MQFLAG_DC;
                devc->cur_exponent[i] = 0;
                devc->cur_digits[i] = 3;
        } else if (!strcmp(mstr, "CAP")) {
@@ -626,7 +626,7 @@ static int recv_conf_u123x(const struct sr_dev_inst *sdi, GMatchInfo *match)
                } else if (!strcmp(mstr, "DC")) {
                        devc->cur_mqflags[i] |= SR_MQFLAG_DC;
                } else {
-               sr_dbg("Unknown first argument '%s'.", mstr);
+                       sr_dbg("Unknown first argument '%s'.", mstr);
                }
                g_free(mstr);
        } else
@@ -738,7 +738,7 @@ static int recv_conf_u124x_5x(const struct sr_dev_inst *sdi, GMatchInfo *match)
        } else if (!strcmp(mstr, "DIOD")) {
                devc->cur_mq[i] = SR_MQ_VOLTAGE;
                devc->cur_unit[i] = SR_UNIT_VOLT;
-               devc->cur_mqflags[i] = SR_MQFLAG_DIODE;
+               devc->cur_mqflags[i] = SR_MQFLAG_DIODE | SR_MQFLAG_DC;
                devc->cur_exponent[i] = 0;
                if (devc->profile->model == KEYSIGHT_U1281 ||
                    devc->profile->model == KEYSIGHT_U1282) {
@@ -871,7 +871,7 @@ static int recv_log(const struct sr_dev_inst *sdi, GMatchInfo *match,
        if (mstr[12] & 1)  mqflags |= SR_MQFLAG_AVG;
        if (mstr[12] & 2)  mqflags |= SR_MQFLAG_MIN;
        if (mstr[12] & 4)  mqflags |= SR_MQFLAG_MAX;
-       if (function == 5) mqflags |= SR_MQFLAG_DIODE;
+       if (function == 5) mqflags |= SR_MQFLAG_DIODE | SR_MQFLAG_DC;
        g_free(mstr);
 
        mq = mqs[function];
@@ -1017,12 +1017,14 @@ SR_PRIV const struct agdmm_recv agdmm_recvs_u125x[] = {
        { "^\"(\\d\\d.{18}\\d)\"$", recv_stat_u125x },
        { "^\\*([0-9])$", recv_switch },
        { "^([-+][0-9]\\.[0-9]{8}E[-+][0-9]{2})$", recv_fetc },
-       { "^\"(VOLT|CURR|RES|CAP|FREQ) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{8}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
-       { "^\"(VOLT:[ACD]+) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{8}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
-       { "^\"(CURR:[ACD]+) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{8}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
-       { "^\"(CPER:[40]-20mA) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{8}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
+       { "^\"(VOLT|CURR|RES|CONT|COND|CAP|FREQ) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{6}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
+       { "^\"(VOLT:[ACD]+) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{6}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
+       { "^\"(CURR:[ACD]+) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{6}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
+       { "^\"(CPER:[40]-20mA) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{6}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
+       { "^\"(PULS:PWID|PULS:PWID:[ACD]+) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{6}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x },
+       { "^\"(TEMP:[A-Z]+) ([A-Z]+)\"$", recv_conf_u124x_5x },
        { "^\"(T[0-9]:[A-Z]+) ([A-Z]+)\"$", recv_conf_u124x_5x },
-       { "^\"(DIOD)\"$", recv_conf_u124x_5x },
+       { "^\"(DIOD|PULS:[PN]DUT)\"$", recv_conf_u124x_5x },
        ALL_ZERO
 };