sr_voltage_string(): deprecate struct sr_rational
This commit is contained in:
parent
8386096f01
commit
e0e150672a
2
proto.h
2
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_si_string_u64(uint64_t x, const char *unit);
|
||||||
SR_API char *sr_samplerate_string(uint64_t samplerate);
|
SR_API char *sr_samplerate_string(uint64_t samplerate);
|
||||||
SR_API char *sr_period_string(uint64_t frequency);
|
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,
|
SR_API char **sr_parse_triggerstring(const struct sr_dev_inst *sdi,
|
||||||
const char *triggerstring);
|
const char *triggerstring);
|
||||||
SR_API int sr_parse_sizestring(const char *sizestring, uint64_t *size);
|
SR_API int sr_parse_sizestring(const char *sizestring, uint64_t *size);
|
||||||
|
|
21
strutil.c
21
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
|
* Convert a numeric voltage value to the "natural" string representation
|
||||||
* of its voltage value.
|
* 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".
|
* 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
|
* @param v_p The voltage numerator.
|
||||||
* denominator a divisor of 1V.
|
* @param v_q The voltage denominator.
|
||||||
*
|
*
|
||||||
* @return A g_try_malloc()ed string representation of the voltage value,
|
* @return A g_try_malloc()ed string representation of the voltage value,
|
||||||
* or NULL upon errors. The caller is responsible to g_free() the
|
* or NULL upon errors. The caller is responsible to g_free() the
|
||||||
* memory.
|
* 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;
|
int r;
|
||||||
char *o;
|
char *o;
|
||||||
|
@ -173,12 +174,12 @@ SR_API char *sr_voltage_string(struct sr_rational *voltage)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (voltage->q == 1000)
|
if (v_q == 1000)
|
||||||
r = snprintf(o, 30, "%" PRIu64 "mV", voltage->p);
|
r = snprintf(o, 30, "%" PRIu64 "mV", v_p);
|
||||||
else if (voltage->q == 1)
|
else if (v_q == 1)
|
||||||
r = snprintf(o, 30, "%" PRIu64 "V", voltage->p);
|
r = snprintf(o, 30, "%" PRIu64 "V", v_p);
|
||||||
else
|
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) {
|
if (r < 0) {
|
||||||
/* Something went wrong... */
|
/* Something went wrong... */
|
||||||
|
|
Loading…
Reference in New Issue