]> sigrok.org Git - libsigrok.git/commitdiff
fluke-dmm: Add support for Fluke 87/89 DMMs.
authorMathieu Pilato <redacted>
Thu, 9 Mar 2023 15:34:07 +0000 (16:34 +0100)
committerGerhard Sittig <redacted>
Sun, 19 Mar 2023 10:42:03 +0000 (11:42 +0100)
src/hardware/fluke-dmm/api.c
src/hardware/fluke-dmm/protocol.c
src/hardware/fluke-dmm/protocol.h

index f533f1c5df7d7a2731f187b28779efea7c709944..4714997a9cd6156becf622706d4e04ac4087b29b 100644 (file)
@@ -45,7 +45,7 @@ static const uint32_t devopts[] = {
 static const char *scan_conn[] = {
        /* 287/289 */
        "115200/8n1",
-       /* 187/189 */
+       /* 87/89/187/189 */
        "9600/8n1",
        /* Scopemeter 190 series */
        "1200/8n1",
@@ -53,6 +53,8 @@ static const char *scan_conn[] = {
 };
 
 static const struct flukedmm_profile supported_flukedmm[] = {
+       { FLUKE_87, "87", 100, 1000 },
+       { FLUKE_89, "89", 100, 1000 },
        { FLUKE_187, "187", 100, 1000 },
        { FLUKE_189, "189", 100, 1000 },
        { FLUKE_287, "287", 100, 1000 },
@@ -226,7 +228,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
 
 static struct sr_dev_driver flukedmm_driver_info = {
        .name = "fluke-dmm",
-       .longname = "Fluke 18x/28x series DMMs",
+       .longname = "Fluke 8x/18x/28x series DMMs",
        .api_version = 1,
        .init = std_init,
        .cleanup = std_cleanup,
index ecb581fd708d033adf6d8582243b6ccae7870387..de565e49265728e1731844d5d419d551d4ca1737 100644 (file)
@@ -78,7 +78,7 @@ static void handle_qm_18x(const struct sr_dev_inst *sdi, char **tokens)
                *e++ = '\0';
                if (sr_atof_ascii(tokens[1], &fvalue) != SR_OK) {
                        /* Happens all the time, when switching modes. */
-                       sr_dbg("Invalid float.");
+                       sr_dbg("Invalid float: '%s'", tokens[1]);
                        return;
                }
                digits = count_digits(tokens[1]);
@@ -466,7 +466,8 @@ static void handle_line(const struct sr_dev_inst *sdi)
 
        tokens = g_strsplit(devc->buf, ",", 0);
        if (tokens[0]) {
-               if (devc->profile->model == FLUKE_187 || devc->profile->model == FLUKE_189) {
+               if (devc->profile->model == FLUKE_87 || devc->profile->model == FLUKE_89 ||
+                               devc->profile->model == FLUKE_187 || devc->profile->model == FLUKE_189) {
                        devc->expect_response = FALSE;
                        handle_qm_18x(sdi, tokens);
                } else if (devc->profile->model == FLUKE_287 || devc->profile->model == FLUKE_289) {
index 36ece3c9eda9c7d7aee5a8d0b46e57afe8eca182..b4f199369fe1d3914e03d8f71afb1751e1d28169 100644 (file)
@@ -29,7 +29,9 @@
 
 /* Supported models */
 enum {
-       FLUKE_187 = 1,
+       FLUKE_87 = 1,
+       FLUKE_89,
+       FLUKE_187,
        FLUKE_189,
        FLUKE_287,
        FLUKE_190,