X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fagilent-dmm%2Fprotocol.c;h=b22fea9237c192a5f2d3512262b6069b68e84c46;hb=6ace179e6d33c9e0ad85cbd10d51bfde86993ee0;hp=580e98690a9625ecbac70e0f85457ce04696293a;hpb=8f68f36bc527f47f09445bbad1779a9fa3a22159;p=libsigrok.git diff --git a/src/hardware/agilent-dmm/protocol.c b/src/hardware/agilent-dmm/protocol.c index 580e9869..b22fea92 100644 --- a/src/hardware/agilent-dmm/protocol.c +++ b/src/hardware/agilent-dmm/protocol.c @@ -137,7 +137,7 @@ static int agdmm_send(const struct sr_dev_inst *sdi, const char *cmd, ...) serial = sdi->conn; va_start(args, cmd); - vsnprintf(buf, sizeof(buf)-3, cmd, args); + vsnprintf(buf, sizeof(buf) - 3, cmd, args); va_end(args); sr_spew("Sending '%s'.", buf); if (!strncmp(buf, "*IDN?", 5)) @@ -598,9 +598,22 @@ static int recv_conf_u124x_5x(const struct sr_dev_inst *sdi, GMatchInfo *match) devc->cur_unit[i] = SR_UNIT_HERTZ; devc->cur_mqflags[i] = 0; devc->cur_exponent[i] = 0; + } else if (!strncmp(mstr, "PULS:PWID", 9)) { + devc->cur_mq[i] = SR_MQ_PULSE_WIDTH; + devc->cur_unit[i] = SR_UNIT_SECOND; + devc->cur_mqflags[i] = 0; + devc->cur_exponent[i] = 0; + devc->cur_encoding[i] = MIN(devc->cur_encoding[i], 6); + } else if (!strncmp(mstr, "PULS:PDUT", 9)) { + devc->cur_mq[i] = SR_MQ_DUTY_CYCLE; + devc->cur_unit[i] = SR_UNIT_PERCENTAGE; + devc->cur_mqflags[i] = 0; + devc->cur_exponent[i] = 0; + devc->cur_digits[i] = 3; + devc->cur_encoding[i] = 4; } else if (!strcmp(mstr, "CONT")) { devc->cur_mq[i] = SR_MQ_CONTINUITY; - devc->cur_unit[i] = SR_UNIT_BOOLEAN; + devc->cur_unit[i] = SR_UNIT_OHM; devc->cur_mqflags[i] = 0; devc->cur_exponent[i] = 0; } else if (!strcmp(mstr, "DIOD")) { @@ -717,12 +730,13 @@ SR_PRIV const struct agdmm_recv agdmm_recvs_u128x[] = { { "^\"(\\d\\d.{18}\\d)\"$", recv_stat_u128x }, { "^\\*([0-9])$", recv_switch }, { "^([-+][0-9]\\.[0-9]{8}E([-+][0-9]{2}))$", recv_fetc }, - { "^\"(VOLT|CURR|RES|COND|CAP|FREQ|FC1|FC100) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{8}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x }, + { "^\"(VOLT|CURR|RES|CONT|COND|CAP|FREQ|FC1|FC100) ([-+][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 }, { "^\"(FREQ:[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 }, + { "^\"(PULS:PWID|PULS:PWID:[ACD]+) ([-+][0-9\\.E\\-+]+),([-+][0-9]\\.[0-9]{8}E([-+][0-9]{2}))\"$", recv_conf_u124x_5x }, { "^\"(TEMP:[A-Z]+) ([A-Z]+)\"$", recv_conf_u124x_5x }, - { "^\"(DIOD|SQU|TEMP)\"$", recv_conf_u124x_5x }, + { "^\"(DIOD|SQU|PULS:PDUT|TEMP)\"$", recv_conf_u124x_5x }, ALL_ZERO };