X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Fanalog.c;h=da42b39c819f2cacbb6e7b73071861b995c2314d;hb=2e7cb0040a64062cb4b13fdff72995f4b5dc8769;hp=a0b81119102ff75436dcec7d0c168d50edea0a6c;hpb=031685005b022b98b5b1604cc6226c0cc2b959f8;p=libsigrok.git diff --git a/output/analog.c b/output/analog.c index a0b81119..da42b39c 100644 --- a/output/analog.c +++ b/output/analog.c @@ -1,7 +1,7 @@ /* * This file is part of the sigrok project. * - * Copyright (C) 2010 Bert Vermeulen + * Copyright (C) 2010-2012 Bert Vermeulen * Copyright (C) 2011 HÃ¥vard Espeland * Copyright (C) 2011 Daniel Ribeiro * @@ -41,7 +41,7 @@ struct context { unsigned int unitsize; int line_offset; int linebuf_len; - char *probelist[65]; + char *probelist[SR_MAX_NUM_PROBES + 1]; char *linebuf; int spl_cnt; uint8_t *linevalues; @@ -105,7 +105,7 @@ static int init(struct sr_output *o, int default_spl, enum outputmode mode) o->internal = ctx; ctx->num_enabled_probes = 0; - for (l = o->device->probes; l; l = l->next) { + for (l = o->dev->probes; l; l = l->next) { probe = l->data; if (!probe->enabled) continue; @@ -134,10 +134,10 @@ static int init(struct sr_output *o, int default_spl, enum outputmode mode) } snprintf(ctx->header, 511, "%s\n", PACKAGE_STRING); - num_probes = g_slist_length(o->device->probes); - if (o->device->plugin && sr_dev_has_hwcap(o->device, SR_HWCAP_SAMPLERATE)) { - samplerate = *((uint64_t *) o->device->plugin->get_device_info( - o->device->plugin_index, SR_DI_CUR_SAMPLERATE)); + num_probes = g_slist_length(o->dev->probes); + if (o->dev->driver && sr_dev_has_hwcap(o->dev, SR_HWCAP_SAMPLERATE)) { + samplerate = *((uint64_t *) o->dev->driver->dev_info_get( + o->dev->driver_index, SR_DI_CUR_SAMPLERATE)); if (!(samplerate_s = sr_samplerate_string(samplerate))) { g_free(ctx->header); g_free(ctx); @@ -284,7 +284,8 @@ static int data_bits(struct sr_output *o, const char *data_in, } } } else { - sr_info("short buffer (length_in=%" PRIu64 ")", length_in); + sr_info("analog out: short buffer (length_in=%" PRIu64 ")", + length_in); } *data_out = outbuf; @@ -442,7 +443,8 @@ static int data_ascii(struct sr_output *o, const char *data_in, ctx->prevsample = sample; } } else { - sr_info("short buffer (length_in=%" PRIu64 ")", length_in); + sr_info("analog out: short buffer (length_in=%" PRIu64 ")", + length_in); } *data_out = outbuf; @@ -454,7 +456,7 @@ static int data_ascii(struct sr_output *o, const char *data_in, SR_PRIV struct sr_output_format output_analog_bits = { .id = "analog_bits", - .description = "Bits (takes argument, default 64)", + .description = "Bits", .df_type = SR_DF_ANALOG, .init = init_bits, .data = data_bits, @@ -464,7 +466,7 @@ SR_PRIV struct sr_output_format output_analog_bits = { #if 0 struct sr_output_format output_analog_hex = { .id = "analog_hex", - .description = "Hexadecimal (takes argument, default 192)", + .description = "Hexadecimal", .df_type = SR_DF_ANALOG, .init = init_hex, .data = data_hex, @@ -473,7 +475,7 @@ struct sr_output_format output_analog_hex = { struct sr_output_format output_analog_ascii = { .id = "analog_ascii", - .description = "ASCII (takes argument, default 74)", + .description = "ASCII", .df_type = SR_DF_ANALOG, .init = init_ascii, .data = data_ascii,