]> sigrok.org Git - libsigrok.git/blobdiff - hardware/common/dmm/fs9721.c
Add initial support for the V&A VA40B multimeter.
[libsigrok.git] / hardware / common / dmm / fs9721.c
index 705da3cc19a47ae6587ee4fea9567dc03a177fdf..85de00746ca51e08bc701377b54a1d675eb09598 100644 (file)
 #include "libsigrok.h"
 #include "libsigrok-internal.h"
 
-/* Message logging helpers with subsystem-specific prefix string. */
-#define LOG_PREFIX "fs9721: "
-#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args)
-#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args)
-#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args)
-#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args)
-#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args)
-#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args)
+#define LOG_PREFIX "fs9721"
 
 static int parse_digit(uint8_t b)
 {
@@ -428,3 +421,25 @@ SR_PRIV void sr_fs9721_01_10_temp_f_c(struct sr_datafeed_analog *analog, void *i
                analog->unit = SR_UNIT_CELSIUS;
        }
 }
+
+SR_PRIV void sr_fs9721_max_c_min(struct sr_datafeed_analog *analog, void *info)
+{
+       struct fs9721_info *info_local;
+
+       info_local = (struct fs9721_info *)info;
+
+       /* User-defined FS9721_LP3 flag 'c2c1_00' means MAX. */
+       if (info_local->is_c2c1_00)
+               analog->mqflags |= SR_MQFLAG_MAX;
+
+       /* User-defined FS9721_LP3 flag 'c2c1_01' means temperature (C). */
+       if (info_local->is_c2c1_01) {
+               analog->mq = SR_MQ_TEMPERATURE;
+               analog->unit = SR_UNIT_CELSIUS;
+       }
+
+       /* User-defined FS9721_LP3 flag 'c2c1_11' means MIN. */
+       if (info_local->is_c2c1_11)
+               analog->mqflags |= SR_MQFLAG_MIN;
+
+}