]> sigrok.org Git - libsigrok.git/commitdiff
gmc_mh_1x_2x: Fixed sign and AC/DC for current measurements with Metrahit <= 16.
authorMatthias Heidbrink <redacted>
Thu, 2 Jan 2014 18:38:52 +0000 (19:38 +0100)
committerMatthias Heidbrink <redacted>
Thu, 2 Jan 2014 18:38:52 +0000 (19:38 +0100)
hardware/gmc-mh-1x-2x/protocol.c

index 76b804cb499234695b84d85c1565234b9294df75..66a73e9f639965d0e5e86b3be2352275ac11bccb 100644 (file)
@@ -102,17 +102,17 @@ static void decode_ctmv_16(uint8_t ctmv, struct dev_context *devc)
 /**
  * Decode range/sign/acdc byte special chars (Metrahit 12-16).
  *
- * @param[in] spc Special characters 1 and 2 (s1 | (s2 << 4)).
+ * @param[in] rs Range and sign byte.
  */
 static void decode_rs_16(uint8_t rs, struct dev_context *devc)
 {
        sr_spew("decode_rs_16(%d) scale = %f", rs, devc->scale);
 
-       if (rs & 0x08) /* Sign */
+       if (rs & 0x04) /* Sign */
                devc->scale *= -1.0;
 
        if (devc->mq == SR_MQ_CURRENT) {
-               if (rs & 0x04) /* Current is AC */
+               if (rs & 0x08) /* Current is AC */
                        devc->mqflags |= SR_MQFLAG_AC;
                else
                        devc->mqflags |= SR_MQFLAG_DC;