X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fcommon%2Fdmm%2Fmetex14.c;h=7f4b890510c133fb6bffc7985bf2c5c946483c44;hb=c02dc3e26141a13554828be9a4ffa2def857d2b3;hp=e529727b87e17aa68e06137c53e9c8b136e5bafa;hpb=ee6cb5a417713a3080d03be44643b47131d59e2e;p=libsigrok.git diff --git a/hardware/common/dmm/metex14.c b/hardware/common/dmm/metex14.c index e529727b..7f4b8905 100644 --- a/hardware/common/dmm/metex14.c +++ b/hardware/common/dmm/metex14.c @@ -128,6 +128,8 @@ static void parse_flags(const char *buf, struct metex14_info *info) info->is_kilo = info->is_ohm = TRUE; else if (!strcasecmp(u, "MOhm")) info->is_mega = info->is_ohm = TRUE; + else if (!strcasecmp(u, "pF")) + info->is_pico = info->is_farad = TRUE; else if (!strcasecmp(u, "nF")) info->is_nano = info->is_farad = TRUE; else if (!strcasecmp(u, "uF")) @@ -148,6 +150,8 @@ static void handle_flags(struct sr_datafeed_analog *analog, float *floatval, const struct metex14_info *info) { /* Factors */ + if (info->is_pico) + *floatval /= 1000000000000ULL; if (info->is_nano) *floatval /= 1000000000; if (info->is_micro) @@ -212,6 +216,7 @@ static gboolean flags_valid(const struct metex14_info *info) /* Does the packet have more than one multiplier? */ count = 0; + count += (info->is_pico) ? 1 : 0; count += (info->is_nano) ? 1 : 0; count += (info->is_micro) ? 1 : 0; count += (info->is_milli) ? 1 : 0;