From: Bert Vermeulen Date: Sun, 31 Mar 2013 08:27:15 +0000 (+0200) Subject: sr_voltage_string(): deprecate struct sr_rational X-Git-Tag: dsupstream~196 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=e0e150672af8b52f7931ad827bdfb85773cfb4bb;p=libsigrok.git sr_voltage_string(): deprecate struct sr_rational --- diff --git a/proto.h b/proto.h index bba7e3f3..2ca1eaf9 100644 --- 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); diff --git a/strutil.c b/strutil.c index f9299ca6..1b65701e 100644 --- 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... */