]> sigrok.org Git - libsigrok.git/commitdiff
sr_voltage_string(): deprecate struct sr_rational
authorBert Vermeulen <redacted>
Sun, 31 Mar 2013 08:27:15 +0000 (10:27 +0200)
committerBert Vermeulen <redacted>
Thu, 11 Apr 2013 16:32:07 +0000 (18:32 +0200)
proto.h
strutil.c

diff --git a/proto.h b/proto.h
index bba7e3f36a33b37501855f7003ff405f20e08de1..2ca1eaf91f4b7c6e9c30504eb69cb4cebb42d49c 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -122,7 +122,7 @@ SR_API struct sr_output_format **sr_output_list(void);
 SR_API char *sr_si_string_u64(uint64_t x, const char *unit);
 SR_API char *sr_samplerate_string(uint64_t samplerate);
 SR_API char *sr_period_string(uint64_t frequency);
-SR_API char *sr_voltage_string(struct sr_rational *voltage);
+SR_API char *sr_voltage_string(uint64_t v_p, uint64_t v_q);
 SR_API char **sr_parse_triggerstring(const struct sr_dev_inst *sdi,
                const char *triggerstring);
 SR_API int sr_parse_sizestring(const char *sizestring, uint64_t *size);
index f9299ca6a08eec2219b9044c9e0657d8a1d18f24..1b65701eaf7abf0753f2143ed00b67d936b7302e 100644 (file)
--- a/strutil.c
+++ b/strutil.c
@@ -151,19 +151,20 @@ SR_API char *sr_period_string(uint64_t frequency)
 }
 
 /**
- * Convert a numeric frequency value to the "natural" string representation
- * of its voltage value.
+ * Convert a numeric voltage value to the "natural" string representation
+ * of its voltage value. The voltage is specified as a rational number's
+ * numerator and denominator.
  *
  * E.g. a value of 300000 would be converted to "300mV", 2 to "2V".
  *
- * @param voltage The voltage represented as a rational number, with the
- *                denominator a divisor of 1V.
+ * @param v_p The voltage numerator.
+ * @param v_q The voltage denominator.
  *
  * @return A g_try_malloc()ed string representation of the voltage value,
  *         or NULL upon errors. The caller is responsible to g_free() the
  *         memory.
  */
-SR_API char *sr_voltage_string(struct sr_rational *voltage)
+SR_API char *sr_voltage_string(uint64_t v_p, uint64_t v_q)
 {
        int r;
        char *o;
@@ -173,12 +174,12 @@ SR_API char *sr_voltage_string(struct sr_rational *voltage)
                return NULL;
        }
 
-       if (voltage->q == 1000)
-               r = snprintf(o, 30, "%" PRIu64 "mV", voltage->p);
-       else if (voltage->q == 1)
-               r = snprintf(o, 30, "%" PRIu64 "V", voltage->p);
+       if (v_q == 1000)
+               r = snprintf(o, 30, "%" PRIu64 "mV", v_p);
+       else if (v_q == 1)
+               r = snprintf(o, 30, "%" PRIu64 "V", v_p);
        else
-               r = snprintf(o, 30, "%gV", (float)voltage->p / (float)voltage->q);
+               r = snprintf(o, 30, "%gV", (float)v_p / (float)v_q);
 
        if (r < 0) {
                /* Something went wrong... */