X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Foutput%2Fanalog.c;h=5e2b7cd527b6ce0c60c7b1f3bafbb44e60d862ed;hb=cf1d5f1749fc6b6511c72563233375ac61cfb548;hp=5f77a59c2c3393c1160ea610a116e893f50cf512;hpb=28c95cc6c45ede9ec9d184d606bfc16505834429;p=libsigrok.git diff --git a/src/output/analog.c b/src/output/analog.c index 5f77a59c..5e2b7cd5 100644 --- a/src/output/analog.c +++ b/src/output/analog.c @@ -116,13 +116,15 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p sr_analog_unit_to_string(analog, &suffix); for (i = 0; i < analog->num_samples; i++) { for (l = analog->meaning->channels, c = 0; l; l = l->next, c++) { + float value = fdata[i * num_channels + c]; + const char *prefix = sr_analog_si_prefix(&value, &digits); ch = l->data; g_string_append_printf(*out, "%s: ", ch->name); - number = g_strdup_printf("%.*f", MAX(digits, 0), - fdata[i * num_channels + c]); + number = g_strdup_printf("%.*f", MAX(digits, 0), value); g_string_append(*out, number); g_free(number); g_string_append(*out, " "); + g_string_append(*out, prefix); g_string_append(*out, suffix); g_string_append(*out, "\n"); }